Files
pbf/NavSea_Style_Render_Change_Audit_Karatsu_10nm.md
2026-03-17 19:48:15 +08:00

6.9 KiB
Raw Permalink Blame History

NavSea 原始样式与使用版样式渲染变更审计

范围:唐津中心 10 海里 AOI
原始样式:style.json
使用版样式:navsea-delivery.json
使用版瓦片:/home/wwwroot/pbf-delivery-karatsu-10nm

1. 结论

结合原始 style.json 和使用版样式来看,渲染的“对象内容”没有减少,但渲染“表达方式”已经明显改变。

最核心的判断是:

  • AOI 内真实存在的 37source-layer,原始样式和使用版样式都覆盖到了
  • 但样式层组织从 87 层收成了 50
  • 很多 source-layer 的渲染被重新归并、重命名、重分层
  • 样式直接依赖的旧字段减少了,新版开始混合使用旧字段和新语义字段

一句话总结:

这不是“少画了东西”,而是“同一批东西换了一套渲染组织方式”。

2. 总体统计

2.1 样式规模

  • 原始样式层数:87
  • 使用版样式层数:50

2.2 AOI 内实际图层覆盖

  • AOI 内实际存在的 source-layer37
  • 原始样式覆盖到的 AOI source-layer37
  • 使用版样式覆盖到的 AOI source-layer37

结论:

  • 在唐津 10 海里范围内,使用版并没有漏掉某个实际存在的 source-layer
  • 变化主要不是“有没有画”,而是“怎么画”

3. 字段依赖变化

3.1 原始样式直接读取的字段数

原始样式通过 ["get", ...] 直接依赖的字段共 21 个,主要包括:

  • 分類番号
  • 名称
  • 名称補助
  • 形状分類番号
  • 日本語地名
  • 明弧/分孤
  • 水深値(m)
  • 灯略記
  • 灯色
  • 英文字地名
  • 表示位置
  • 表示用番号
  • 角度
  • 高さ(m)
  • 高さ/深度(m)
  • cog
  • delay
  • hdg
  • length
  • rot
  • sog

3.2 使用版样式直接读取的字段数

使用版样式直接依赖的字段共 13 个:

  • canonical_object_type
  • 分類番号
  • 名称
  • 名称補助
  • 形状分類番号
  • 日本語地名
  • 水深値(m)
  • 灯略記
  • 灯色
  • 英文字地名
  • 表示位置
  • 表示用番号
  • 高さ/深度(m)

3.3 差异判断

使用版不再直接读取这些旧字段:

  • 明弧/分孤
  • 角度
  • 高さ(m)
  • cog
  • delay
  • hdg
  • length
  • rot
  • sog

同时新增了新语义字段依赖:

  • canonical_object_type

结论:

  • 使用版已经开始摆脱部分旧海图编码和动态字段依赖
  • 但当前仍保留了对 分類番号形状分類番号表示用番号灯色 等旧字段的依赖

4. AOI 内渲染组织变化

4.1 没变的部分

  • 两边都覆盖了 AOI 内的全部 37source-layer
  • 本 AOI 内不存在“旧样式能画、使用版完全不画”的数据层

4.2 变化最大的部分

以下 source-layer 在使用版里被显著重组了:

  • L概略等深線
    • 原始样式:8 个样式层
    • 使用版:1 个样式层 depth-contours-major
  • L等深線
    • 原始样式:5 个样式层
    • 使用版:2 个样式层 depth-contours + depth-contour-labels
  • P基本線
    • 原始样式:4 个样式层
    • 使用版:6 个样式层
    • 说明:使用版把同一面层按语义拆成了多种面表现,比如 sea-area-filltidal-flatriver-waterunsurveyed-areashoal-danger-area
  • p航路標識群
    • 原始样式:5 个样式层
    • 使用版:4 个样式层
  • p底質
    • 原始样式:1 个样式层
    • 使用版:2 个样式层
    • 说明:使用版把底质本体和文字拆开了

4.3 被简化的部分

这些层在使用版中从多层压缩为单层:

  • P橋りょう等構造物2 -> 1
  • P漁具定置箇所2 -> 1
  • P潜堤2 -> 1
  • p地名2 -> 1
  • p地名陸2 -> 1
  • p高さ制限2 -> 1

结论:

  • 使用版不是简单复制旧样式
  • 使用版对不少对象做了“压层”和“归并”
  • 同时也对少数核心面层做了“按语义细分”

5. 典型图层对比

5.1 L739

  • 原始样式:#b#d2#d5#d10#BK#at#L739
  • 使用版:water-boundary

变化:

  • 从旧式缩尺/颜色编码命名,变成语义命名

5.2 L741

  • 原始样式:#b#d2#d5#d10#BS#at#L741
  • 使用版:regulatory-boundary

变化:

  • 图层语义比旧版更清楚

5.3 L海底地形

  • 原始样式:#b#海底地形#b#C000
  • 使用版:bathymetry-supportbathymetry-depth-labels

变化:

  • 使用版明确拆成“支撑线”和“水深数字”

5.4 L等深線

  • 原始样式:#b#L等深線#d2#L等深線#d5#L等深線#d10#L等深線#b#d2#d5#d10#C140
  • 使用版:depth-contoursdepth-contour-labels

变化:

  • 原始样式按缩尺和强调层堆叠
  • 使用版变成“线 + 标注”的直接语义拆分

5.5 P基本線

  • 原始样式:#b#at#P基本線#d2#at#P基本線#d5#at#P基本線#d10#at#P基本線
  • 使用版:
    • sea-area-fill
    • tidal-flat
    • river-water
    • unsurveyed-area
    • shoal-danger-area
    • coast-structures-area

变化:

  • 使用版在这一层上变化最大
  • 同一个原始面层被拆成多个语义面层
  • 视觉表达会比旧样式更“语义化”

6. 原始样式中存在、使用版中不再出现的 source-layer

原始样式定义了 57source-layer,使用版只有 37 个。

但这里要注意:

  • 20 个差异层并不是“使用版漏画了 AOI 数据”
  • 它们是原始样式里定义过、但在当前 AOI 与当前使用版中未出现的层

主要包括:

  • L700
  • L701
  • L702
  • L725
  • L738
  • L740
  • L748
  • L749
  • L危険界
  • L航路
  • P721ククリ
  • P730ククリ
  • P投錨注意障害物透明
  • P施設・境界線等透明
  • P航路
  • P航路ククリ
  • P誘導線ククリ
  • dummy
  • pパイロットステーション
  • p航路境界等

结论:

  • 这是“原始样式定义范围更大”
  • 不是“使用版把 AOI 内实际对象删掉了”

7. 最终判断

结合原始样式和使用版样式来看,渲染变化可以归纳成三类:

7.1 没变的

  • AOI 内实际要画的数据层都还在
  • 使用版没有丢掉任何 AOI 内真实存在的 source-layer

7.2 变了但不属于缺失

  • 图层命名体系从旧的技术型命名变成了新的语义命名
  • 很多对象从“按缩尺堆层”变成“按语义拆层”
  • 样式总层数明显减少
  • 旧字段依赖减少,新语义字段开始进入样式

7.3 需要继续注意的

  • 使用版虽然是交付版,但还没有完全摆脱旧字段体系
  • 某些旧样式细节如果依赖 明弧/分孤角度高さ(m) 等字段,在使用版里会弱化或消失
  • 现在的变化更偏“渲染体系重构”,不是“数据减少”

一句话总结:

从原始 style.json 切到使用版样式后,唐津 10 海里范围内“画的对象”没有少,但“画法”已经发生了统计上明确可见的重构。