88 lines
2.1 KiB
Markdown
88 lines
2.1 KiB
Markdown
# 已归档:该任务已由 v0.2.0 实现
|
||
|
||
当前请执行 `codex/20_导入与审计接手.md`。
|
||
|
||
---
|
||
|
||
# Codex:CM93 → MySQL 第一阶段接手任务
|
||
|
||
## 目标
|
||
|
||
在现有 starter 基线上完成可实际导入大目录 CM93 的 importer。
|
||
|
||
最终标准不是“部分对象能显示”,而是:
|
||
- cell 可完整解析;
|
||
- feature/attribute 计数可核对;
|
||
- geometry 可追踪;
|
||
- 数据可断点续导;
|
||
- 精度满足 `docs/精度规范.md`。
|
||
|
||
## 开始前
|
||
|
||
1. 完整阅读:
|
||
- `AGENTS.md`
|
||
- `README.md`
|
||
- `docs/精度规范.md`
|
||
- `docs/数据库设计.md`
|
||
2. 运行:
|
||
- `python --version`
|
||
- `cm93db env-check`
|
||
- `cm93db db-check`
|
||
3. 不修改第二阶段 PBF 范围。
|
||
|
||
## 必做清单
|
||
|
||
- [ ] 完成 CM93 256-byte substitution decoder 的独立实现
|
||
- [ ] 完成 prolog + 128-byte header
|
||
- [ ] 校验 cell 文件长度公式
|
||
- [ ] 完成 vector record table
|
||
- [ ] 完成 2D point table
|
||
- [ ] 完成 3D sounding table
|
||
- [ ] 完成 feature record table
|
||
- [ ] 按 `CM93OBJ.DIC` 映射 object class
|
||
- [ ] 按 `CM93ATTR.DIC/ATTRLUT.DIC` typed decode attribute
|
||
- [ ] 支持 B/S/R/C/L/W/G 属性类型
|
||
- [ ] 保留 raw feature / raw attribute
|
||
- [ ] 完成 Point
|
||
- [ ] 完成 Line edge chain + reverse flag
|
||
- [ ] 完成 Area ring 组装
|
||
- [ ] 完成 Sounding 深度
|
||
- [ ] 完成 `_m_sor` coverage
|
||
- [ ] 保存 `_wgsox/_wgsoy`
|
||
- [ ] 形成并文档化 WGS offset policy
|
||
- [ ] 标准化 geometry 为 WGS84 double
|
||
- [ ] 完成 MySQL bulk insert
|
||
- [ ] 每 cell 独立事务
|
||
- [ ] DONE 跳过 / FAILED 重试
|
||
- [ ] 未知 ID 不静默丢弃
|
||
- [ ] 完成 import summary
|
||
- [ ] 增加精度审计命令
|
||
- [ ] 用实际 CM93 小样本全链路验证
|
||
|
||
## 禁止
|
||
|
||
- 不做 PBF
|
||
- 不 simplify
|
||
- 不 quantize
|
||
- 不为了通过 geometry validity 静默改数据
|
||
- 不使用 MySQL 8 专用 SQL
|
||
- 不复制 OpenCPN GPL 源码
|
||
|
||
## 完成报告
|
||
|
||
写入:
|
||
`docs/报告/CM93_MySQL导入器完成报告_v1.md`
|
||
|
||
至少包括:
|
||
- 实现范围
|
||
- 实际样本
|
||
- cell 数
|
||
- source/imported feature 数
|
||
- attribute 数
|
||
- unknown 数
|
||
- geometry invalid/repaired 数
|
||
- 精度审计结果
|
||
- MySQL 版本
|
||
- Python 版本
|
||
- 已知限制
|