Add 20nm object preservation audit and final hazard icon fix

This commit is contained in:
OpenAI Codex
2026-04-01 15:28:20 +08:00
parent 609d9716bf
commit 5c4c91e462
12 changed files with 1839 additions and 30 deletions

View File

@@ -0,0 +1,606 @@
{
"target_name": "delivery_20nm",
"raw_root": "/home/wwwroot/newpec/exported_auto/tile.mapple-on.jp__newpec-mvt-20260106__z___x___y_.pbf/tiles",
"target_root": "/home/wwwroot/pbf-delivery-karatsu-20nm",
"totals": {
"tiles_compared": 154,
"raw_objects": 2090,
"raw_class_lost": 2090
},
"rule_stats": {
"p投錨注意障害物->anchor_caution_hazard_point": {
"raw_objects": 1426,
"raw_class_lost": 1426
},
"p航行危険障害物->navigation_hazard_point": {
"raw_objects": 664,
"raw_class_lost": 664
}
},
"top_class_issues": [
{
"class_key": "p投錨注意障害物:428",
"raw_objects": 702,
"preserved": 0,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 702,
"class_mismatch": 0
},
{
"class_key": "p航行危険障害物:404",
"raw_objects": 413,
"preserved": 0,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 413,
"class_mismatch": 0
},
{
"class_key": "p投錨注意障害物:420",
"raw_objects": 355,
"preserved": 0,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 355,
"class_mismatch": 0
},
{
"class_key": "p投錨注意障害物:425",
"raw_objects": 255,
"preserved": 0,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 255,
"class_mismatch": 0
},
{
"class_key": "p航行危険障害物:403",
"raw_objects": 128,
"preserved": 0,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 128,
"class_mismatch": 0
},
{
"class_key": "p航行危険障害物:432",
"raw_objects": 40,
"preserved": 0,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 40,
"class_mismatch": 0
},
{
"class_key": "p投錨注意障害物:421",
"raw_objects": 32,
"preserved": 0,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 32,
"class_mismatch": 0
},
{
"class_key": "p投錨注意障害物:415",
"raw_objects": 25,
"preserved": 0,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 25,
"class_mismatch": 0
},
{
"class_key": "p投錨注意障害物:413",
"raw_objects": 25,
"preserved": 0,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 25,
"class_mismatch": 0
},
{
"class_key": "p航行危険障害物:409",
"raw_objects": 25,
"preserved": 0,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 25,
"class_mismatch": 0
},
{
"class_key": "p航行危険障害物:431",
"raw_objects": 22,
"preserved": 0,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 22,
"class_mismatch": 0
},
{
"class_key": "p投錨注意障害物:434",
"raw_objects": 18,
"preserved": 0,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 18,
"class_mismatch": 0
},
{
"class_key": "p航行危険障害物:433",
"raw_objects": 15,
"preserved": 0,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 15,
"class_mismatch": 0
},
{
"class_key": "p航行危険障害物:427",
"raw_objects": 9,
"preserved": 0,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 9,
"class_mismatch": 0
},
{
"class_key": "p投錨注意障害物:405",
"raw_objects": 5,
"preserved": 0,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 5,
"class_mismatch": 0
},
{
"class_key": "p航行危険障害物:412",
"raw_objects": 5,
"preserved": 0,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 5,
"class_mismatch": 0
},
{
"class_key": "p投錨注意障害物:422",
"raw_objects": 4,
"preserved": 0,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 4,
"class_mismatch": 0
},
{
"class_key": "p投錨注意障害物:424",
"raw_objects": 3,
"preserved": 0,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 3,
"class_mismatch": 0
},
{
"class_key": "p航行危険障害物:402",
"raw_objects": 3,
"preserved": 0,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 3,
"class_mismatch": 0
},
{
"class_key": "p航行危険障害物:410",
"raw_objects": 3,
"preserved": 0,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 3,
"class_mismatch": 0
}
],
"issue_examples": {
"raw_class_lost": [
{
"tile": [
11,
1761,
819
],
"fid": 13018869,
"name": null,
"raw_layer": "p投錨注意障害物",
"delivery_layer": "anchor_caution_hazard_point",
"raw_class": 428,
"candidates": [
{
"delivery_class": null,
"canonical_object_type": "魚礁",
"chart_symbol_code": "fish_reef",
"chart_icon_image": "symbol-daytime-428"
}
]
},
{
"tile": [
11,
1761,
819
],
"fid": 13018870,
"name": null,
"raw_layer": "p投錨注意障害物",
"delivery_layer": "anchor_caution_hazard_point",
"raw_class": 428,
"candidates": [
{
"delivery_class": null,
"canonical_object_type": "魚礁",
"chart_symbol_code": "fish_reef",
"chart_icon_image": "symbol-daytime-428"
}
]
},
{
"tile": [
11,
1761,
819
],
"fid": 13018918,
"name": null,
"raw_layer": "p投錨注意障害物",
"delivery_layer": "anchor_caution_hazard_point",
"raw_class": 428,
"candidates": [
{
"delivery_class": null,
"canonical_object_type": "魚礁",
"chart_symbol_code": "fish_reef",
"chart_icon_image": "symbol-daytime-428"
}
]
},
{
"tile": [
11,
1761,
819
],
"fid": 13020459,
"name": null,
"raw_layer": "p投錨注意障害物",
"delivery_layer": "anchor_caution_hazard_point",
"raw_class": 428,
"candidates": [
{
"delivery_class": null,
"canonical_object_type": "魚礁",
"chart_symbol_code": "fish_reef",
"chart_icon_image": "symbol-daytime-428"
}
]
},
{
"tile": [
11,
1761,
819
],
"fid": 13020673,
"name": null,
"raw_layer": "p投錨注意障害物",
"delivery_layer": "anchor_caution_hazard_point",
"raw_class": 428,
"candidates": [
{
"delivery_class": null,
"canonical_object_type": "魚礁",
"chart_symbol_code": "fish_reef",
"chart_icon_image": "symbol-daytime-428"
}
]
},
{
"tile": [
11,
1761,
819
],
"fid": 13020674,
"name": null,
"raw_layer": "p投錨注意障害物",
"delivery_layer": "anchor_caution_hazard_point",
"raw_class": 428,
"candidates": [
{
"delivery_class": null,
"canonical_object_type": "魚礁",
"chart_symbol_code": "fish_reef",
"chart_icon_image": "symbol-daytime-428"
}
]
},
{
"tile": [
11,
1761,
819
],
"fid": 13020675,
"name": null,
"raw_layer": "p投錨注意障害物",
"delivery_layer": "anchor_caution_hazard_point",
"raw_class": 428,
"candidates": [
{
"delivery_class": null,
"canonical_object_type": "魚礁",
"chart_symbol_code": "fish_reef",
"chart_icon_image": "symbol-daytime-428"
}
]
},
{
"tile": [
11,
1761,
819
],
"fid": 13020697,
"name": null,
"raw_layer": "p投錨注意障害物",
"delivery_layer": "anchor_caution_hazard_point",
"raw_class": 428,
"candidates": [
{
"delivery_class": null,
"canonical_object_type": "魚礁",
"chart_symbol_code": "fish_reef",
"chart_icon_image": "symbol-daytime-428"
}
]
},
{
"tile": [
11,
1761,
819
],
"fid": 13020698,
"name": null,
"raw_layer": "p投錨注意障害物",
"delivery_layer": "anchor_caution_hazard_point",
"raw_class": 428,
"candidates": [
{
"delivery_class": null,
"canonical_object_type": "魚礁",
"chart_symbol_code": "fish_reef",
"chart_icon_image": "symbol-daytime-428"
}
]
},
{
"tile": [
11,
1761,
819
],
"fid": 13020699,
"name": null,
"raw_layer": "p投錨注意障害物",
"delivery_layer": "anchor_caution_hazard_point",
"raw_class": 428,
"candidates": [
{
"delivery_class": null,
"canonical_object_type": "魚礁",
"chart_symbol_code": "fish_reef",
"chart_icon_image": "symbol-daytime-428"
}
]
},
{
"tile": [
11,
1761,
819
],
"fid": 13018650,
"name": null,
"raw_layer": "p投錨注意障害物",
"delivery_layer": "anchor_caution_hazard_point",
"raw_class": 425,
"candidates": [
{
"delivery_class": null,
"canonical_object_type": "海草",
"chart_symbol_code": "hazard_mark",
"chart_icon_image": "symbol-daytime-428"
}
]
},
{
"tile": [
11,
1761,
819
],
"fid": 13018651,
"name": null,
"raw_layer": "p投錨注意障害物",
"delivery_layer": "anchor_caution_hazard_point",
"raw_class": 425,
"candidates": [
{
"delivery_class": null,
"canonical_object_type": "海草",
"chart_symbol_code": "hazard_mark",
"chart_icon_image": "symbol-daytime-428"
}
]
},
{
"tile": [
11,
1761,
819
],
"fid": 13018652,
"name": null,
"raw_layer": "p投錨注意障害物",
"delivery_layer": "anchor_caution_hazard_point",
"raw_class": 425,
"candidates": [
{
"delivery_class": null,
"canonical_object_type": "海草",
"chart_symbol_code": "hazard_mark",
"chart_icon_image": "symbol-daytime-428"
}
]
},
{
"tile": [
11,
1761,
819
],
"fid": 13018653,
"name": null,
"raw_layer": "p投錨注意障害物",
"delivery_layer": "anchor_caution_hazard_point",
"raw_class": 425,
"candidates": [
{
"delivery_class": null,
"canonical_object_type": "海草",
"chart_symbol_code": "hazard_mark",
"chart_icon_image": "symbol-daytime-428"
}
]
},
{
"tile": [
11,
1761,
819
],
"fid": 13018654,
"name": null,
"raw_layer": "p投錨注意障害物",
"delivery_layer": "anchor_caution_hazard_point",
"raw_class": 425,
"candidates": [
{
"delivery_class": null,
"canonical_object_type": "海草",
"chart_symbol_code": "hazard_mark",
"chart_icon_image": "symbol-daytime-428"
}
]
},
{
"tile": [
11,
1761,
819
],
"fid": 13018655,
"name": null,
"raw_layer": "p投錨注意障害物",
"delivery_layer": "anchor_caution_hazard_point",
"raw_class": 425,
"candidates": [
{
"delivery_class": null,
"canonical_object_type": "海草",
"chart_symbol_code": "hazard_mark",
"chart_icon_image": "symbol-daytime-428"
}
]
},
{
"tile": [
11,
1761,
819
],
"fid": 13018656,
"name": null,
"raw_layer": "p投錨注意障害物",
"delivery_layer": "anchor_caution_hazard_point",
"raw_class": 425,
"candidates": [
{
"delivery_class": null,
"canonical_object_type": "海草",
"chart_symbol_code": "hazard_mark",
"chart_icon_image": "symbol-daytime-428"
}
]
},
{
"tile": [
11,
1761,
819
],
"fid": 13018657,
"name": null,
"raw_layer": "p投錨注意障害物",
"delivery_layer": "anchor_caution_hazard_point",
"raw_class": 425,
"candidates": [
{
"delivery_class": null,
"canonical_object_type": "海草",
"chart_symbol_code": "hazard_mark",
"chart_icon_image": "symbol-daytime-428"
}
]
},
{
"tile": [
11,
1761,
819
],
"fid": 13018658,
"name": null,
"raw_layer": "p投錨注意障害物",
"delivery_layer": "anchor_caution_hazard_point",
"raw_class": 425,
"candidates": [
{
"delivery_class": null,
"canonical_object_type": "海草",
"chart_symbol_code": "hazard_mark",
"chart_icon_image": "symbol-daytime-428"
}
]
},
{
"tile": [
11,
1761,
819
],
"fid": 13018659,
"name": null,
"raw_layer": "p投錨注意障害物",
"delivery_layer": "anchor_caution_hazard_point",
"raw_class": 425,
"candidates": [
{
"delivery_class": null,
"canonical_object_type": "海草",
"chart_symbol_code": "hazard_mark",
"chart_icon_image": "symbol-daytime-428"
}
]
}
]
}
}

View File

@@ -0,0 +1,72 @@
# Object Preservation Audit: delivery_20nm
- raw root: `/home/wwwroot/newpec/exported_auto/tile.mapple-on.jp__newpec-mvt-20260106__z___x___y_.pbf/tiles`
- target root: `/home/wwwroot/pbf-delivery-karatsu-20nm`
## Totals
- tiles compared: `154`
- raw objects: `2090`
- preserved: `0`
- missing object: `0`
- wrong relayer: `0`
- raw class lost: `2090`
- class mismatch: `0`
## Per Rule
### `p投錨注意障害物->anchor_caution_hazard_point`
- raw objects: `1426`
- preserved: `0`
- missing object: `0`
- wrong relayer: `0`
- raw class lost: `1426`
- class mismatch: `0`
### `p航行危険障害物->navigation_hazard_point`
- raw objects: `664`
- preserved: `0`
- missing object: `0`
- wrong relayer: `0`
- raw class lost: `664`
- class mismatch: `0`
## Top Class Issues
- `p投錨注意障害物:428` raw=`702` preserved=`0` missing=`0` wrong_relayer=`0` class_lost=`702` class_mismatch=`0`
- `p航行危険障害物:404` raw=`413` preserved=`0` missing=`0` wrong_relayer=`0` class_lost=`413` class_mismatch=`0`
- `p投錨注意障害物:420` raw=`355` preserved=`0` missing=`0` wrong_relayer=`0` class_lost=`355` class_mismatch=`0`
- `p投錨注意障害物:425` raw=`255` preserved=`0` missing=`0` wrong_relayer=`0` class_lost=`255` class_mismatch=`0`
- `p航行危険障害物:403` raw=`128` preserved=`0` missing=`0` wrong_relayer=`0` class_lost=`128` class_mismatch=`0`
- `p航行危険障害物:432` raw=`40` preserved=`0` missing=`0` wrong_relayer=`0` class_lost=`40` class_mismatch=`0`
- `p投錨注意障害物:421` raw=`32` preserved=`0` missing=`0` wrong_relayer=`0` class_lost=`32` class_mismatch=`0`
- `p投錨注意障害物:415` raw=`25` preserved=`0` missing=`0` wrong_relayer=`0` class_lost=`25` class_mismatch=`0`
- `p投錨注意障害物:413` raw=`25` preserved=`0` missing=`0` wrong_relayer=`0` class_lost=`25` class_mismatch=`0`
- `p航行危険障害物:409` raw=`25` preserved=`0` missing=`0` wrong_relayer=`0` class_lost=`25` class_mismatch=`0`
- `p航行危険障害物:431` raw=`22` preserved=`0` missing=`0` wrong_relayer=`0` class_lost=`22` class_mismatch=`0`
- `p投錨注意障害物:434` raw=`18` preserved=`0` missing=`0` wrong_relayer=`0` class_lost=`18` class_mismatch=`0`
## Examples: `raw_class_lost`
- {"candidates":[{"canonical_object_type":"魚礁","chart_icon_image":"symbol-daytime-428","chart_symbol_code":"fish_reef","delivery_class":null}],"delivery_layer":"anchor_caution_hazard_point","fid":13018869,"name":null,"raw_class":428,"raw_layer":"p投錨注意障害物","tile":[11,1761,819]}
- {"candidates":[{"canonical_object_type":"魚礁","chart_icon_image":"symbol-daytime-428","chart_symbol_code":"fish_reef","delivery_class":null}],"delivery_layer":"anchor_caution_hazard_point","fid":13018870,"name":null,"raw_class":428,"raw_layer":"p投錨注意障害物","tile":[11,1761,819]}
- {"candidates":[{"canonical_object_type":"魚礁","chart_icon_image":"symbol-daytime-428","chart_symbol_code":"fish_reef","delivery_class":null}],"delivery_layer":"anchor_caution_hazard_point","fid":13018918,"name":null,"raw_class":428,"raw_layer":"p投錨注意障害物","tile":[11,1761,819]}
- {"candidates":[{"canonical_object_type":"魚礁","chart_icon_image":"symbol-daytime-428","chart_symbol_code":"fish_reef","delivery_class":null}],"delivery_layer":"anchor_caution_hazard_point","fid":13020459,"name":null,"raw_class":428,"raw_layer":"p投錨注意障害物","tile":[11,1761,819]}
- {"candidates":[{"canonical_object_type":"魚礁","chart_icon_image":"symbol-daytime-428","chart_symbol_code":"fish_reef","delivery_class":null}],"delivery_layer":"anchor_caution_hazard_point","fid":13020673,"name":null,"raw_class":428,"raw_layer":"p投錨注意障害物","tile":[11,1761,819]}
- {"candidates":[{"canonical_object_type":"魚礁","chart_icon_image":"symbol-daytime-428","chart_symbol_code":"fish_reef","delivery_class":null}],"delivery_layer":"anchor_caution_hazard_point","fid":13020674,"name":null,"raw_class":428,"raw_layer":"p投錨注意障害物","tile":[11,1761,819]}
- {"candidates":[{"canonical_object_type":"魚礁","chart_icon_image":"symbol-daytime-428","chart_symbol_code":"fish_reef","delivery_class":null}],"delivery_layer":"anchor_caution_hazard_point","fid":13020675,"name":null,"raw_class":428,"raw_layer":"p投錨注意障害物","tile":[11,1761,819]}
- {"candidates":[{"canonical_object_type":"魚礁","chart_icon_image":"symbol-daytime-428","chart_symbol_code":"fish_reef","delivery_class":null}],"delivery_layer":"anchor_caution_hazard_point","fid":13020697,"name":null,"raw_class":428,"raw_layer":"p投錨注意障害物","tile":[11,1761,819]}
- {"candidates":[{"canonical_object_type":"魚礁","chart_icon_image":"symbol-daytime-428","chart_symbol_code":"fish_reef","delivery_class":null}],"delivery_layer":"anchor_caution_hazard_point","fid":13020698,"name":null,"raw_class":428,"raw_layer":"p投錨注意障害物","tile":[11,1761,819]}
- {"candidates":[{"canonical_object_type":"魚礁","chart_icon_image":"symbol-daytime-428","chart_symbol_code":"fish_reef","delivery_class":null}],"delivery_layer":"anchor_caution_hazard_point","fid":13020699,"name":null,"raw_class":428,"raw_layer":"p投錨注意障害物","tile":[11,1761,819]}
- {"candidates":[{"canonical_object_type":"海草","chart_icon_image":"symbol-daytime-428","chart_symbol_code":"hazard_mark","delivery_class":null}],"delivery_layer":"anchor_caution_hazard_point","fid":13018650,"name":null,"raw_class":425,"raw_layer":"p投錨注意障害物","tile":[11,1761,819]}
- {"candidates":[{"canonical_object_type":"海草","chart_icon_image":"symbol-daytime-428","chart_symbol_code":"hazard_mark","delivery_class":null}],"delivery_layer":"anchor_caution_hazard_point","fid":13018651,"name":null,"raw_class":425,"raw_layer":"p投錨注意障害物","tile":[11,1761,819]}
- {"candidates":[{"canonical_object_type":"海草","chart_icon_image":"symbol-daytime-428","chart_symbol_code":"hazard_mark","delivery_class":null}],"delivery_layer":"anchor_caution_hazard_point","fid":13018652,"name":null,"raw_class":425,"raw_layer":"p投錨注意障害物","tile":[11,1761,819]}
- {"candidates":[{"canonical_object_type":"海草","chart_icon_image":"symbol-daytime-428","chart_symbol_code":"hazard_mark","delivery_class":null}],"delivery_layer":"anchor_caution_hazard_point","fid":13018653,"name":null,"raw_class":425,"raw_layer":"p投錨注意障害物","tile":[11,1761,819]}
- {"candidates":[{"canonical_object_type":"海草","chart_icon_image":"symbol-daytime-428","chart_symbol_code":"hazard_mark","delivery_class":null}],"delivery_layer":"anchor_caution_hazard_point","fid":13018654,"name":null,"raw_class":425,"raw_layer":"p投錨注意障害物","tile":[11,1761,819]}
- {"candidates":[{"canonical_object_type":"海草","chart_icon_image":"symbol-daytime-428","chart_symbol_code":"hazard_mark","delivery_class":null}],"delivery_layer":"anchor_caution_hazard_point","fid":13018655,"name":null,"raw_class":425,"raw_layer":"p投錨注意障害物","tile":[11,1761,819]}
- {"candidates":[{"canonical_object_type":"海草","chart_icon_image":"symbol-daytime-428","chart_symbol_code":"hazard_mark","delivery_class":null}],"delivery_layer":"anchor_caution_hazard_point","fid":13018656,"name":null,"raw_class":425,"raw_layer":"p投錨注意障害物","tile":[11,1761,819]}
- {"candidates":[{"canonical_object_type":"海草","chart_icon_image":"symbol-daytime-428","chart_symbol_code":"hazard_mark","delivery_class":null}],"delivery_layer":"anchor_caution_hazard_point","fid":13018657,"name":null,"raw_class":425,"raw_layer":"p投錨注意障害物","tile":[11,1761,819]}
- {"candidates":[{"canonical_object_type":"海草","chart_icon_image":"symbol-daytime-428","chart_symbol_code":"hazard_mark","delivery_class":null}],"delivery_layer":"anchor_caution_hazard_point","fid":13018658,"name":null,"raw_class":425,"raw_layer":"p投錨注意障害物","tile":[11,1761,819]}
- {"candidates":[{"canonical_object_type":"海草","chart_icon_image":"symbol-daytime-428","chart_symbol_code":"hazard_mark","delivery_class":null}],"delivery_layer":"anchor_caution_hazard_point","fid":13018659,"name":null,"raw_class":425,"raw_layer":"p投錨注意障害物","tile":[11,1761,819]}

View File

@@ -0,0 +1,203 @@
{
"target_name": "final_20nm",
"raw_root": "/home/wwwroot/newpec/exported_auto/tile.mapple-on.jp__newpec-mvt-20260106__z___x___y_.pbf/tiles",
"target_root": "/home/wwwroot/pbf-delivery-karatsu-20nm-final",
"totals": {
"tiles_compared": 154,
"raw_objects": 2090,
"preserved": 2090
},
"rule_stats": {
"p投錨注意障害物->anchor_caution_hazard_point": {
"raw_objects": 1426,
"preserved": 1426
},
"p航行危険障害物->navigation_hazard_point": {
"raw_objects": 664,
"preserved": 664
}
},
"top_class_issues": [
{
"class_key": "p投錨注意障害物:428",
"raw_objects": 702,
"preserved": 702,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 0,
"class_mismatch": 0
},
{
"class_key": "p航行危険障害物:404",
"raw_objects": 413,
"preserved": 413,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 0,
"class_mismatch": 0
},
{
"class_key": "p投錨注意障害物:420",
"raw_objects": 355,
"preserved": 355,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 0,
"class_mismatch": 0
},
{
"class_key": "p投錨注意障害物:425",
"raw_objects": 255,
"preserved": 255,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 0,
"class_mismatch": 0
},
{
"class_key": "p航行危険障害物:403",
"raw_objects": 128,
"preserved": 128,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 0,
"class_mismatch": 0
},
{
"class_key": "p航行危険障害物:432",
"raw_objects": 40,
"preserved": 40,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 0,
"class_mismatch": 0
},
{
"class_key": "p投錨注意障害物:421",
"raw_objects": 32,
"preserved": 32,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 0,
"class_mismatch": 0
},
{
"class_key": "p投錨注意障害物:415",
"raw_objects": 25,
"preserved": 25,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 0,
"class_mismatch": 0
},
{
"class_key": "p投錨注意障害物:413",
"raw_objects": 25,
"preserved": 25,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 0,
"class_mismatch": 0
},
{
"class_key": "p航行危険障害物:409",
"raw_objects": 25,
"preserved": 25,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 0,
"class_mismatch": 0
},
{
"class_key": "p航行危険障害物:431",
"raw_objects": 22,
"preserved": 22,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 0,
"class_mismatch": 0
},
{
"class_key": "p投錨注意障害物:434",
"raw_objects": 18,
"preserved": 18,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 0,
"class_mismatch": 0
},
{
"class_key": "p航行危険障害物:433",
"raw_objects": 15,
"preserved": 15,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 0,
"class_mismatch": 0
},
{
"class_key": "p航行危険障害物:427",
"raw_objects": 9,
"preserved": 9,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 0,
"class_mismatch": 0
},
{
"class_key": "p投錨注意障害物:405",
"raw_objects": 5,
"preserved": 5,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 0,
"class_mismatch": 0
},
{
"class_key": "p航行危険障害物:412",
"raw_objects": 5,
"preserved": 5,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 0,
"class_mismatch": 0
},
{
"class_key": "p投錨注意障害物:422",
"raw_objects": 4,
"preserved": 4,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 0,
"class_mismatch": 0
},
{
"class_key": "p投錨注意障害物:424",
"raw_objects": 3,
"preserved": 3,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 0,
"class_mismatch": 0
},
{
"class_key": "p航行危険障害物:402",
"raw_objects": 3,
"preserved": 3,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 0,
"class_mismatch": 0
},
{
"class_key": "p航行危険障害物:410",
"raw_objects": 3,
"preserved": 3,
"missing_object": 0,
"wrong_relayer": 0,
"raw_class_lost": 0,
"class_mismatch": 0
}
],
"issue_examples": {}
}

View File

@@ -0,0 +1,49 @@
# Object Preservation Audit: final_20nm
- raw root: `/home/wwwroot/newpec/exported_auto/tile.mapple-on.jp__newpec-mvt-20260106__z___x___y_.pbf/tiles`
- target root: `/home/wwwroot/pbf-delivery-karatsu-20nm-final`
## Totals
- tiles compared: `154`
- raw objects: `2090`
- preserved: `2090`
- missing object: `0`
- wrong relayer: `0`
- raw class lost: `0`
- class mismatch: `0`
## Per Rule
### `p投錨注意障害物->anchor_caution_hazard_point`
- raw objects: `1426`
- preserved: `1426`
- missing object: `0`
- wrong relayer: `0`
- raw class lost: `0`
- class mismatch: `0`
### `p航行危険障害物->navigation_hazard_point`
- raw objects: `664`
- preserved: `664`
- missing object: `0`
- wrong relayer: `0`
- raw class lost: `0`
- class mismatch: `0`
## Top Class Issues
- `p投錨注意障害物:428` raw=`702` preserved=`702` missing=`0` wrong_relayer=`0` class_lost=`0` class_mismatch=`0`
- `p航行危険障害物:404` raw=`413` preserved=`413` missing=`0` wrong_relayer=`0` class_lost=`0` class_mismatch=`0`
- `p投錨注意障害物:420` raw=`355` preserved=`355` missing=`0` wrong_relayer=`0` class_lost=`0` class_mismatch=`0`
- `p投錨注意障害物:425` raw=`255` preserved=`255` missing=`0` wrong_relayer=`0` class_lost=`0` class_mismatch=`0`
- `p航行危険障害物:403` raw=`128` preserved=`128` missing=`0` wrong_relayer=`0` class_lost=`0` class_mismatch=`0`
- `p航行危険障害物:432` raw=`40` preserved=`40` missing=`0` wrong_relayer=`0` class_lost=`0` class_mismatch=`0`
- `p投錨注意障害物:421` raw=`32` preserved=`32` missing=`0` wrong_relayer=`0` class_lost=`0` class_mismatch=`0`
- `p投錨注意障害物:415` raw=`25` preserved=`25` missing=`0` wrong_relayer=`0` class_lost=`0` class_mismatch=`0`
- `p投錨注意障害物:413` raw=`25` preserved=`25` missing=`0` wrong_relayer=`0` class_lost=`0` class_mismatch=`0`
- `p航行危険障害物:409` raw=`25` preserved=`25` missing=`0` wrong_relayer=`0` class_lost=`0` class_mismatch=`0`
- `p航行危険障害物:431` raw=`22` preserved=`22` missing=`0` wrong_relayer=`0` class_lost=`0` class_mismatch=`0`
- `p投錨注意障害物:434` raw=`18` preserved=`18` missing=`0` wrong_relayer=`0` class_lost=`0` class_mismatch=`0`

View File

@@ -0,0 +1,323 @@
{
"compare_url": "http://192.168.200.184/newpec/navsea-compare-karatsu-20nm.html",
"compare_version": "compare-r14-20260401-1523",
"backend_audit_json": "/root/sourceserver/pbf/NavSea_Original_vs_Delivery_Render_Audit_Karatsu_20nm_2026-03-31.r7.json",
"visual_metrics": {
"image_width": 640,
"image_height": 400,
"total_pixels": 256000,
"changed_pixels": 234722,
"changed_ratio": 0.916883,
"mean_abs_rgb": [
32.4853,
31.6172,
51.0769
],
"rms_rgb": [
56.1542,
51.3272,
69.6673
],
"diff_bbox": [
0,
0,
640,
400
],
"full_crop_left": [
0,
150,
640,
550
],
"full_crop_right": [
640,
150,
1280,
550
],
"hotspots": [
{
"image_width": 109,
"image_height": 64,
"total_pixels": 6976,
"changed_pixels": 6974,
"changed_ratio": 0.999713,
"mean_abs_rgb": [
111.1264,
94.1901,
85.8125
],
"rms_rgb": [
148.771,
125.2909,
112.8771
],
"diff_bbox": [
0,
0,
109,
64
],
"id": "east_breakwater_marks",
"label": "东侧防波堤灯台区",
"notes": "防波堤灯台和港口标记区。优先验证远一点的灯台/航标是否也能稳定打出来。",
"backend_focus": [
"p航路標識群",
"safety_icon_missing"
],
"pane_box_norm": [
0.83,
0.0,
1.0,
0.16
],
"pane_box_pixels": [
531,
0,
640,
64
],
"left_image": "report/strict_audit_final_20nm_r4/hotspots/east_breakwater_marks_left.png",
"right_image": "report/strict_audit_final_20nm_r4/hotspots/east_breakwater_marks_right.png",
"diff_image": "report/strict_audit_final_20nm_r4/hotspots/east_breakwater_marks_diff.png"
},
{
"image_width": 147,
"image_height": 80,
"total_pixels": 11760,
"changed_pixels": 9410,
"changed_ratio": 0.80017,
"mean_abs_rgb": [
23.2099,
21.248,
26.5393
],
"rms_rgb": [
47.0367,
43.8919,
48.7282
],
"diff_bbox": [
0,
0,
147,
80
],
"id": "takashima_main_harbor_marks",
"label": "高岛主港航标区",
"notes": "主港口灯塔、红绿标识、近岸障碍标记。优先验证灯塔、小灯、红绿标识是否真正恢复。",
"backend_focus": [
"p航路標識群",
"safety_icon_missing",
"text_missing_in_engineering"
],
"pane_box_norm": [
0.34,
0.05,
0.57,
0.25
],
"pane_box_pixels": [
218,
20,
365,
100
],
"left_image": "report/strict_audit_final_20nm_r4/hotspots/takashima_main_harbor_marks_left.png",
"right_image": "report/strict_audit_final_20nm_r4/hotspots/takashima_main_harbor_marks_right.png",
"diff_image": "report/strict_audit_final_20nm_r4/hotspots/takashima_main_harbor_marks_diff.png"
},
{
"image_width": 115,
"image_height": 68,
"total_pixels": 7820,
"changed_pixels": 5564,
"changed_ratio": 0.711509,
"mean_abs_rgb": [
20.363,
20.8864,
23.9097
],
"rms_rgb": [
34.4925,
37.2038,
41.2721
],
"diff_bbox": [
0,
0,
115,
68
],
"id": "takashima_inner_nearshore_hazards",
"label": "高岛近岸碍航与鱼礁区",
"notes": "近岸鱼礁、碍航点、灯塔与小灯混合区。优先验证鱼礁和碍航物是否还在。",
"backend_focus": [
"p投錨注意障害物",
"p航行危険障害物",
"p航路標識群"
],
"pane_box_norm": [
0.44,
0.14,
0.62,
0.31
],
"pane_box_pixels": [
282,
56,
397,
124
],
"left_image": "report/strict_audit_final_20nm_r4/hotspots/takashima_inner_nearshore_hazards_left.png",
"right_image": "report/strict_audit_final_20nm_r4/hotspots/takashima_inner_nearshore_hazards_right.png",
"diff_image": "report/strict_audit_final_20nm_r4/hotspots/takashima_inner_nearshore_hazards_diff.png"
}
]
},
"backend_summary": {
"original_feature_instances": 258317,
"engineering_feature_instances": 258317,
"result_count": 516634,
"status_counts": {
"extra_in_engineering": 258317,
"missing_in_engineering": 258317
},
"top_annotation_issues": [
{
"issue": "extra_text_in_engineering",
"source_layer": "bathymetry_line",
"count": 24168
},
{
"issue": "text_missing_in_engineering",
"source_layer": "L海底地形",
"count": 24168
},
{
"issue": "extra_text_in_engineering",
"source_layer": "depth_contour",
"count": 11929
},
{
"issue": "text_missing_in_engineering",
"source_layer": "L等深線",
"count": 11929
},
{
"issue": "extra_text_in_engineering",
"source_layer": "seabed_text_point",
"count": 4499
},
{
"issue": "text_missing_in_engineering",
"source_layer": "p底質",
"count": 4499
},
{
"issue": "extra_text_in_engineering",
"source_layer": "navigation_marks",
"count": 1516
},
{
"issue": "text_missing_in_engineering",
"source_layer": "p航路標識群",
"count": 1516
},
{
"issue": "text_missing_in_engineering",
"source_layer": "p地名",
"count": 1444
},
{
"issue": "extra_text_in_engineering",
"source_layer": "place_label_sea",
"count": 1444
}
],
"top_style_semantic_issues": [
{
"issue": "depth_numeric_missing",
"source_layer": "L海底地形",
"count": 24168
},
{
"issue": "depth_numeric_missing",
"source_layer": "L等深線",
"count": 11929
},
{
"issue": "safety_icon_missing",
"source_layer": "p航路標識群",
"count": 1885
},
{
"issue": "depth_numeric_missing",
"source_layer": "L概略等深線",
"count": 350
},
{
"issue": "clearance_numeric_missing",
"source_layer": "p高さ制限",
"count": 33
}
],
"top_source_layer_issues": [
{
"status": "extra_in_engineering",
"source_layer": "baseline_outline",
"count": 87709
},
{
"status": "missing_in_engineering",
"source_layer": "P基本線ククリ",
"count": 87709
},
{
"status": "extra_in_engineering",
"source_layer": "baseline_area",
"count": 50421
},
{
"status": "missing_in_engineering",
"source_layer": "P基本線",
"count": 50421
},
{
"status": "extra_in_engineering",
"source_layer": "depth_contour",
"count": 36460
},
{
"status": "missing_in_engineering",
"source_layer": "L等深線",
"count": 36460
},
{
"status": "extra_in_engineering",
"source_layer": "bathymetry_line",
"count": 35940
},
{
"status": "missing_in_engineering",
"source_layer": "L海底地形",
"count": 35940
},
{
"status": "extra_in_engineering",
"source_layer": "onshore_structure_line",
"count": 10544
},
{
"status": "missing_in_engineering",
"source_layer": "L陸上構造物陸",
"count": 10544
}
]
},
"notes": [
"Visual metrics are browser-rendered screenshot diff metrics from the fixed compare page.",
"Backend metrics are current render-audit summary metrics and may remain blind to sprite-load failures."
]
}

View File

@@ -0,0 +1,104 @@
# NavSea Strict Audit Summary
## Scope
- Compare page: `http://192.168.200.184/newpec/navsea-compare-karatsu-20nm.html`
- Compare version: `compare-r14-20260401-1523`
- Backend render audit: `/root/sourceserver/pbf/NavSea_Original_vs_Delivery_Render_Audit_Karatsu_20nm_2026-03-31.r7.json`
## Visual Audit
- changed pixels: `234722` / `256000`
- changed ratio: `0.916883`
- mean abs rgb: `[32.4853, 31.6172, 51.0769]`
- rms rgb: `[56.1542, 51.3272, 69.6673]`
- left crop: `[0, 150, 640, 550]`
- right crop: `[640, 150, 1280, 550]`
Artifacts:
- `report/strict_audit_final_20nm_r4/compare_full.png`
- `report/strict_audit_final_20nm_r4/compare_left.png`
- `report/strict_audit_final_20nm_r4/compare_right.png`
- `report/strict_audit_final_20nm_r4/compare_diff.png`
## Hotspot AOI Audit
### 东侧防波堤灯台区
- id: `east_breakwater_marks`
- notes: `防波堤灯台和港口标记区。优先验证远一点的灯台/航标是否也能稳定打出来。`
- backend focus: `['p航路標識群', 'safety_icon_missing']`
- changed pixels: `6974` / `6976`
- changed ratio: `0.999713`
- mean abs rgb: `[111.1264, 94.1901, 85.8125]`
- pane box norm: `[0.83, 0.0, 1.0, 0.16]`
- pane box pixels: `[531, 0, 640, 64]`
- left image: `report/strict_audit_final_20nm_r4/hotspots/east_breakwater_marks_left.png`
- right image: `report/strict_audit_final_20nm_r4/hotspots/east_breakwater_marks_right.png`
- diff image: `report/strict_audit_final_20nm_r4/hotspots/east_breakwater_marks_diff.png`
### 高岛主港航标区
- id: `takashima_main_harbor_marks`
- notes: `主港口灯塔、红绿标识、近岸障碍标记。优先验证灯塔、小灯、红绿标识是否真正恢复。`
- backend focus: `['p航路標識群', 'safety_icon_missing', 'text_missing_in_engineering']`
- changed pixels: `9410` / `11760`
- changed ratio: `0.80017`
- mean abs rgb: `[23.2099, 21.248, 26.5393]`
- pane box norm: `[0.34, 0.05, 0.57, 0.25]`
- pane box pixels: `[218, 20, 365, 100]`
- left image: `report/strict_audit_final_20nm_r4/hotspots/takashima_main_harbor_marks_left.png`
- right image: `report/strict_audit_final_20nm_r4/hotspots/takashima_main_harbor_marks_right.png`
- diff image: `report/strict_audit_final_20nm_r4/hotspots/takashima_main_harbor_marks_diff.png`
### 高岛近岸碍航与鱼礁区
- id: `takashima_inner_nearshore_hazards`
- notes: `近岸鱼礁、碍航点、灯塔与小灯混合区。优先验证鱼礁和碍航物是否还在。`
- backend focus: `['p投錨注意障害物', 'p航行危険障害物', 'p航路標識群']`
- changed pixels: `5564` / `7820`
- changed ratio: `0.711509`
- mean abs rgb: `[20.363, 20.8864, 23.9097]`
- pane box norm: `[0.44, 0.14, 0.62, 0.31]`
- pane box pixels: `[282, 56, 397, 124]`
- left image: `report/strict_audit_final_20nm_r4/hotspots/takashima_inner_nearshore_hazards_left.png`
- right image: `report/strict_audit_final_20nm_r4/hotspots/takashima_inner_nearshore_hazards_right.png`
- diff image: `report/strict_audit_final_20nm_r4/hotspots/takashima_inner_nearshore_hazards_diff.png`
## Backend Render Audit
- original feature instances: `258317`
- delivery feature instances: `258317`
- result count: `516634`
Status counts:
- `extra_in_engineering`: `258317`
- `missing_in_engineering`: `258317`
Top annotation issues:
- `extra_text_in_engineering` | `bathymetry_line` | `24168`
- `text_missing_in_engineering` | `L海底地形` | `24168`
- `extra_text_in_engineering` | `depth_contour` | `11929`
- `text_missing_in_engineering` | `L等深線` | `11929`
- `extra_text_in_engineering` | `seabed_text_point` | `4499`
- `text_missing_in_engineering` | `p底質` | `4499`
- `extra_text_in_engineering` | `navigation_marks` | `1516`
- `text_missing_in_engineering` | `p航路標識群` | `1516`
- `text_missing_in_engineering` | `p地名` | `1444`
- `extra_text_in_engineering` | `place_label_sea` | `1444`
Top style semantic issues:
- `depth_numeric_missing` | `L海底地形` | `24168`
- `depth_numeric_missing` | `L等深線` | `11929`
- `safety_icon_missing` | `p航路標識群` | `1885`
- `depth_numeric_missing` | `L概略等深線` | `350`
- `clearance_numeric_missing` | `p高さ制限` | `33`
## Interpretation
- This report intentionally puts browser-rendered visual output and backend render-audit summary in one place.
- If the browser screenshot improves but backend counts do not, the current backend audit is likely blind to a browser/runtime issue such as sprite resolution.