Files
CM95/docs/报告/CM93_Importer_v0.2.0_离线验证报告.md
2026-09-02 09:50:12 +08:00

70 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CM93 Importer v0.2.0 离线验证报告
## 范围
本报告验证 CM93 parser、geometry 标准化和 MySQL 写入批次结构。
由于 ChatGPT 执行环境无法访问用户本机 MySQL,本报告不声称已经替用户执行 MySQL 实际插入;真实数据库验收由 `import --limit-cells 5` + `audit` 完成。
## 固定真实样本
用户提供的 147 个 A~G CM93 cell。
结果:
```text
cells 147
parse failures 0
features 100621
attributes 112746
```
与前期独立解析计数一致。
## Geometry + 写入结构回归
对 147 个 cell 全部执行:
```text
parse
→ coverage build
→ Point/Line/Area/Sounding normalization
→ embedded offset matching
→ WKB generation
→ 模拟 MySQL insert tuple / dependent-id mapping
```
结果:
```text
cells 147
features 100621
attributes 112746
geometry issues 36
unmatched coverage 4
```
36 个 geometry issue 主要为源 polygon self-intersection;v0.2.0 不自动 make-valid。
4 个 unmatched coverage 为仍有可保存几何、但 representative point 未落入 `_m_sor` coverage 的 cartographic/text 类对象;按 policy 保存 0 offset 并在 `_cm93.coverage_match_method` 中记录 `unmatched`,不静默猜测最近 coverage。
## 精度规则
- Python float / C double
- MySQL Geometry double
- CM93 Mercator `6378388.0`
- 不 round
- 不 simplify
- 不 quantize
- sounding 原始 X/Y/Z 同时保存
- raw feature / raw attribute / decoded CM93 table block 保存
## 下一验证门槛
用户机器:
```powershell
cm93db import --scale G --limit-cells 5
cm93db audit --sample-cells 5
```
只有数据库实际写入和 WKB 读回精度审计 PASS 后,再启动 30,097 cell 全量导入。