feat: add S-52 presentation rule engine
This commit is contained in:
50
docs/报告/CM95_S52_Presentation引擎阶段报告_v1.md
Normal file
50
docs/报告/CM95_S52_Presentation引擎阶段报告_v1.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# CM95 S-52 Presentation 引擎阶段报告 v1
|
||||
|
||||
日期:2026-09-17
|
||||
|
||||
## 本阶段完成
|
||||
|
||||
- 建立 `S-52 INST → Presentation Rule IR` 通用解释器。
|
||||
- 按 OpenCPN `StringToRules/SCANFWRD` 容错语义解析历史 Presentation Library 数据。
|
||||
- 支持 `SY/LS/LC/AC/AP/TX/TE/CS`,并预留 CSP 生成的 `CA/MP`。
|
||||
- OpenCPN 当前 `chartsymbols.xml` 3057 条 Lookup 全量解析:3057/3057,失败 0。
|
||||
- S52 Lookup 从 Point 扩展到 Point/Line/Area:Paper/Lines/Plain 或 Symbolized。
|
||||
- 新增通用诊断 fallback layer:`s52_points/s52_lines/s52_areas`。
|
||||
|
||||
## 已落地 CSP
|
||||
|
||||
### DEPARE01 / DEPARE02
|
||||
|
||||
按 OpenCPN 行为生成区域显示规则;福冈湾 z12/3531/1641 实测:
|
||||
|
||||
- DEPARE/DRGARE:172 个。
|
||||
- DEPVS:47。
|
||||
- DEPMS:68。
|
||||
- DEPMD:33。
|
||||
- DEPDW:24。
|
||||
- DRGARE 4 个同时得到 `AP(DRGARE01)` 与虚线边界。
|
||||
|
||||
### DEPCNT02
|
||||
|
||||
配置默认 safety contour=3m;数据不存在精确 3m contour 时,自动选择下一个更深的实际 contour。
|
||||
福冈湾实测:
|
||||
|
||||
- DEPCNT:188 条。
|
||||
- 5m 被选择为实际 safety contour。
|
||||
- DEPSC(安全等深线,宽 2):91 条。
|
||||
- DEPCN(普通等深线,宽 1):97 条。
|
||||
|
||||
## 福冈湾完整 S-52 覆盖
|
||||
|
||||
同一 z12 tile 共 3293 个输出 Feature,其中 1264 个已经取得 S-52 Lookup/Presentation 属性。
|
||||
新增通用 fallback 中 `s52_points=42`、`s52_areas=4`;原有业务 layer 继续保留,不重复制造已有对象。
|
||||
|
||||
浏览器验证使用同一 PBF,已确认四级深度色、安全等深线、测深数字、底质缩写、地名和更多 S-52 航标实际渲染。
|
||||
|
||||
## 尚未完成
|
||||
|
||||
- LIGHTS05/LIGHTS06 的 `CA` 灯弧最终 renderer。
|
||||
- SOUNDG02/SOUNDG03 的完整 S-52 sounding symbol 组合。
|
||||
- SBDARE 底质长文本/组合格式。
|
||||
- OBSTRN/WRECKS/UDWHAZ、RESARE/RESTRN、SLCONS/QUAPOS 等 CSP。
|
||||
- 正式 `style.json` compiler;当前 Web 页面仍是诊断 Style。
|
||||
Reference in New Issue
Block a user