# CM95 PostgreSQL/PostGIS Pipeline 独立的数据链: CM95/CM93 Japan 原始数据 → 冻结解析与几何标准化 → PostgreSQL + PostGIS 母数据库 → 确定性 FID / mapping / S-52 → MVT/PBF 本工程不依赖 MySQL,也不会读取或修改旧 MySQL 数据库。 旧工程 /root/sourceserver/cm95 仅作为解析、几何与 PBF 行为参考。 ## 环境 - Python 3.12 - PostgreSQL 14+ - PostGIS - psycopg 3 ## 基本流程 1. python3.12 -m venv .venv 2. 激活 .venv 3. pip install -r requirements.txt 4. cp .env.example .env 5. 编辑 CM95_PG_* 指向 NAS PostgreSQL 6. cm95pg env-check 7. cm95pg db-init --create-database 8. cm95pg db-check 9. cm95pg scan 10. cm95pg import 11. cm95pg audit --precision-samples 128 NAS 已预先建立数据库时,第 7 步不需要 --create-database。 ## PBF 导入完成后先建立 FID manifest,再创建 production plan 并生成 PBF。 mapping、tile policy、S-52、sprite/style 继续沿用参考工程已经验证的配置。 ## Global CM95 2014 segmented pipeline 全球输入使用 `/mnt/sda1/CM93_2014.zip`,独立数据库 `cm95_global_2014`。运行器 `cm95global` 每次只执行一个 segment 后退出,由 systemd timer 启动下一段;默认固定 CPU0/1、低优先级、资源健康闸门、64 个 source/import/audit shard,以及 coverage/sparse z0-z12 PBF ledger。 详见 `docs/Global_CM95_Pipeline_v1.md`。全球基础 PBF 与 bathymetry v5 保持两个独立长任务/产物。已确认损坏且无法可靠恢复的极少数 source cell 使用 path+SHA256+size 绑定的 quarantine 清单隔离;不修改原始 ZIP,也不放宽 CM93 parser。