CM93 MySQL importer validated baseline

This commit is contained in:
kaotei
2026-09-02 09:50:12 +08:00
commit 9d56592cad
62 changed files with 24778 additions and 0 deletions

55
codex/ARCHITECTURE.md Normal file
View File

@@ -0,0 +1,55 @@
# 架构设计
## 数据流
CM93 原始目录
→ SourceScanner
→ DictionaryLoader
→ CellBinaryReader
→ FeatureDecoder
→ CoverageResolver
→ PrecisionProjection
→ ChartFeature Model
→ MySQLBatchWriter
→ MySQL 母数据库
## 分层
### `cm93`
只负责格式解析和坐标/几何语义,不知道 MySQL。
### `model`
定义稳定中间模型。
### `database`
负责 MySQL 5.7 写入、事务、批量提交和恢复。
### `cli`
只做命令组织。
## 数据库与 CM93 边界
写入数据库以后:
- geometry 已标准化为 WGS84 经纬度;
- 原始 CM93 元数据仍保留;
- 后续 PBF builder 不需要理解 CM93 二进制。
## Cell 事务
每个 cell 为独立事务边界:
DISCOVERED → IMPORTING → DONE
失败:
IMPORTING → FAILED
再次运行时:
- DONE 默认跳过;
- FAILED 可重试;
- 强制参数可重新导入指定 cell。
## Geometry
母数据库保留标准化 geometry,但不依赖 geometry 作为唯一事实来源。
原始记录和 source index 是审计入口。