3.8 KiB
CM95 21 张 PBF 与现有 NavSea/NEWPEC 对照审计 v1
1. 结论
PBF-03 v1.1 的 MVT 结构、extent、tile buffer、FID 稳定性和 scale-region 机制通过;但发现两个正式语义/样式契约问题,因此 v1.1 不冻结,进入 v1.2。
2. 已通过项目
- 新 delivery 与参考 AOI 均为完全相同的 21 个
z/x/y路径。 - MVT layer version 为 2。
- extent 与当前工作参考一致:z10/z11 为 4096,z12 为 1048576。
- 所有 geometry command 可解析;无空 geometry、无截断 geometry。
- 新 PBF 坐标均落在现有 8px buffer 契约内。
- delivery feature ID 均能在同 tile、同 source-layer 的 engineering PBF 中找到。
- 以
(source_id, output source-layer)检查,共 6067 个键;其中 890 个跨 tile 重复出现,MVT ID 不稳定数为 0。 - 同一 tile/source-layer 内未发现重复 MVT ID。
- scale-region 实现采用
coverage.difference(occupied),详细比例尺优先、低比例尺只补空缺。 - 对多比例尺并存的点图层做 30m 内近重复检查,未发现跨比例尺重复点。
- 21 张 delivery 报告:hard-gate unmapped = 0;nav name conflicts = 0。
3. 问题 A:DEPARE 非标准水深区间不被现有 style 消费
v1.1 会直接把 CM95 DRVAL1/DRVAL2 拼成 chart_fill_style。当前 NavSea style 只接受固定区间,所以以下 24 个水深面在现有 style 下不会显示:
| 值 | 数量 |
|---|---|
| depth_zone_13-20m | 7 |
| depth_zone_7.5-10m | 7 |
| depth_zone_20-50m | 7 |
| depth_zone_12-20m | 1 |
| depth_zone_9.6-10m | 1 |
| depth_zone_14-20m | 1 |
v1.2 修正:将任意 CM95 深度范围归一到“能够完整包含原范围的最小现有 NavSea 区间”。例如:
- 7.5–10m → 5–10m
- 9.6–10m → 5–10m
- 12–20m / 13–20m / 14–20m → 10–20m
- 20–50m → 20–100m
原始 DRVAL1/DRVAL2 仍保留在 engineering trace/source attributes,不修改 MySQL。
4. 问题 B:SOUNDG 与底质文字共用过宽 style filter
v1.1 在 21 张 delivery PBF 中输出的 seabed_text_point:
- z10:spot_sounding 71,seabed_material 9,seabed_area 1
- z11:spot_sounding 590,seabed_material 83,seabed_area 2
- z12:spot_sounding 2269,seabed_material 250,seabed_area 10
参考 PBF 的 seabed_text_point 只在 z12 出现,共 273 个,全部为 canonical_object_type=seabed_material。
当前 bottom-material-labels 仅判断 has(chart_label_text),因此 v1.1 的 SOUNDG 在 z11/z12 会被当作底质文字直接显示,并且 text-allow-overlap=true,会造成测深数字过密。
v1.2 不改变 source-layer,仍使用 seabed_text_point,但提供最小 style 扩展:
bottom-material-labels排除spot_sounding;- 新增
spot-sounding-labels; - spot sounding 从 z12 开始显示;
text-allow-overlap=false,由 MapLibre 的符号碰撞机制控制密度。
这样不增加新的正式 source-layer,也不丢 SOUNDG hard-gate 数据。
5. 参考数据差异,不判为生成器错误
参考 NEWPEC 与 CM95 是不同上游数据,因此 Feature 数量不要求一致。例如:
- 新 z12:4770 个 feature;参考 z12:11383 个 feature。
- 参考含大量
onshore_structure_line、baseline_outline、hole_area等;CM95 当前映射及源对象组成不同。 - navigation_marks 全 AOI 数量接近:CM95 新 PBF 118,参考 123。
- CM95 直接助航名称明显少于参考,这是源数据可证明关系差异;不得用参考名称反灌。
6. v1.2 冻结门槛
重新生成 21 张后必须满足:
- build report audit:PASS;
- hard-gate unmapped = 0;
- nav name conflicts = 0;
- style contract audit:
contract_unmatched_count = 0; - z10/z11/z12 extent 不变;
- FID 稳定性不退化;
- SOUNDG 在 z11 属于有意 zoom-hidden,在 z12 进入独立 sounding style;
- 不修改 importer、geometry 或 MySQL schema。