record full rebuild staging audits

This commit is contained in:
OpenAI Codex
2026-04-18 16:48:13 +08:00
parent 6d72340f36
commit 08a00a86c7
9 changed files with 335 additions and 4 deletions

View File

@@ -218,6 +218,111 @@
2. 先把“旧坏 tile”与“主线 style 差异”两类问题彻底拆开
3. 之后再决定是否把这套 rebuild 从热点 AOI 扩到全国更大范围
## 2026-04-18 全国 full 重建进行中:分片重建 + staging 截图审计
### 1. 本轮页面与脚本调整
- 已把全国人工审计页继续扩成支持右侧 `deliveryTileUrl` 覆盖:
- [`src/pbf/navsea-compare-full-audit.html`](/root/sourceserver/pbf/src/pbf/navsea-compare-full-audit.html)
- 当前页面版本已提升到:
- `full-audit-r3-20260418-1546`
- 已部署到:
- `/mnt/sda1/www/newpec/navsea-compare-full-audit.html`
- 已把全国 AOI 截图审计脚本扩成支持只跑指定 variant
- [`navsea_full_aoi_visual_audit.py`](/root/sourceserver/pbf/navsea_full_aoi_visual_audit.py)
- 新增参数:
- `--variant full`
- `--variant semantic`
### 2. 全国 full 重建策略调整
- 因当前工作树中的 [`navsea_tile_builder.py`](/root/sourceserver/pbf/navsea_tile_builder.py) 还混有语义版 sprite 迁移试验改动
- 本轮全国 `full` 重建没有直接用工作树文件
- 而是固定使用 `HEAD` 版本临时 builder
- `/tmp/navsea_tile_builder_head_20260418.py`
- 重建方式改为:
- 以当前全国 `full` 目录为 reference footprint
-`z0_8 / z9_10 / z11 / z12` 分片重建
- 当前分片目录:
- `/home/wwwroot/pbf-delivery-full-20260418-rebuild.parts/z0_8`
- `/home/wwwroot/pbf-delivery-full-20260418-rebuild.parts/z9_10`
- `/home/wwwroot/pbf-delivery-full-20260418-rebuild.parts/z11`
- `/home/wwwroot/pbf-delivery-full-20260418-rebuild.parts/z12`
### 3. 并发策略修正
- 机器实际仅 `4`
- 本轮中途确认:
- 之前直接对多分片同时开 `24 / 96 worker`
会造成严重过度并发
- 已改成当前更稳定的组合:
- `z12: workers=96`
- `z11: workers=4`
- `z9_10: workers=2`
- `z0_8: workers=1`
- 当前目标不是一次把机器打满
- 而是让 `z12` 热点风险先落盘,同时补齐其余 zoom
### 4. z12 staging 目录
- 为了在全国 rebuild 尚未全量完成前先做热点截图闭环
- 已创建 staging 根目录:
- `/home/wwwroot/pbf-delivery-full-20260418-staging-z12`
- 方式:
- 先复制当前 `full`
- 再持续用已重建的 `z12` 新 tile 覆盖
- 用途:
- 让右侧截图优先加载新 `z12`
- 未重建到的地方仍由旧 `full` 兜底
- 避免人工审计页因为“未生成到”而出现伪空白
### 5. 当前 staging 截图审计结果
- 冲绳 `10nm z12` staging 复跑:
- [`report/full_rebuild_staging_okinawa_z12_2026-04-18/full_aoi_visual_audit.md`](/root/sourceserver/pbf/report/full_rebuild_staging_okinawa_z12_2026-04-18/full_aoi_visual_audit.md)
- [`report/full_rebuild_staging_okinawa_z12_r2_2026-04-18/full_aoi_visual_audit.md`](/root/sourceserver/pbf/report/full_rebuild_staging_okinawa_z12_r2_2026-04-18/full_aoi_visual_audit.md)
- 当前 `changed_ratio = 0.786184`
- 博多 / 唐津 `z12` staging 复跑:
- [`report/full_rebuild_staging_hakata_karatsu_z12_2026-04-18/full_aoi_visual_audit.md`](/root/sourceserver/pbf/report/full_rebuild_staging_hakata_karatsu_z12_2026-04-18/full_aoi_visual_audit.md)
- 结果:
- `karatsu_5nm_full_z12 = 0.757473`
- `hakata_10nm_full_z12 = 0.529882`
### 6. 当前视觉判断
- 新 rebuild `z12` 覆盖后:
- 唐津右图中此前那类“岛屿错位 / 大片空白”现象未再出现
- 当前 remaining diff 更像:
- delivery `full` 与原始 `newpec` 的底图 / 道路 / 色彩 / 文本表达差异
- 也就是说本轮已经进一步确认:
- “坏片几何问题”
-
- “整体样式表达差异”
应分开审计
### 7. 当前重建进度快照
- 截止本记录更新时:
- `z0_8 = 45`
- `z9_10 = 1212`
- `z11 = 2240`
- `z12 = 16261`
- 目标参考总量:
- `z0_8 = 344`
- `z9_10 = 3969`
- `z11 = 12279`
- `z12 = 48556`
### 8. 下一步
1. 继续把全国 `full` 四个分片全部跑完并合并成:
- `/home/wwwroot/pbf-delivery-full-20260418-rebuild`
2. 对最终 rebuild 根目录跑:
- extent / shift 审计
- geometry / native 风险审计
3. 再用最终 rebuild 根目录做全国固定 AOI 的正式截图对比审计
4. 完成后再更新最终结论与 commit
## 2026-04-18 全国高 extent 错重编码根因钉实
### 1. 本轮新结论

View File

@@ -27,6 +27,7 @@ def parse_args() -> argparse.Namespace:
parser.add_argument("--bottom-trim", type=int, default=30)
parser.add_argument("--timeout-sec", type=int, default=120)
parser.add_argument("--virtual-time-budget-ms", type=int, default=30000)
parser.add_argument("--variant", action="append", choices=("full", "semantic"), help="只跑指定 variant可重复传入")
return parser.parse_args()
@@ -153,7 +154,8 @@ def main() -> None:
aois = json.loads(args.aoi_json.read_text(encoding="utf-8"))
cases: list[dict[str, Any]] = []
for variant in ("full", "semantic"):
variants = args.variant or ["full", "semantic"]
for variant in variants:
for aoi in aois:
for zoom in aoi["zoom_levels"]:
case_id = f"{aoi['id']}_{variant}_z{zoom}"

View File

@@ -0,0 +1,73 @@
{
"compare_url": "http://192.168.200.184/newpec/navsea-compare-full-audit.html?deliveryTileUrl=http%3A%2F%2F192.168.200.184%2Fpbf-delivery-full-20260418-staging-z12%2F%7Bz%7D%2F%7Bx%7D%2F%7By%7D.pbf",
"cases": [
{
"id": "karatsu_5nm_full_z12",
"label": "唐津 5 海里",
"variant": "full",
"zoom": 12,
"center": [
129.9697,
33.4425
],
"radius_nm": 5,
"compare_url": "http://192.168.200.184/newpec/navsea-compare-full-audit.html?deliveryTileUrl=http%3A%2F%2F192.168.200.184%2Fpbf-delivery-full-20260418-staging-z12%2F%7Bz%7D%2F%7Bx%7D%2F%7By%7D.pbf&variant=full&audit=1&center=129.9697%2C33.4425&zoom=12",
"changed_pixels": 276326,
"total_pixels": 364800,
"changed_ratio": 0.757473,
"mean_abs_rgb": [
28.6339,
29.7368,
58.0848
],
"rms_rgb": [
48.2024,
47.0653,
75.8149
],
"diff_bbox": [
0,
0,
640,
513
],
"left_image": "/root/sourceserver/pbf/report/full_rebuild_staging_hakata_karatsu_z12_2026-04-18/karatsu_5nm_full_z12/compare_left.png",
"right_image": "/root/sourceserver/pbf/report/full_rebuild_staging_hakata_karatsu_z12_2026-04-18/karatsu_5nm_full_z12/compare_right.png",
"diff_image": "/root/sourceserver/pbf/report/full_rebuild_staging_hakata_karatsu_z12_2026-04-18/karatsu_5nm_full_z12/compare_diff.png"
},
{
"id": "hakata_10nm_full_z12",
"label": "博多港中心 10 海里",
"variant": "full",
"zoom": 12,
"center": [
130.335,
33.6385
],
"radius_nm": 10,
"compare_url": "http://192.168.200.184/newpec/navsea-compare-full-audit.html?deliveryTileUrl=http%3A%2F%2F192.168.200.184%2Fpbf-delivery-full-20260418-staging-z12%2F%7Bz%7D%2F%7Bx%7D%2F%7By%7D.pbf&variant=full&audit=1&center=130.335%2C33.6385&zoom=12",
"changed_pixels": 193301,
"total_pixels": 364800,
"changed_ratio": 0.529882,
"mean_abs_rgb": [
20.6516,
21.4763,
26.4402
],
"rms_rgb": [
45.2293,
45.5602,
50.335
],
"diff_bbox": [
0,
0,
640,
513
],
"left_image": "/root/sourceserver/pbf/report/full_rebuild_staging_hakata_karatsu_z12_2026-04-18/hakata_10nm_full_z12/compare_left.png",
"right_image": "/root/sourceserver/pbf/report/full_rebuild_staging_hakata_karatsu_z12_2026-04-18/hakata_10nm_full_z12/compare_right.png",
"diff_image": "/root/sourceserver/pbf/report/full_rebuild_staging_hakata_karatsu_z12_2026-04-18/hakata_10nm_full_z12/compare_diff.png"
}
]
}

View File

@@ -0,0 +1,29 @@
# 全国 AOI 截图对比审计
## 总览
- compare page: `http://192.168.200.184/newpec/navsea-compare-full-audit.html?deliveryTileUrl=http%3A%2F%2F192.168.200.184%2Fpbf-delivery-full-20260418-staging-z12%2F%7Bz%7D%2F%7Bx%7D%2F%7By%7D.pbf`
- cases: `2`
## 差异排序
### 唐津 5 海里 · full · z12
- changed ratio: `0.757473`
- changed pixels: `276326` / `364800`
- mean abs rgb: `[28.6339, 29.7368, 58.0848]`
- compare url: `http://192.168.200.184/newpec/navsea-compare-full-audit.html?deliveryTileUrl=http%3A%2F%2F192.168.200.184%2Fpbf-delivery-full-20260418-staging-z12%2F%7Bz%7D%2F%7Bx%7D%2F%7By%7D.pbf&variant=full&audit=1&center=129.9697%2C33.4425&zoom=12`
- left image: `/root/sourceserver/pbf/report/full_rebuild_staging_hakata_karatsu_z12_2026-04-18/karatsu_5nm_full_z12/compare_left.png`
- right image: `/root/sourceserver/pbf/report/full_rebuild_staging_hakata_karatsu_z12_2026-04-18/karatsu_5nm_full_z12/compare_right.png`
- diff image: `/root/sourceserver/pbf/report/full_rebuild_staging_hakata_karatsu_z12_2026-04-18/karatsu_5nm_full_z12/compare_diff.png`
### 博多港中心 10 海里 · full · z12
- changed ratio: `0.529882`
- changed pixels: `193301` / `364800`
- mean abs rgb: `[20.6516, 21.4763, 26.4402]`
- compare url: `http://192.168.200.184/newpec/navsea-compare-full-audit.html?deliveryTileUrl=http%3A%2F%2F192.168.200.184%2Fpbf-delivery-full-20260418-staging-z12%2F%7Bz%7D%2F%7Bx%7D%2F%7By%7D.pbf&variant=full&audit=1&center=130.335%2C33.6385&zoom=12`
- left image: `/root/sourceserver/pbf/report/full_rebuild_staging_hakata_karatsu_z12_2026-04-18/hakata_10nm_full_z12/compare_left.png`
- right image: `/root/sourceserver/pbf/report/full_rebuild_staging_hakata_karatsu_z12_2026-04-18/hakata_10nm_full_z12/compare_right.png`
- diff image: `/root/sourceserver/pbf/report/full_rebuild_staging_hakata_karatsu_z12_2026-04-18/hakata_10nm_full_z12/compare_diff.png`

View File

@@ -0,0 +1,39 @@
{
"compare_url": "http://192.168.200.184/newpec/navsea-compare-full-audit.html?deliveryTileUrl=http%3A%2F%2F192.168.200.184%2Fpbf-delivery-full-20260418-staging-z12%2F%7Bz%7D%2F%7Bx%7D%2F%7By%7D.pbf",
"cases": [
{
"id": "okinawa_10nm_full_z12",
"label": "冲绳 10 海里",
"variant": "full",
"zoom": 12,
"center": [
127.67,
26.21
],
"radius_nm": 10,
"compare_url": "http://192.168.200.184/newpec/navsea-compare-full-audit.html?deliveryTileUrl=http%3A%2F%2F192.168.200.184%2Fpbf-delivery-full-20260418-staging-z12%2F%7Bz%7D%2F%7Bx%7D%2F%7By%7D.pbf&variant=full&audit=1&center=127.67%2C26.21&zoom=12",
"changed_pixels": 286800,
"total_pixels": 364800,
"changed_ratio": 0.786184,
"mean_abs_rgb": [
35.1541,
37.5348,
57.2885
],
"rms_rgb": [
57.997,
59.3287,
80.8913
],
"diff_bbox": [
0,
0,
640,
513
],
"left_image": "/root/sourceserver/pbf/report/full_rebuild_staging_okinawa_z12_2026-04-18/okinawa_10nm_full_z12/compare_left.png",
"right_image": "/root/sourceserver/pbf/report/full_rebuild_staging_okinawa_z12_2026-04-18/okinawa_10nm_full_z12/compare_right.png",
"diff_image": "/root/sourceserver/pbf/report/full_rebuild_staging_okinawa_z12_2026-04-18/okinawa_10nm_full_z12/compare_diff.png"
}
]
}

View File

@@ -0,0 +1,19 @@
# 全国 AOI 截图对比审计
## 总览
- compare page: `http://192.168.200.184/newpec/navsea-compare-full-audit.html?deliveryTileUrl=http%3A%2F%2F192.168.200.184%2Fpbf-delivery-full-20260418-staging-z12%2F%7Bz%7D%2F%7Bx%7D%2F%7By%7D.pbf`
- cases: `1`
## 差异排序
### 冲绳 10 海里 · full · z12
- changed ratio: `0.786184`
- changed pixels: `286800` / `364800`
- mean abs rgb: `[35.1541, 37.5348, 57.2885]`
- compare url: `http://192.168.200.184/newpec/navsea-compare-full-audit.html?deliveryTileUrl=http%3A%2F%2F192.168.200.184%2Fpbf-delivery-full-20260418-staging-z12%2F%7Bz%7D%2F%7Bx%7D%2F%7By%7D.pbf&variant=full&audit=1&center=127.67%2C26.21&zoom=12`
- left image: `/root/sourceserver/pbf/report/full_rebuild_staging_okinawa_z12_2026-04-18/okinawa_10nm_full_z12/compare_left.png`
- right image: `/root/sourceserver/pbf/report/full_rebuild_staging_okinawa_z12_2026-04-18/okinawa_10nm_full_z12/compare_right.png`
- diff image: `/root/sourceserver/pbf/report/full_rebuild_staging_okinawa_z12_2026-04-18/okinawa_10nm_full_z12/compare_diff.png`

View File

@@ -0,0 +1,39 @@
{
"compare_url": "http://192.168.200.184/newpec/navsea-compare-full-audit.html?deliveryTileUrl=http%3A%2F%2F192.168.200.184%2Fpbf-delivery-full-20260418-staging-z12%2F%7Bz%7D%2F%7Bx%7D%2F%7By%7D.pbf",
"cases": [
{
"id": "okinawa_10nm_full_z12",
"label": "冲绳 10 海里",
"variant": "full",
"zoom": 12,
"center": [
127.67,
26.21
],
"radius_nm": 10,
"compare_url": "http://192.168.200.184/newpec/navsea-compare-full-audit.html?deliveryTileUrl=http%3A%2F%2F192.168.200.184%2Fpbf-delivery-full-20260418-staging-z12%2F%7Bz%7D%2F%7Bx%7D%2F%7By%7D.pbf&variant=full&audit=1&center=127.67%2C26.21&zoom=12",
"changed_pixels": 286800,
"total_pixels": 364800,
"changed_ratio": 0.786184,
"mean_abs_rgb": [
35.1541,
37.5348,
57.2885
],
"rms_rgb": [
57.997,
59.3287,
80.8913
],
"diff_bbox": [
0,
0,
640,
513
],
"left_image": "/root/sourceserver/pbf/report/full_rebuild_staging_okinawa_z12_r2_2026-04-18/okinawa_10nm_full_z12/compare_left.png",
"right_image": "/root/sourceserver/pbf/report/full_rebuild_staging_okinawa_z12_r2_2026-04-18/okinawa_10nm_full_z12/compare_right.png",
"diff_image": "/root/sourceserver/pbf/report/full_rebuild_staging_okinawa_z12_r2_2026-04-18/okinawa_10nm_full_z12/compare_diff.png"
}
]
}

View File

@@ -0,0 +1,19 @@
# 全国 AOI 截图对比审计
## 总览
- compare page: `http://192.168.200.184/newpec/navsea-compare-full-audit.html?deliveryTileUrl=http%3A%2F%2F192.168.200.184%2Fpbf-delivery-full-20260418-staging-z12%2F%7Bz%7D%2F%7Bx%7D%2F%7By%7D.pbf`
- cases: `1`
## 差异排序
### 冲绳 10 海里 · full · z12
- changed ratio: `0.786184`
- changed pixels: `286800` / `364800`
- mean abs rgb: `[35.1541, 37.5348, 57.2885]`
- compare url: `http://192.168.200.184/newpec/navsea-compare-full-audit.html?deliveryTileUrl=http%3A%2F%2F192.168.200.184%2Fpbf-delivery-full-20260418-staging-z12%2F%7Bz%7D%2F%7Bx%7D%2F%7By%7D.pbf&variant=full&audit=1&center=127.67%2C26.21&zoom=12`
- left image: `/root/sourceserver/pbf/report/full_rebuild_staging_okinawa_z12_r2_2026-04-18/okinawa_10nm_full_z12/compare_left.png`
- right image: `/root/sourceserver/pbf/report/full_rebuild_staging_okinawa_z12_r2_2026-04-18/okinawa_10nm_full_z12/compare_right.png`
- diff image: `/root/sourceserver/pbf/report/full_rebuild_staging_okinawa_z12_r2_2026-04-18/okinawa_10nm_full_z12/compare_diff.png`

View File

@@ -317,12 +317,13 @@
<script src="https://unpkg.com/maplibre-gl@4.7.1/dist/maplibre-gl.js"></script>
<script>
const HTML_VERSION = "full-audit-r2-20260416-1504";
const HTML_VERSION = "full-audit-r3-20260418-1546";
const ORIGINAL_STYLE_URL = "./style.json";
const ORIGINAL_TILE_URL = "http://192.168.200.184/newpec/exported_auto/tile.mapple-on.jp__newpec-mvt-20260106__z___x___y_.pbf/tiles/{z}/{x}/{y}.pbf";
const searchParams = new URLSearchParams(window.location.search);
const auditMode = searchParams.get("audit") === "1";
const variantParam = (searchParams.get("variant") || "semantic").trim().toLowerCase();
const deliveryTileUrlOverride = (searchParams.get("deliveryTileUrl") || "").trim();
const PROFILES = {
full: {
label: "全国",
@@ -439,7 +440,11 @@
deliveryPaneLabelEl.textContent = PROFILE.deliveryPaneLabel;
homeBtn.textContent = PROFILE.homeLabel;
styleChip.textContent = `Style: ${PROFILE.deliveryStyleVersion} (${PROFILE.deliveryStyleFile})`;
pbfChip.textContent = `PBF: ${PROFILE.deliveryPbfVersion} (${PROFILE.deliveryPbfName})`;
if (deliveryTileUrlOverride) {
pbfChip.textContent = `PBF: override (${deliveryTileUrlOverride})`;
} else {
pbfChip.textContent = `PBF: ${PROFILE.deliveryPbfVersion} (${PROFILE.deliveryPbfName})`;
}
spriteChip.textContent = `Sprite: ${PROFILE.deliverySpriteVersion} (${PROFILE.deliverySpriteName})`;
document.title = `NavSea Compare · ${PROFILE.label}`;
}
@@ -486,7 +491,8 @@
function buildDeliveryStyle(style) {
const next = structuredClone(style);
if (next.sources?.navsea_delivery) {
next.sources.navsea_delivery.tiles = [withCacheBuster(PROFILE.deliveryTileUrl, styleVersion)];
const tileUrl = deliveryTileUrlOverride || PROFILE.deliveryTileUrl;
next.sources.navsea_delivery.tiles = [withCacheBuster(tileUrl, styleVersion)];
}
return touchStyleAssets(next);
}