Initial import of NavSea pbf project

This commit is contained in:
OpenAI Codex
2026-03-17 19:48:15 +08:00
commit 5f3f7409b3
84 changed files with 43889 additions and 0 deletions

View File

@@ -0,0 +1,123 @@
ruleset: navsea_field_name_rules_v1
bundle_id: navsea-core
version: v1-draft
rules:
- field_name_jp: fid
field_name_std: fid_legacy_raw
field_group: identity
keep_in_delivery: false
keep_in_engineering: true
normalization_class: reversible_identity
notes: Preserve the original legacy fid only in engineering and trace outputs.
- field_name_jp: at
field_name_std: at_raw
field_group: source_legacy
keep_in_delivery: false
keep_in_engineering: true
normalization_class: raw_blob
notes: Raw attribute pack remains engineering-only by default.
- field_name_jp: 分類番号
field_name_std: class_code
field_group: source_legacy
keep_in_delivery: true
keep_in_engineering: true
normalization_class: legacy_render_code
notes: Legacy class code used during transition and audits.
- field_name_jp: 形状分類番号
field_name_std: shape_class_code
field_group: source_legacy
keep_in_delivery: true
keep_in_engineering: true
normalization_class: legacy_render_code
notes: Legacy shape class code used during transition and audits.
- field_name_jp: 表示用番号
field_name_std: display_code
field_group: source_legacy
keep_in_delivery: true
keep_in_engineering: true
normalization_class: legacy_render_code
notes: Legacy display code retained until all rendering migrates to chart_* fields.
- field_name_jp: 灯色
field_name_std: light_color_raw_code
field_group: light
keep_in_delivery: true
keep_in_engineering: true
normalization_class: field_value_normalization
notes: Legacy raw color code maps into light_color_code.
- field_name_jp: 灯略記
field_name_std: light_character_remark
field_group: light
keep_in_delivery: true
keep_in_engineering: true
normalization_class: content_text
notes: User-visible light remark should remain reversible.
- field_name_jp: 明弧/分孤
field_name_std: light_sector_remark
field_group: light
keep_in_delivery: true
keep_in_engineering: true
normalization_class: field_value_normalization
notes: Legacy light sector remark maps into light_sector_mode and trace fields.
- field_name_jp: 表示位置
field_name_std: label_position_code_legacy
field_group: labels
keep_in_delivery: true
keep_in_engineering: true
normalization_class: field_value_normalization
notes: Legacy label position code maps into chart_label_position_code.
- field_name_jp: 名称
field_name_std: name_ja
field_group: labels
keep_in_delivery: true
keep_in_engineering: true
normalization_class: content_text
notes: Primary Japanese name content must remain available.
- field_name_jp: 名称補助
field_name_std: name_subtext_ja
field_group: labels
keep_in_delivery: true
keep_in_engineering: true
normalization_class: content_text
notes: Secondary Japanese name content must remain available.
- field_name_jp: 日本語地名
field_name_std: place_name_ja
field_group: labels
keep_in_delivery: true
keep_in_engineering: true
normalization_class: content_text
notes: Japanese place name content must remain available.
- field_name_jp: 英文字地名
field_name_std: place_name_en
field_group: labels
keep_in_delivery: true
keep_in_engineering: true
normalization_class: content_text
notes: English place name content remains available for fallback labels.
- field_name_jp: 水深値(m)
field_name_std: depth_value_m_legacy
field_group: normalized_numeric
keep_in_delivery: true
keep_in_engineering: true
normalization_class: numeric_normalization
notes: Legacy depth string is normalized into depth_value_m.
- field_name_jp: 高さ(m)
field_name_std: clearance_height_m_legacy
field_group: normalized_numeric
keep_in_delivery: true
keep_in_engineering: true
normalization_class: numeric_normalization
notes: Legacy height string is normalized into clearance_height_m.
- field_name_jp: 高さ/深度(m)
field_name_std: height_or_depth_m_legacy
field_group: normalized_numeric
keep_in_delivery: true
keep_in_engineering: true
normalization_class: numeric_normalization
notes: Mixed height/depth legacy string maps into least_depth_m or clearance semantics.
- field_name_jp: 角度
field_name_std: bearing_deg_legacy
field_group: normalized_numeric
keep_in_delivery: true
keep_in_engineering: true
normalization_class: numeric_normalization
notes: Legacy angle string is normalized into bearing_deg.

View File

@@ -0,0 +1,148 @@
ruleset: navsea_field_value_rules_v1
bundle_id: navsea-core
version: v1-draft
rules:
- rule_id: FVAL-LIGHT-001
rule_revision: 1
field_name_jp: 灯色
legacy_value: "1"
standardized_field: light_color_code
standardized_value: green
notes: Legacy light color code 1 maps to green in current data.
- rule_id: FVAL-LIGHT-002
rule_revision: 1
field_name_jp: 灯色
legacy_value: "2"
standardized_field: light_color_code
standardized_value: red
notes: Legacy light color code 2 maps to red.
- rule_id: FVAL-LIGHT-003
rule_revision: 1
field_name_jp: 灯色
legacy_value: "3"
standardized_field: light_color_code
standardized_value: yellow
notes: Legacy light color code 3 maps to yellow.
- rule_id: FVAL-LIGHT-004
rule_revision: 1
field_name_jp: 灯色
legacy_value: "4"
standardized_field: light_color_code
standardized_value: white
notes: Legacy light color code 4 maps to white.
- rule_id: FVAL-LIGHT-005
rule_revision: 1
field_name_jp: 灯色
legacy_value: "5"
standardized_field: light_color_code
standardized_value: blue
notes: Legacy light color code 5 maps to blue.
- rule_id: FVAL-LIGHT-006
rule_revision: 1
field_name_jp: 灯色
legacy_value: "6"
standardized_field: light_color_code
standardized_value: violet
notes: Legacy light color code 6 maps to violet.
- rule_id: FVAL-LIGHT-007
rule_revision: 1
field_name_jp: 灯色
legacy_value: "7"
standardized_field: light_color_code
standardized_value: orange
notes: Legacy light color code 7 maps to orange.
- rule_id: FVAL-LIGHT-008
rule_revision: 1
field_name_jp: 灯色
legacy_value: "8"
standardized_field: light_color_code
standardized_value: amber
notes: Legacy light color code 8 maps to amber.
- rule_id: FVAL-LIGHT-009
rule_revision: 1
field_name_jp: 灯色
legacy_value: "9"
standardized_field: light_color_code
standardized_value: mixed
notes: Legacy light color code 9 maps to mixed.
- rule_id: FVAL-LABELPOS-001
rule_revision: 1
field_name_jp: 表示位置
legacy_value: "0"
standardized_field: chart_label_position_code
standardized_value: tl
notes: Legacy label position 0 maps to top-left.
- rule_id: FVAL-LABELPOS-002
rule_revision: 1
field_name_jp: 表示位置
legacy_value: "1"
standardized_field: chart_label_position_code
standardized_value: t
notes: Legacy label position 1 maps to top.
- rule_id: FVAL-LABELPOS-003
rule_revision: 1
field_name_jp: 表示位置
legacy_value: "2"
standardized_field: chart_label_position_code
standardized_value: tr
notes: Legacy label position 2 maps to top-right.
- rule_id: FVAL-LABELPOS-004
rule_revision: 1
field_name_jp: 表示位置
legacy_value: "4"
standardized_field: chart_label_position_code
standardized_value: l
notes: Legacy label position 4 maps to left.
- rule_id: FVAL-LABELPOS-005
rule_revision: 1
field_name_jp: 表示位置
legacy_value: "5"
standardized_field: chart_label_position_code
standardized_value: c
notes: Legacy label position 5 maps to center.
- rule_id: FVAL-LABELPOS-006
rule_revision: 1
field_name_jp: 表示位置
legacy_value: "6"
standardized_field: chart_label_position_code
standardized_value: r
notes: Legacy label position 6 maps to right.
- rule_id: FVAL-LABELPOS-007
rule_revision: 1
field_name_jp: 表示位置
legacy_value: "8"
standardized_field: chart_label_position_code
standardized_value: bl
notes: Legacy label position 8 maps to bottom-left.
- rule_id: FVAL-LABELPOS-008
rule_revision: 1
field_name_jp: 表示位置
legacy_value: "9"
standardized_field: chart_label_position_code
standardized_value: b
notes: Legacy label position 9 maps to bottom.
- rule_id: FVAL-LABELPOS-009
rule_revision: 1
field_name_jp: 表示位置
legacy_value: "10"
standardized_field: chart_label_position_code
standardized_value: br
notes: Legacy label position 10 maps to bottom-right.
- rule_id: FVAL-CLASS-001
rule_revision: 1
field_name_jp: 分類番号
legacy_value: "428"
standardized_field: chart_symbol_code
standardized_value: fish_reef
geom_scope: Point
canonical_object_scope: 魚礁
notes: Legacy class 428 point object renders as fish reef symbol.
- rule_id: FVAL-CLASS-002
rule_revision: 1
field_name_jp: 分類番号
legacy_value: "428"
standardized_field: chart_fill_style
standardized_value: fish_reef_area
geom_scope: Polygon,MultiPolygon
canonical_object_scope: 魚礁
notes: Legacy class 428 area object renders as fish reef area pattern.

View File

@@ -0,0 +1,171 @@
ruleset: navsea_render_rules_v1
bundle_id: navsea-core
version: v1-draft
rules:
- rule_id: REN-NAV-001
rule_revision: 1
priority: 100
enabled: true
match_expr:
all:
- field: canonical_object_type
op: eq
value: 港湾灯台
- field: geom_type
op: eq
value: Point
output:
chart_render_type: symbol
chart_symbol_family: navigation_light
chart_symbol_code: lighthouse
chart_priority: 900
chart_visibility_min: 7
chart_visibility_max: 24
reason: 港湾灯台应以高优先级灯标符号渲染。
- rule_id: REN-HAZ-001
rule_revision: 1
priority: 120
enabled: true
match_expr:
all:
- field: canonical_object_type
op: eq
value: 魚礁
- field: geom_type
op: eq
value: Point
output:
chart_render_type: symbol
chart_symbol_family: hazard
chart_symbol_code: fish_reef
chart_priority: 860
area_usage_class: fishery
hazard_class: fish_reef
hazard_severity: major
reason: 点状鱼礁以鱼礁专用危险物符号表达。
- rule_id: REN-HAZ-002
rule_revision: 1
priority: 121
enabled: true
match_expr:
all:
- field: canonical_object_type
op: eq
value: 魚礁
- field: geom_type
op: in
value: [Polygon, MultiPolygon]
output:
chart_render_type: fill
chart_symbol_family: hazard
chart_fill_style: fish_reef_area
chart_priority: 850
area_usage_class: fishery
hazard_class: fish_reef
hazard_severity: major
reason: 面状鱼礁区以鱼礁专用危险区填充表达,同时保留 fishery 用途语义。
- rule_id: REN-DEPTH-001
rule_revision: 1
priority: 200
enabled: true
match_expr:
all:
- field: canonical_object_type
op: eq
value: 等深线
output:
chart_render_type: line
chart_symbol_family: contour
chart_line_style: contour_minor
chart_priority: 640
chart_visibility_min: 8
chart_visibility_max: 24
reason: 等深线统一归入 contour line 体系。
- rule_id: REN-SEABED-001
rule_revision: 1
priority: 210
enabled: true
match_expr:
all:
- field: canonical_object_type
op: eq
value: 底質
output:
chart_render_type: label
chart_symbol_family: seabed
chart_text_style: seabed_text
chart_priority: 500
chart_visibility_min: 11
chart_visibility_max: 24
reason: 底质对象以海底属性文字渲染。
- rule_id: REN-PLACE-001
rule_revision: 1
priority: 220
enabled: true
match_expr:
all:
- field: canonical_object_type
op: eq
value: 海上地名
output:
chart_render_type: label
chart_symbol_family: place
chart_text_style: place_name_sea
chart_priority: 450
chart_visibility_min: 7
chart_visibility_max: 24
reason: 海上地名使用海上地名字体体系渲染。
- rule_id: REN-PLACE-002
rule_revision: 1
priority: 221
enabled: true
match_expr:
all:
- field: canonical_object_type
op: eq
value: 陆上地名
output:
chart_render_type: label
chart_symbol_family: place
chart_text_style: place_name_land
chart_priority: 440
chart_visibility_min: 7
chart_visibility_max: 24
reason: 陆上地名使用陆地地名字体体系渲染。
- rule_id: REN-USAGE-001
rule_revision: 1
priority: 230
enabled: true
match_expr:
all:
- field: canonical_object_type
op: eq
value: 錨泊地
- field: geom_type
op: in
value: [Polygon, MultiPolygon]
output:
chart_render_type: fill
chart_symbol_family: usage_area
chart_fill_style: anchorage_area
chart_priority: 750
area_usage_class: anchorage
reason: 锚泊地区域以 anchorage_area 语义填充表达。
- rule_id: REN-FALLBACK-001
rule_revision: 1
priority: 9999
enabled: true
match_expr:
all: []
output:
chart_render_type: none
chart_priority: 0
reason: 未命中渲染规则的对象默认不进入正式语义渲染,待补录。

View File

@@ -0,0 +1,12 @@
bundle_id: navsea-core
bundle_version: v1-draft
status: draft
effective_date: 2026-03-14
taxonomy_ruleset: navsea_taxonomy_rules_v1
render_ruleset: navsea_render_rules_v1
source_layer_ruleset: navsea_source_layer_rules_v1
field_name_ruleset: navsea_field_name_rules_v1
field_value_ruleset: navsea_field_value_rules_v1
notes: >
Draft rule bundle for traceable NavSea taxonomy and render mapping.
File is intended as source-of-truth metadata and should be imported into SQL.

View File

@@ -0,0 +1,151 @@
ruleset: navsea_source_layer_rules_v1
bundle_id: navsea-core
version: v1-draft
rules:
- source_layer_jp: L700
source_layer_std: depth_zone_700
notes: Legacy coded depth zone layer kept as stable standardized code.
- source_layer_jp: L702
source_layer_std: depth_zone_702
notes: Legacy coded depth zone layer kept as stable standardized code.
- source_layer_jp: L725
source_layer_std: depth_zone_725
notes: Legacy coded depth zone layer kept as stable standardized code.
- source_layer_jp: L739
source_layer_std: depth_zone_739
notes: Legacy coded depth zone layer kept as stable standardized code.
- source_layer_jp: L740
source_layer_std: depth_zone_740
notes: Legacy coded depth zone layer kept as stable standardized code.
- source_layer_jp: L741
source_layer_std: depth_zone_741
notes: Legacy coded depth zone layer kept as stable standardized code.
- source_layer_jp: L748
source_layer_std: depth_zone_748
notes: Legacy coded depth zone layer kept as stable standardized code.
- source_layer_jp: L749
source_layer_std: depth_zone_749
notes: Legacy coded depth zone layer kept as stable standardized code.
- source_layer_jp: L危険界
source_layer_std: hazard_boundary_line
notes: Standardized line identity for hazard boundary linework.
- source_layer_jp: L基本線
source_layer_std: baseline_line
notes: Standardized line identity for baseline linework.
- source_layer_jp: L概略等深線
source_layer_std: depth_contour_overview
notes: Overview contour line layer.
- source_layer_jp: L海底地形
source_layer_std: bathymetry_line
notes: Bathymetry support line layer.
- source_layer_jp: L海底線
source_layer_std: seabed_line
notes: Seabed line feature container.
- source_layer_jp: L等深線
source_layer_std: depth_contour
notes: Standard contour line layer.
- source_layer_jp: L航路
source_layer_std: route_axis_line
notes: Route axis or route line layer.
- source_layer_jp: L陸上構造物陸
source_layer_std: onshore_structure_line
notes: Onshore structure line layer.
- source_layer_jp: L高さ制限
source_layer_std: clearance_limit_line
notes: Clearance restriction line layer.
- source_layer_jp: P721ククリ
source_layer_std: clip_outline_721
notes: Stable outline layer preserved by numeric legacy code.
- source_layer_jp: P730ククリ
source_layer_std: clip_outline_730
notes: Stable outline layer preserved by numeric legacy code.
- source_layer_jp: P754ククリ
source_layer_std: clip_outline_754
notes: Stable outline layer preserved by numeric legacy code.
- source_layer_jp: pパイロットステーション
source_layer_std: pilot_station_point
notes: Pilot station point layer.
- source_layer_jp: P危険界ククリ
source_layer_std: hazard_boundary_outline
notes: Hazard boundary outline layer.
- source_layer_jp: p地名
source_layer_std: place_label_sea
notes: Marine place label point layer.
- source_layer_jp: p地名陸
source_layer_std: place_label_land
notes: Land place label point layer.
- source_layer_jp: P基本線
source_layer_std: baseline_area
notes: Baseline area or container layer.
- source_layer_jp: P基本線ククリ
source_layer_std: baseline_outline
notes: Baseline outline layer.
- source_layer_jp: p底質
source_layer_std: seabed_text_point
notes: Seabed label point layer.
- source_layer_jp: p投錨注意障害物
source_layer_std: anchor_caution_hazard_point
notes: Point hazards relevant to anchoring caution.
- source_layer_jp: P投錨注意障害物ククリ
source_layer_std: anchor_caution_hazard_outline
notes: Outline of anchoring caution hazard area.
- source_layer_jp: P施設・境界線等
source_layer_std: facility_boundary_area
notes: Facility and boundary area container.
- source_layer_jp: P施設・境界線等ククリ
source_layer_std: facility_boundary_outline
notes: Facility and boundary outline layer.
- source_layer_jp: P施設・境界線等透明
source_layer_std: facility_boundary_area_transparent
notes: Transparent facility and boundary area layer.
- source_layer_jp: P橋りょう等構造物
source_layer_std: bridge_structure
notes: Bridge and related structure layer.
- source_layer_jp: P漁具定置箇所
source_layer_std: fixed_fishing_gear_area
notes: Fixed fishing gear area layer.
- source_layer_jp: P潜堤
source_layer_std: submerged_reef_area
notes: Submerged reef area layer.
- source_layer_jp: P穴
source_layer_std: hole_area
notes: Hole or depression area layer.
- source_layer_jp: p航行危険障害物
source_layer_std: navigation_hazard_point
notes: Navigation hazard point layer.
- source_layer_jp: P航行危険障害物ククリ
source_layer_std: navigation_hazard_outline
notes: Navigation hazard outline layer.
- source_layer_jp: P航路
source_layer_std: route_area
notes: Route area layer.
- source_layer_jp: P航路ククリ
source_layer_std: route_outline
notes: Route outline layer.
- source_layer_jp: p航路境界等
source_layer_std: route_boundary_point
notes: Route boundary point annotation layer.
- source_layer_jp: p航路標識群
source_layer_std: navigation_marks
notes: Navigation marks point layer.
- source_layer_jp: P誘導線ククリ
source_layer_std: leading_line_outline
notes: Leading line outline layer.
- source_layer_jp: p錨泊地等
source_layer_std: anchorage_point
notes: Anchorage point symbol layer.
- source_layer_jp: P錨泊地等ククリ
source_layer_std: anchorage_outline
notes: Anchorage outline layer.
- source_layer_jp: p陸上構造物
source_layer_std: onshore_structure_point
notes: Onshore structure point layer.
- source_layer_jp: P陸上構造物陸
source_layer_std: onshore_structure_area
notes: Onshore structure area layer.
- source_layer_jp: P陸域
source_layer_std: land_area
notes: Land area polygon layer.
- source_layer_jp: p高さ制限
source_layer_std: clearance_limit_point
notes: Clearance restriction point layer.

View File

@@ -0,0 +1,134 @@
ruleset: navsea_taxonomy_rules_v1
bundle_id: navsea-core
version: v1-draft
rules:
- rule_id: TAX-NAV-001
rule_revision: 1
priority: 100
enabled: true
match_scope: feature
match_expr:
all:
- field: class_name
op: contains_any
value: [港湾灯台, 灯台]
- field: geom_type
op: eq
value: Point
output:
canonical_family: navigation_aid
canonical_object_type: 港湾灯台
detection_key_template: symbol:港湾灯台
reason: 港湾灯台属于典型点状助航对象。
- rule_id: TAX-DEPTH-001
rule_revision: 1
priority: 140
enabled: true
match_scope: layer
match_expr:
all:
- field: source_layer
op: eq
value: L等深線
output:
canonical_family: depth
canonical_object_type: 等深线
detection_key_template: line:等深线
reason: 等深线来源层具有稳定的深度线语义。
- rule_id: TAX-SEABED-001
rule_revision: 1
priority: 150
enabled: true
match_scope: layer
match_expr:
all:
- field: source_layer
op: eq
value: p底質
output:
canonical_family: seabed
canonical_object_type: 底質
detection_key_template: label:底質
reason: 底质标签层具有稳定的海底属性语义。
- rule_id: TAX-PLACE-001
rule_revision: 1
priority: 160
enabled: true
match_scope: layer
match_expr:
all:
- field: source_layer
op: eq
value: p地名
output:
canonical_family: place
canonical_object_type: 海上地名
detection_key_template: label:海上地名
reason: 海上地名点层具有稳定的地名语义。
- rule_id: TAX-PLACE-002
rule_revision: 1
priority: 161
enabled: true
match_scope: layer
match_expr:
all:
- field: source_layer
op: eq
value: p地名陸
output:
canonical_family: place
canonical_object_type: 陆上地名
detection_key_template: label:陆上地名
reason: 陆上地名点层具有稳定的地名语义。
- rule_id: TAX-USAGE-001
rule_revision: 1
priority: 180
enabled: true
match_scope: feature
match_expr:
all:
- field: class_name
op: contains_any
value: [錨泊, 錨地]
output:
canonical_family: usage_area
canonical_object_type: 錨泊地
detection_key_template: mixed:錨泊地
reason: 锚泊类对象统一归入 usage_area 体系。
- rule_id: TAX-HAZ-001
rule_revision: 1
priority: 120
enabled: true
match_scope: feature
match_expr:
all:
- field: class_name
op: contains
value: 魚礁
- field: geom_type
op: in
value: [Point, Polygon, MultiPolygon]
output:
canonical_family: hazard
canonical_object_type: 魚礁
detection_key_template: mixed:魚礁
reason: 魚礁在当前业务目标下优先视为危险对象,并允许后续叠加用途语义。
- rule_id: TAX-FALLBACK-001
rule_revision: 1
priority: 9999
enabled: true
match_scope: feature
match_expr:
all: []
output:
canonical_family: unknown
canonical_object_type: 未分类对象
detection_key_template: unknown:{source_layer}
reason: 所有未命中 taxonomy 规则的对象统一回退到待补录分类。