地球地理资源
本目录保存贴图与边界几何的来源、定位信息和旧贴图归档,不作为前端静态资源目录发布。运行资源包含原有 frontend/public/earth/assets/8k_earth_daymap.jpg 和 frontend/public/earth/assets/maps/ 内的两个写实底图及旧版归档副本。设置 → 显示 → 地表底图可切换,默认“原始底图”(菜单首项);四者共用同一球面网格和坐标。
四种运行图均为 8192×4096:Natural Earth I 为 4,104,667 字节,Natural Earth III 为 2,969,381 字节,NASA Blue Marble 为 2,328,323 字节;旧版归档副本为 4,565,076 字节。只有选择的图按需加载;成功后释放旧纹理,失败保留旧图,晚到的旧请求不得覆盖最新选择。NASA 21600×10800 原图只保存在资源目录。来源和派生哈希见 candidates/manifest.json,原图归档不变。
新资源
- 产品:Natural Earth I with Shaded Relief and Water,
NE1_LR_LC_SR_W。官网目录标注 3.2.0,实际下载包的 VERSION 文件写作 2.0.0;两者不一致,清单分别记录,不擅自改写版本号。 - 产品说明
- 官方原始包
- 配套栅格与矢量说明
- 使用条款:公有领域
- 本地原始包:
downloads/earth/NE1_LR_LC_SR_W.zip,该目录由 Git 忽略,不随站点发布。 - 原始定位文件、Web 派生定位文件和哈希记录:
natural-earth-1/。
本资源提供物理地表外观,没有烘焙项目政治边界。替换贴图不代表国界、小岛归属与配准已验收;完整工作见实施计划。
派生原则
保留完整全球经纬范围,不裁切、不改地理位置、不使用生成式重绘。只将原始 TIFF 转为 RGB、以 Lanczos 重采样至 8192×4096 并编码为 JPEG。采用相同大小以保持与旧图相同的纹理像素预算;实际质量参数、字节数和 SHA256 在 natural-earth-1/manifest.json 中记录。
2026-09-21 准备结果:源 TIFF 为 16200×8100,CRS 为 EPSG:4326;运行图采用 JPEG quality 82、4:2:0、渐进编码,4,104,667 字节,旧图为 4,565,076 字节。原始 ZIP 的所有条目通过 CRC 校验。尺寸和编码字节预算未增加,不等于已经完成帧时间性能验收。
不能将 Natural Earth 的 1:10m 解释为 10 米分辨率,它指 1:10,000,000 制图比例尺。原始包的投影说明和世界文件必须与导出图一同保留;JPEG 的定位信息需要按导出尺寸重新计算,不能照抄原 TIFF 的像元大小。
旧图归档和恢复
归档路径:archive/2026-09-21/8k_earth_daymap.jpg。这是旧运行图片的逐字节副本,未重新编码;原始来源尚未核实,不把新资源的许可或作者套用到旧图上。
恢复时先对照清单检查归档文件 SHA256,再复制到 frontend/public/earth/assets/8k_earth_daymap.jpg 并重建预览。归档图已逐字节复制为 frontend/public/earth/assets/maps/archived-original-20260921-8k.jpg,可在底图菜单选择“原始底图”;它不作为自动网络回退,也不额外常驻显存;不要通过恢复整份工作区来回退一张图片。
国界来源与项目展示规则
地表 JPG 只提供物理外观;国家面、边界线、填色和拾取分别由 GeoJSON/PMTiles 提供。config/earth-boundary-pov-policy.china-v1.json 是版本化展示口径:台湾、香港、澳门归中国,科索沃归塞尔维亚,且海上主张线不得当作陆地面。后端 backend/app/core/earth_geography_policy.py 用同一清单映射统计与卡片国家,构建脚本 scripts/earth_boundary_policy.py 对实际面几何应用归属规则。backend/app/services/earth_boundaries.py 验证策略及几何包哈希,未验证的高精或回退资源不会被标记为可用。
政策文字依据自然资源部《公开地图内容表示规范》(2023),其中明确台湾、钓鱼岛及其附属岛屿、南海诸岛等公开地图表示要求;外交部对藏南问题的说明与南海主权声明提供补充。上述文本不是可直接剪裁的国界 Polygon;国家基础地理信息中心对标准地图服务的介绍说明可下载标准地图和输出地图图片,当前没有核实可直接替换本项目资源的同口径面数据接口。
几何修正包 boundary-pov-geometry.china-v1.json 来自 Natural Earth 10m 文化矢量 的 China POV 国家面和争议区域面,固定源提交 ca96624a56bd078437bca8184e78163e5039ad19;清单保存两个原始 GeoJSON URL、SHA256、稳定 NE_ID 及未覆盖说明。Natural Earth 的POV 政策是项目几何选择的来源说明,不能替代中国官方地图审图。包内用现成多边形替换相关 CHN、IND、JPN、SRB、PSE 面,并按明确 NE_ID 合入钓鱼群岛 9 个、西沙 18 个、南沙 21 个、黄岩 1 个分面;不按模糊岛名猜测或手绘外形。
| 资源/状态 | 当前核对结果 |
|---|---|
| 高精度运行清单 | frontend/public/earth/data/boundaries/v1/manifest.json 当前选用 geojson-high-precision:254 个行政面、4,133 条海岸线、75 条争议行政线;经校验的海上主张线为 0。PMTiles 构建器共用策略,但本机缺 tippecanoe/pmtiles,尚未验收实际瓦片。 |
| 策略回退 | frontend/public/earth/data/countries-admin0.china-pov-v1.geojson 为 178 个面、974,879 字节。仅 CHN、IND、JPN、SRB、PSE 国家主体几何替换为 10m,另补港澳与济州岛原面;其余国家主体保持低精。原回退是 176 个面、275,048 字节。济州岛来自 Natural Earth 韩国 NE_ID=1159320985 的第 3 个分面,61 顶点;原低精在约 126.53°E、33.36°N 无面,当前回退与高精均命中 KOR。日本南部岛链也已由 JPN 10m 分面覆盖。 |
| 可用性与发布 | high_precision_ready=true 只说明策略校验后的高精资源可读取;policy_publishable=false、povPolicy.coverage=partial 明确表示地理政治资源尚未满足完整发布条件。浏览器实际 provider 可由 getCountryBoundaryDiagnostics() 查验。 |
尚未验证东沙陆地与中沙岛礁的可识别面;Natural Earth 的 minor-islands、reefs 与争议区小岛分面没有提供这些地点可明确归属的几何。曾母暗沙是水下地物,缺的是经核验的地理点注记,不能为了填色制造陆地面。Natural Earth 海上指示线另有 China supplement:9 条线标为 International boundary (verify),与当前源中的争议行政线不同;未经官方线形核对,不把它自动发布为九段线。海上基线坐标,例如黄岩岛领海基线公告,可用于位置核验,不能当作岛屿海岸线。
8K JPG 的 SHA256 与 natural-earth-1/manifest.json 一致,派生 JGW 和原 TIFF 的 TFW 均还原到经度 [-180,180]、纬度 [-90,90]。这是定位与格式检查,不等于两张问题截图的每处岸线已逐像素对齐;渲染截图、近岸小岛拾取及同设备帧时间仍须单独验收。
维护者修改策略或来源后,应重新运行 scripts/build_earth_boundary_policy_geometry.py、scripts/build_earth_boundary_policy_fallback.py 和高精构建器,并检查新清单的 appliedRuleIds、unresolvedRuleIds、资源哈希与 policy_publishable。聚焦回归检查为 cd backend && uv run --frozen --group dev --project .. python -m pytest -q tests/test_earth_boundaries.py tests/test_earth_geography_policy.py;scripts/harness/frontend-rules-check.sh 校验前端规则,但不代替浏览器空间验收。