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
基本流程
- python3.12 -m venv .venv
- 激活 .venv
- pip install -r requirements.txt
- cp .env.example .env
- 编辑 CM95_PG_* 指向 NAS PostgreSQL
- cm95pg env-check
- cm95pg db-init --create-database
- cm95pg db-check
- cm95pg scan
- cm95pg import
- 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。
Description
Languages
Python
91.8%
HTML
4.8%
PowerShell
3.4%