Files
pbf/STEP_RECORD.md

14 KiB
Raw Blame History

PBF Step Record

Last Updated: 2026-04-01 Repo: /root/sourceserver/pbf Remote: ssh://git@nas:2222/tei/pbf.git

Active Baseline

当前唯一固定使用的视觉审计页面:

  • http://192.168.200.184/newpec/navsea-compare-karatsu-20nm.html

当前页面版本体系:

  • HTML: compare-r15-20260401-1705

当前页面支持 2 个 profile但仍是同一张 HTML

  1. 唐津 20 海里

    • Style: karatsu-final-style-r11-20260401-1719 (style.navsea-delivery-karatsu-20nm-final.json)
    • PBF: karatsu-final-pbf-20nm-20260401-0248 (pbf-delivery-karatsu-20nm-final)
  2. 九州

    • Style: kyushu-style-r1-20260331-2205 (style.navsea-delivery-kyushu.json)
    • PBF: kyushu-pbf-reencoded-20260325-1105 (pbf-delivery-kyushu-reencoded)

访问方式:

  • 默认唐津:
    • http://192.168.200.184/newpec/navsea-compare-karatsu-20nm.html
  • 九州模式:
    • http://192.168.200.184/newpec/navsea-compare-karatsu-20nm.html?profile=kyushu

工作规则:

  • 不再新增 compare 页面
  • 视觉确认统一只看这一个 URL
  • 页面必须保持:
    • 左右联动
    • 点击拾取
    • HTML / Style / PBF 三层版本可见
  • 页面现在还支持 URL 相机参数,便于同一张页面切到热点区做自动截图:
    • ?profile=karatsu20&center=130.335,33.6385&zoom=12.2

Current Truth

当前继续收敛的主 style 文件:

当前九州 delivery style

关于当前问题,已经确认:

  • 20nm pbf 本身最近没有被重建改坏
  • 鱼礁、灯塔、灯台等对象在 20nm pbf 里仍然存在
  • 当前 compare 页右侧使用的是 20nm final PBF,不是旧的 20nm delivery
  • 当前“看起来又丢了”的主因优先判断为:
    • style 表达式 / icon 选择问题
    • 图层叠放和 icon-size 导致的近距离互相遮挡
    • 不是 compare HTML 切错
    • 也不是 20nm pbf 最近重建坏了对象

当前新增结论:

  • compare 页已经支持热点定位参数strict audit 现在可以在同一张页里切到博多港自动截图
  • 20nm final 的对象保真审计已扩到 5 组:
    • p航行危険障害物 -> navigation_hazard_point
    • p投錨注意障害物 -> anchor_caution_hazard_point
    • p航路標識群 -> navigation_marks
    • p施設・境界線等 -> facility_boundary_point
    • P航路ククリ -> route_outline
  • 扩层后的结论:
    • delivery_20nm4165/4165 identifier lost
    • 当前 final_20nm4165/4165 preserved
  • 也就是说:
    • 现在危险物、航标、设施点、航路线这 5 组在 final PBF 里都没有丢对象
    • 后续主问题继续收敛在 style
  • 博多港这轮已补回:
    • route_outline 紫色虚线
    • facility_boundary_point 的 class-based 图标
      • 505 -> symbol-daytime-505
      • 510 -> symbol-daytime-505
      • 520 -> symbol-daytime-520
      • 530 -> symbol-daytime-530
      • 550 -> symbol-daytime-550
  • 设施点文字层做过一次试验版 r10,但博多港 AOI 截图差异变大,已回退;当前保留的有效版本是 style-r11

一句话判断:

  • 当前 20nm final 这条线,危险物对象保真已经过关
  • 当前主矛盾是 style
  • 当前又补了一条危险物样式纠偏:
    • 測定済みの沈船 / 船体露出沈船 / 危険全沈没船 这类沉船对象不能继续走泛化 wreck=429hazard_mark=428
    • 当前 compare 页里,anchor_caution_hazard_point 已改成:
      • class_code 时只走 class-specific 图标层
    • 这次修正的直接目的就是避免“沉船被画成鱼礁/眼形符号”

Object Preservation Audit

当前已经新增并扩展了一条专门的对象保真审计:

当前结论非常明确:

  • delivery_20nm
    • raw objects: 4165
    • preserved: 0
    • identifier lost: 4165
  • final_20nm
    • raw objects: 4165
    • preserved: 4165
    • missing object: 0
    • identifier lost: 0

重点含义:

  • 20nm delivery 不只是危险物,连航标、设施点、航路线的识别字段也都没保住
  • 当前 20nm final 里,这 5 组对象的细分类 / 显示码已经完整保留下来
  • 当前对象保真审计已经能先把“东西丢了”这类严重问题挡在最前面

Final Release Candidate

当前已经产出一版 20nm final release 候选:

当前候选的生成方式:

当前 final candidate 只保留 20 个字段:

  • canonical_object_type
  • class_code
  • chart_fill_pattern
  • chart_fill_style
  • chart_icon_image
  • chart_label_position_code
  • chart_label_subtext
  • chart_label_text
  • chart_line_color
  • chart_line_width
  • chart_symbol_code
  • chart_text_color
  • chart_text_style
  • depth_value_m
  • display_code
  • least_depth_m
  • light_color_code
  • light_sector_mode
  • name_ja
  • place_name_en

当前 final candidate 量化结果:

  • feature instances:
    • 269883
  • distinct canonical_object_type:
    • 137
  • 原始 20nm delivery 大小:
    • 29,527,981 bytes
  • final candidate 大小:
    • 24,470,260 bytes
  • 压缩幅度约:
    • 17.1%

当前判断:

  • 这版已经满足“字段显著裁剪”
  • 为了恢复危险物和灯标/浮标细节,重新带回了:
    • class_code
    • display_code
  • r4 已补上:
    • navigation_hazard_pointclass_code 选 icon
  • 之前 r3 已把危险物和航标 icon-size 收回旧版默认尺度,优先减轻危险物与灯标互相遮挡
  • 但当前 AOI 图像审计仍显示大差异
  • 所以它目前只能算 final release candidate
  • 还不能直接认定为稳定最终版

Audit Method

当前认可的可信审计方法:

  1. 20nm compare 肉眼审图
  2. object preservation audit
  3. 小范围 AOI 图像对比
  4. compare 页点击拾取
  5. 10nm rerun 对象级 backend audit

当前小范围试验方法文档:

当前 pilot 热点配置:

当前 pilot 报告:

当前结论:

  • 不再只看整屏 diff
  • 不再只看 20nm backend 总量数字
  • 20nm backend 仍不适合当严格对象级审计
  • 博多港 AOI 现在也已经纳入固定截图审计
  • r10 的设施文字层试验让热点差异变大,已回退;当前线上保留 r11
  • 当前正式审计顺序已经明确为:
    • object preservation audit
    • render audit
    • 最后 AOI / visual audit
  • 其中 20nm 的危险物对象保真,当前已经有专门脚本和报告,不再只靠 render audit 猜

Current Audit Status

20nm Visual Pilot

当前新版 r14 / style-r4 strict audit

当前 3 个热点:

  1. takashima_main_harbor_marks
    • changed ratio: 0.800170
  2. takashima_inner_nearshore_hazards
    • changed ratio: 0.711509
  3. east_breakwater_marks
    • changed ratio: 0.999713

这说明:

  • 视觉仍然没有收敛到“可推广”状态
  • 主港航标区仍是第一优先级观察点
  • 近岸碍航与鱼礁区有一点改善,但离稳定还远

10nm Object-Level Backend Audit

当前最可信的对象级 backend 审计报告:

当前结果:

  • exact_match = 121855
  • mismatch = 12912
  • missing_in_engineering = 5

这说明:

  • 当前 10nm 已经不是“对象大面积丢失/多出”的阶段
  • 现在主要是 visual / semantic mismatch 修复

当前 mismatch 最大几组:

  • P基本線ククリ = 7873
  • P基本線 = 2876
  • L基本線 = 619
  • p航路標識群 = 574
  • p投錨注意障害物 = 374
  • p航行危険障害物 = 296

Delivery Field Policy

总目标:

  • 尽可能减少日文

当前字段处置规则:

  • canonical_family

    • 保留
    • 已经是英文
  • canonical_object_type

    • 不直接删除
    • 改成稳定英文值
  • semantic_key

    • 正式 release PBF 直接删除
    • audit 版若保留,可以继续保留现有值
    • 当前不强制改英文
  • detection_key

    • 正式 release PBF 直接删除
    • audit 版若保留,可以继续保留现有值
    • 当前不强制改英文

具体到这类对象:

  • canonical_object_type = 漁業協同組合

    • 不直接删除
    • 改成稳定英文值
    • 当前建议:
      • fisheries_cooperative
  • canonical_family = symbol

    • 保留
  • semantic_key = symbol:漁業協同組合

    • release PBF 直接删除
    • audit 版若保留,可以继续保留:
      • symbol:漁業協同組合
  • detection_key = symbol:漁業協同組合

    • release PBF 直接删除
    • audit 版若保留,可以继续保留:
      • symbol:漁業協同組合

一句话:

  • 业务语义字段英文化
  • 审计追踪字段从正式交付版尽量移除

当前对 /home/wwwroot/pbf-delivery-karatsu-20nm 的全量扫描结果:

  • 日文字段名:
    • 0
  • 但含日文值的核心字段仍很多

当前最主要的残留字段:

  • canonical_object_type
    • 235688
  • semantic_key
    • 235688
  • detection_key
    • 235688
  • chart_label_text
    • 3338
  • place_name_ja
    • 2552
  • name_ja
    • 803
  • name_subtext_ja
    • 18

说明:

  • 当前已经基本摆脱“日文键名”
  • 但还远没有摆脱“日文语义值”
  • 最大头仍然是:
    • canonical_object_type

当前关于 canonical_object_type 的快速基线:

  • 当前 /home/wwwroot/pbf-delivery-karatsu-20nm 成品 PBF 中
    • 实际出现的 distinct canonical_object_type 一共有 137
  • 数据库中可以直接查
    • 主表:pbf_relayer_candidates
    • 字段:canonical_object_type
    • 已有索引:idx_navsea_object (canonical_object_type, geom_type)
  • 当前数据库表规模:
    • pbf_relayer_candidates6,664,855
  • 说明:
    • PBF 里的 distinct 数 = 当前这批成品实际输出了多少种
    • 数据库 里的 distinct 数 = 候选对象全集范围,通常会大于等于当前成品 PBF
    • semantic_key
    • detection_key

Current Priority

当前继续修的优先顺序:

  1. 鱼礁 / 障害点 icon 表达
  2. 灯 / 灯台 / flare 表达
  3. baseline 相关 mismatch
  4. 九州沿用同一张 compare 页后的热点审计

如果 style 修到一定程度仍然不对,再回到 builder 看:

  • 是否需要补更细的 delivery 语义字段

Key Files

Quick Resume Prompt

继续围绕同一个 compare 页 navsea-compare-karatsu-20nm.html 修 delivery style。默认先看唐津 profile按 pilot 热点先修鱼礁和灯标;需要看九州时就在同一张页面切到 kyushu profile。视觉确认用 20nm compare严格对象级 backend 审计看 10nm rerun。