7.2 KiB
7.2 KiB
NavSea 全国四脚本一页面数据生成与查看说明
本文说明全国版三层数据的重算、导出、整体密度图生成和页面查看方式。
当前统一数据库:
navsea_japan_coast_grid
当前全国三层:
coast_200m:全国海岸 200x200fish_port_20m:全国渔港 20x20hazard_50m:全国海上障碍 50x50
当前整体密度图:
density_overview:三档密度整体格子图
1. 生成顺序
建议按下面顺序重算:
- 先生成
200x200 - 再生成
20x20 - 最后生成
50x50 - 再导出全国静态 JSON 资产
- 最后查看整体密度图
这样可以先把底盘准备好,再做上层数据。
2. 200x200 全国海岸重算
脚本:
默认会写入:
- 数据库:
navsea_japan_coast_grid - 图层:
coast_200m - 导出目录:
out/coastline/japan_coast_grid_mysql
执行命令:
cd /root/sourceserver/pbf
./.venv/bin/python coastline/build_japan_coast_grid_mysql.py
3. 20x20 全国渔港重算
脚本:
默认会写入:
- 数据库:
navsea_japan_coast_grid - 图层:
fish_port_20m
推荐执行命令:
cd /root/sourceserver/pbf
./.venv/bin/python coastline/build_fish_port_20m_full_mysql_resume.py \
--resume \
--max-scan-cells 200000
如果只想重算某个 PRC,可以显式指定,例如:
cd /root/sourceserver/pbf
./.venv/bin/python coastline/build_fish_port_20m_full_mysql_resume.py \
--prc 02 \
--max-scan-cells 200000
如果只想重算某个具体渔港,可以直接用 FPC,例如:
cd /root/sourceserver/pbf
./.venv/bin/python coastline/build_fish_port_20m_full_mysql_resume.py \
--fpc 1210100 \
--max-scan-cells 200000
说明:
PRC需要按两位字符串理解,2和02等价FPC是单个渔港的港码,脚本会先反查它所属的PRC,再只重算这个港口- 单港口模式会在日志里同时输出:
- 命中的
200x200粗格数量 - 最终写入的
20x20格子数量
- 命中的
- 默认先按渔港 bbox 找同区域
coast_200m粗格,再把粗格切成20x20 - 默认不会再允许无边界整片扫描
- 如果确实要回退旧行为,需要手动加脚本里提供的相应开关
4. 根据港名查 FPC
脚本:
用途:
- 已知渔港名字时,先查出可能的
FPC - 这个脚本会扫描
coastline/C09-06.zip里的渔港要素 - 支持模糊匹配和精确匹配
推荐用法:
cd /root/sourceserver/pbf
./.venv/bin/python find_fpc_by_port_name.py 無垢島
如果你想只看精确命中:
cd /root/sourceserver/pbf
./.venv/bin/python find_fpc_by_port_name.py 無垢島 --exact
如果你想要 JSON 结果:
cd /root/sourceserver/pbf
./.venv/bin/python find_fpc_by_port_name.py 無垢島 --json
如果原始包里没有港名字段,建议改用港名对照表:
cd /root/sourceserver/pbf
./.venv/bin/python find_fpc_by_port_name.py 無垢島 --catalog out/port_name_catalog.csv
对照表最低需要这些列里的任意几列:
name/港名/名称FPC- 可选
PRC
说明:
- 这份脚本主要查
C09-06.zip里的渔港名称字段 - 默认会把
NA2、NA4、FCF等候选字段一起拿来比对 - 输出里会给出:
FPCPRC- 主名称
- 辅助名称
- 源记录 id
- 如果原始包里没有这条名字,脚本会提示你改用
--catalog
5. 50x50 全国障碍重算
脚本:
默认会写入:
- 数据库:
navsea_japan_coast_grid - 图层:
hazard_50m - PBF 根目录:
/home/wwwroot/pbf-delivery-full-20260418-rebuild
执行命令:
cd /root/sourceserver/pbf
./.venv/bin/python coastline/build_japan_hazard_50m_mysql.py
这个脚本当前会纳入:
navigation_hazard_areafixed_fishing_gear_areaanchor_caution_hazard_areanavigation_hazard_pointanchor_caution_hazard_pointnavigation_marksbaseline_area中canonical_object_type=breakwater
6. 全国三层静态 JSON 导出
脚本:
默认导出到:
src/pbf/coastline-mysql/japan_national/
执行命令:
cd /root/sourceserver/pbf
./.venv/bin/python coastline/export_navgrid_mysql_assets.py \
--db-name navsea_japan_coast_grid \
--out-dir src/pbf/coastline-mysql/japan_national
导出结果包括:
coast_200m_grid.geojsonfish_port_20m_grid.geojsonhazard_50m_grid.geojsondensity_overview_grid.geojsonmanifest.json
说明:
density_overview_grid.geojson是按密度优先级合并后的整体格子图- 同一区域如果存在更高密度格子,就优先保留更高密度
- 当前密度优先级:
20x20= 高密度,淡绿色50x50= 中密度,黄色200x200= 低密度,淡红色
7. HTML 预览页面
当前全国预览页面:
http://192.168.200.184/newpec/navsea-coastline-fukuoka-saga-200m.html
说明:
- 页面标题已经改成全国口径
- 页面内有四个按钮:
200x20020x2050x50整体密度
页面对应的本地文件:
页面加载的数据源:
./coastline-mysql/japan_coast_200m/manifest.json./coastline-mysql/japan_coast_200m/coast_200m_grid.geojson./coastline-mysql/japan_national/manifest.json./coastline-mysql/japan_national/fish_port_20m_grid.geojson./coastline-mysql/japan_national/hazard_50m_grid.geojson./coastline-mysql/japan_national/density_overview_grid.geojson
8. 页面查看方式
如果只是看全国 200x200:
- 打开页面
- 默认就是
200x200 - 页面会自动定位到全国底盘范围
如果想切换看渔港或障碍:
- 点击
20x20 - 点击
50x50 - 点击
整体密度
如果想强制刷新:
- 点击
重新加载
9. 线下同步到网页目录
如果你重新生成了静态资产,想让线上页面立即看到新内容,通常需要把生成结果同步到网页目录:
cp -r src/pbf/coastline-mysql/japan_national /mnt/sda1/www/newpec/
cp src/pbf/navsea-coastline-fukuoka-saga-200m.html /mnt/sda1/www/newpec/navsea-coastline-fukuoka-saga-200m.html
10. 一句话版
最常用的整套命令是:
cd /root/sourceserver/pbf
./.venv/bin/python coastline/build_japan_coast_grid_mysql.py
./.venv/bin/python coastline/build_fish_port_20m_full_mysql_resume.py --resume --max-scan-cells 200000
./.venv/bin/python coastline/build_japan_hazard_50m_mysql.py
./.venv/bin/python coastline/export_navgrid_mysql_assets.py --db-name navsea_japan_coast_grid --out-dir src/pbf/coastline-mysql/japan_national
然后打开:
http://192.168.200.184/newpec/navsea-coastline-fukuoka-saga-200m.html