CM93 MySQL importer validated baseline
This commit is contained in:
55
codex/ARCHITECTURE.md
Normal file
55
codex/ARCHITECTURE.md
Normal 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 是审计入口。
|
||||
Reference in New Issue
Block a user