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

7.1 KiB
Raw Blame History

NavSea Object -> Render Mapping Table v2

版本v2 Draft
用途:定义对象语义到渲染语义的映射规则,作为 taxonomy -> render_semantics 的中间规范。

1 设计原则

  • 先按 canonical_object_type 映射
  • 再按几何类型和旧字段细化具体样式
  • 样式层优先读取 chart_* 字段
  • 旧字段只保留为细节兜底,不再作为主判定入口

2 输出字段

映射表的目标输出至少包括:

  • chart_render_type
  • chart_symbol_family
  • chart_symbol_code
  • chart_line_style
  • chart_fill_style
  • chart_text_style
  • chart_priority
  • chart_label_text
  • chart_label_subtext
  • light_color_code
  • light_character_code
  • hazard_class
  • hazard_severity
  • area_usage_class

3 首批强制覆盖对象

下表是建议优先落地的 v2 核心映射对象。

canonical_family canonical_object_type geometry chart_render_type symbol_family symbol_or_style priority legacy_detail_dependency
navigation_aid 港湾灯台 Point symbol navigation_light chart_symbol_code=lighthouse 900 灯色 灯略記 表示用番号
navigation_aid 灯柱 Point symbol navigation_light chart_symbol_code=light_beacon 890 灯色 灯略記 形状分類番号
navigation_aid 灯浮標 Point symbol navigation_light chart_symbol_code=light_buoy 880 灯色 灯略記 形状分類番号
navigation_aid AIS航标 Point symbol navigation_light chart_symbol_code=vais 870 表示用番号
navigation_aid 浮標 Point symbol navigation_mark chart_symbol_code=buoy 860 形状分類番号 表示用番号
navigation_aid 立標 Point symbol navigation_mark chart_symbol_code=beacon 860 形状分類番号 表示用番号
hazard 暗岩 Point symbol hazard chart_symbol_code=rock_awash 910 分類番号
hazard 岩礁 Point symbol hazard chart_symbol_code=reef 900 分類番号
hazard 礁盘 Polygon fill hazard chart_fill_style=reef_area 860 分類番号
hazard 魚礁 Polygon fill hazard chart_fill_style=reef_area 850 分類番号 表示用番号
hazard 沈船 Point symbol hazard chart_symbol_code=wreck 905 分類番号
hazard 障害物 Point symbol hazard chart_symbol_code=obstruction 895 分類番号
hazard 潜堤 Line/Polygon line/fill hazard chart_line_style=submerged_reef / chart_fill_style=hazard_area 845 分類番号
depth 水深点 Point label depth_mark chart_text_style=depth_text 700 水深値(m)
depth 水深区 Polygon fill depth_zone chart_fill_style=depth_zone_* 650 分類番号
depth 等深线 LineString line contour chart_line_style=contour_major_or_minor 640 表示用番号
depth 概略等深线 LineString line contour chart_line_style=contour_overview 620 表示用番号
boundary 危険界 LineString line boundary chart_line_style=hazard_boundary 800 分類番号
boundary 基本线 LineString line boundary chart_line_style=baseline 780 分類番号
boundary 航路境界 LineString line boundary chart_line_style=route_boundary 770 分類番号
usage_area 航路 Polygon/LineString fill/line usage_area chart_fill_style=route_area / chart_line_style=route_axis 760 分類番号
usage_area 錨地 Polygon fill usage_area chart_fill_style=anchorage_area 750 分類番号
usage_area 錨泊地 Polygon fill usage_area chart_fill_style=anchorage_area 750 分類番号
usage_area 漁業区 Polygon fill usage_area chart_fill_style=fishery_area 740 分類番号
usage_area パイロットステーション Point symbol usage_area chart_symbol_code=pilot_station 735 表示用番号
facility 防波堤 LineString/Polygon line/fill facility chart_line_style=breakwater 730 分類番号
facility 橋梁 LineString line facility chart_line_style=bridge 725 高さ(m)
facility 海底电缆 LineString line facility chart_line_style=subsea_cable 720 分類番号
facility 高さ制限 Point/LineString label/line facility chart_text_style=clearance_label 715 高さ(m) 高さ/深度(m)
seabed 底質 Point label seabed chart_text_style=seabed_text 500 名称
place 海上地名 Point label place chart_text_style=place_name_sea 450 日本語地名 英文字地名
place 陆上地名 Point label place chart_text_style=place_name_land 440 日本語地名 英文字地名

4 细化规则

4.1 灯标对象

主映射依据:

  • canonical_object_type

细化字段:

  • 灯色 -> light_color_code
  • 灯略記 -> light_character_codechart_label_subtext
  • 名称 -> chart_label_text
  • 表示用番号 / 形状分類番号 决定具体 icon 变体

说明:

  • 灯弧不必作为核心渲染对象单独保留
  • 明弧/分孤 可以继续保留,用于特殊产品或工程校验

4.2 危险物

主映射依据:

  • canonical_object_type

细化输出:

  • hazard_class
  • hazard_severity

建议:

  • 暗岩沈船 默认 hazard_severity >= major
  • 魚礁 按区域危险对象处理,但允许叠加 area_usage_class=fishery

4.3 水深和等深线

建议:

  • 水深点统一转成 chart_render_type=label
  • 水深区统一转成 chart_render_type=fill
  • 等深线和概略等深线统一转成 chart_render_type=line

细化:

  • 表示用番号 或原 line layer 类型决定 contour_major / contour_minor / contour_overview

4.4 边界和区域

建议:

  • “区域本体”与“边界线”分别映射
  • 航路、锚地、鱼业区优先落到 usage_area
  • 基本线、危险界、航路境界优先落到 boundary

5 label 映射规则

对象类型 chart_label_text chart_label_subtext chart_text_style
港湾灯台 / 灯柱 / 灯浮標 名称 灯略記 light_label
水深点 格式化 depth_value_m depth_text
海上地名 日本語地名 优先,其次 英文字地名 place_name_sea
陆上地名 日本語地名 优先,其次 英文字地名 place_name_land
高さ制限 规范化高度文本 clearance_label

6 v2 映射必须输出的附加字段

除了图形类型本身,映射表还应尽量输出:

  • chart_priority
  • chart_visibility_min
  • chart_visibility_max
  • chart_collision_group

原因:

  • 这些字段能把样式层里的很多散乱 zoom/filter 规则收回到数据侧

7 v2 当前缺口

相较 v1本表仍需继续扩充以下对象

  • 导灯
  • 灯船
  • 信号所
  • 制限区域
  • 未测深区
  • 干出区
  • 海底管线
  • 岸壁 / 栈桥 / 码头
  • 海底线
  • 水文现象对象

这些建议作为 v2.1 的扩展项。