Files
CM95/docs/CM95_21张PBF对照审计_v1.md

3.8 KiB
Raw Permalink Blame History

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 扩展:

  1. bottom-material-labels 排除 spot_sounding;
  2. 新增 spot-sounding-labels;
  3. spot sounding 从 z12 开始显示;
  4. 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。