From ed5de0752f0f5dc650be38237117b17351a00270 Mon Sep 17 00:00:00 2001 From: OpenAI Codex Date: Thu, 6 Aug 2026 15:42:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=20Full=20PBF=20=E8=B7=A8?= =?UTF-8?q?=E6=9C=BA=E5=99=A8=E9=87=8D=E5=BB=BA=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- NavSea_全国完整PBF重建流水线说明.md | 28 ++++++++++++++++++---------- navsea_tile_builder.py | 13 +++++++------ requirements.txt | 2 ++ 3 files changed, 27 insertions(+), 16 deletions(-) diff --git a/NavSea_全国完整PBF重建流水线说明.md b/NavSea_全国完整PBF重建流水线说明.md index 6b55c28..a98803b 100644 --- a/NavSea_全国完整PBF重建流水线说明.md +++ b/NavSea_全国完整PBF重建流水线说明.md @@ -73,13 +73,13 @@ tile.mapple-on.jp__newpec-mvt-20260106__z___x___y_.pbf/tiles ### 2.4 固定代码版本 -2026-04-18 全国分片重建时,固定使用的是当时的 HEAD 版本。对应可追溯节点: +当前可重建分支已经包含全国 Full 生成器、规则包、semantic 后处理和审计代码。当前分支节点为: ```text -6d72340 guard high-extent tile reencoding +full-semantic-extentfix-baseline @ d0ef394 ``` -当前工作区的 `navsea_tile_builder.py` 已经包含后续修改,不能用于严格复建该历史基线。应使用独立 Git worktree,同时固定: +历史上用于 2026-04-18 重建的源节点仍记录为 `6d72340`。如果需要严格复现历史代码,可额外 fetch 该节点;如果目标是重建当前 Full 基线,直接使用当前分支即可。当前分支固定包含: - `navsea_tile_builder.py` - `navsea_mapping_registry.py` @@ -94,7 +94,7 @@ MySQL pbf_analysis 语义表 + navsea-core 映射规则 ↓ -固定 6d72340 代码节点 +当前 `full-semantic-extentfix-baseline` 代码节点 ↓ 按 z0-8 / z9-10 / z11 / z12 分片重建 ↓ @@ -125,28 +125,36 @@ navsea-core 映射规则 /home/wwwroot/pbf-delivery-full-rebuild-candidate ``` -### 4.2 建立固定代码 worktree +### 4.2 使用当前分支代码 ```bash cd /root/sourceserver/pbf -git worktree add --detach /tmp/navsea-full-rebuild-code 6d72340 +git switch --detach full-semantic-extentfix-baseline ``` 检查固定版本: ```bash -git -C /tmp/navsea-full-rebuild-code rev-parse HEAD +git rev-parse HEAD ``` -期望以 `6d72340` 开头。 +期望为 `d0ef394` 或该分支后续更新后的提交。 ### 4.3 设置路径变量 ```bash export REPO=/root/sourceserver/pbf -export CODE=/tmp/navsea-full-rebuild-code -export PY=/root/sourceserver/pbf/.venv/bin/python +export CODE=$REPO +export PY=$REPO/.venv/bin/python + +# 按目标机器实际情况设置;NAVSEA_DB_SOCKET 为空时使用 TCP。 +export NAVSEA_DB_HOST=127.0.0.1 +export NAVSEA_DB_PORT=3306 +export NAVSEA_DB_USER=root +export NAVSEA_DB_PASSWORD='请填入数据库密码' +export NAVSEA_DB_NAME=pbf_analysis +export NAVSEA_DB_SOCKET=/tmp/mysql.sock export SOURCE=/home/wwwroot/newpec/exported_auto/tile.mapple-on.jp__newpec-mvt-20260106__z___x___y_.pbf/tiles export REFERENCE=/home/wwwroot/pbf-delivery-full-20260415 diff --git a/navsea_tile_builder.py b/navsea_tile_builder.py index be81bc9..23e1b0c 100644 --- a/navsea_tile_builder.py +++ b/navsea_tile_builder.py @@ -4,6 +4,7 @@ import argparse import hashlib import json import math +import os import re import struct from collections import defaultdict @@ -221,12 +222,12 @@ def normalize_release_canonical_object_type(source_layer: str, canonical_object_ @dataclass(frozen=True) class DbConfig: - host: str = "localhost" - port: int = 3306 - user: str = "root" - password: str = "2chi9ks2" - database: str = "pbf_analysis" - unix_socket: str | None = "/tmp/mysql.sock" + host: str = os.getenv("NAVSEA_DB_HOST", "localhost") + port: int = int(os.getenv("NAVSEA_DB_PORT", "3306")) + user: str = os.getenv("NAVSEA_DB_USER", "root") + password: str = os.getenv("NAVSEA_DB_PASSWORD", "") + database: str = os.getenv("NAVSEA_DB_NAME", "pbf_analysis") + unix_socket: str | None = os.getenv("NAVSEA_DB_SOCKET", "/tmp/mysql.sock") or None @dataclass(frozen=True) diff --git a/requirements.txt b/requirements.txt index ab84d26..10c5e75 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,3 +6,5 @@ eccodes>=1.7 mercantile>=1.2 mapbox-vector-tile>=2.1 PyMySQL>=1.1 +Pillow>=10.0 +cryptography>=42.0