Files
CM95/codex/10_第一阶段接手任务.md
2026-09-02 09:50:12 +08:00

88 lines
2.1 KiB
Markdown
Raw Permalink 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.
# 已归档:该任务已由 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 版本
- 已知限制