2.7 KiB
2.7 KiB
CM95 S-52 → MapLibre PoC 阶段报告 v2
日期:2026-09-16
阶段结论
S-52 已正式接入 CM95 PBF Builder 的可选路径,并在 Linux + 真实 CM93JAPAN Dataset ID=1 上完成 PBF 对照验证。
第一阶段提交:fb228fb0ed6345a5bf87915f93bc3e321c63336e。
本阶段保持 fail-safe:未传入 --s52-lookups 时,现有 Builder 行为不变;正式 production release 尚未切换到 S-52。
接入内容
Cm95TileBuilder新增可选 S-52 Lookup Registry;- CLI
build-tile/build-sample-aoi新增:--s52-lookups;--s52-point-table Simplified|Paper;
- delivery PBF 允许保留
s52_*属性; - 已有映射对象自动附加 S-52 Lookup/Symbol/CSP 元数据;
- 当前无人工 mapping 的
BOYLAT/TOPMAR可通过 S-52 fallback 进入navigation_marks。
点符号模式选择
数据库对照显示 Paper 更适合当前目标:
LIGHTS:31978 / 31978 →LIGHTS05;BCNLAT:3744 / 3744 静态 Symbol;BOYLAT:5565 / 5565 静态 Symbol;TOPMAR:11166 / 11166 命中,其中 5320 为静态 Symbol,5846 为TOPMAR01;Simplified模式下 TOPMAR 大多落入空指令默认规则。
因此本阶段默认使用 Paper,同时保留 Simplified 作为可选模式。
z10 对照
Tile:10/914/385
- control:355 Feature / 15 Layer;
- S-52:355 Feature / 15 Layer;
- 原有 Feature ID 无增删;
- 已有 navigation mark 获得 S-52 元数据;
LIGHTS05CSP 已进入 PBF。
z12 高密度对照
Tile:12/3537/1637
- control:1424 Feature;
- S-52:1489 Feature;
- 净增:65;
- 删除:0;
- 新增
BOYLAT:29; - 新增
TOPMAR:36; NO_RULE:97 → 32;S52_FALLBACK:65。
新增对象全部进入 navigation_marks,保持确定性 FID。
该 tile 中 S-52 字段统计:
s52_lookup_rcid:97;s52_symbol_code:36;s52_csp:88;LIGHTS05:58;TOPMAR01:30。
Style / Sprite 闭合
该 z12 tile 实际引用的静态 S-52 Symbol:
BCNGEN61;BOYCAN61;BOYCON60;BOYPIL60;BOYPIL61;TOPMAR01。
全部存在于当前 PoC sprite.json,缺失数为 0。
验证结论:s52_style_sprite_tile_contract=PASS。
当前明确未完成
LIGHTS05尚未实现为 NavSea 动态 S-52 Renderer;TOPMAR01的平台 rigid/floating 组合逻辑尚未在 Builder/Renderer 执行;BOYSPH79仍是上游 Symbol 定义缺口,继续 fail-closed;- CM93
TOWERS/CHIMNY/MONUMT→ S-57LNDMRK规范化尚未实施; - 正式 production plan / release 尚未启用 S-52 参数。
本阶段验证了技术路线和 Builder 接口,不宣称已完成全部 S-52 CSP。