广州塔半径 5 km:真实数据与运行时扩建
核查日期:2026-10-10。基于远端 ba9132f63380adb1d1ffb1c14512fd685a0838a4 的内容快照。部署须先发布并验证 COS 数据、写入正式媒体清单,再构建;本地存在资源不等于线上已发布。
范围与精度
中心 WGS84 [113.3191314,23.1090007],半径 5,000 m,面积 78.5398 km²。下载/运行时包围框为 [113.27030084788025,23.064085141250448,113.36796195211976,23.15391625874955],圆形通行限制继续生效。旧地图矩形约 12.9859 km²;其面积占比 16.53% 仅表示旧范围,不表示数据完整率。
本次保留原有节点、建筑 ID、地标及专门桥梁,加入 7,905 个地面道路段、7,066 个简单建筑轮廓,并以 141 个完整组装水域多边形(含内洞)更新水域。新道路在 4,975 m 半径裁剪,给道路宽度留安全余量。建筑保留与目标圆相交的完整轮廓,水域按包围框裁剪。78.5 km² 是目标覆盖范围,并非逐栋完整高保真承诺。
4,705 项进入排除/复核清单,包括新高架、桥、隧道、部分道路类型、建筑部件、带基底高度建筑、复合建筑关系以及与既有建筑/道路/水岸冲突的轮廓。没有可靠高程的新跨江道路不降成地面道路。缺测的建筑、立面、路面高差和新地标细节仍未补齐。OSM 标注楼高优先;否则层数 × 3.2 m 为估计;无楼高的展示使用普通体块默认值,不代表测量。
初版从 TIT 起点可骑行图的同一分量有 25,683 个节点;距塔心 4,300 m 的南/北/东/西目标,到这个分量最近节点分别为 1,149.7/67.5/183.1/821.1 m。短桥连接修正基于同一源加入三座桥、排除两条地下/室内误地面道路后,分量增至 27,206 个节点,最近节点距离变为 177.3/67.5/183.1/38.5 m;按最近线段测量分别为 177.3/67.5/182.5/31.7 m。探针使用项目实际模型中心,保留其他断开的道路分量,不能据此声称每条道路均从起点连续可达。
来源与许可
主数据为 Geofabrik 广东区域 OSM 提取,不是广东政府地图。固定下载为 guangdong-261009.osm.pbf。
- PBF 快照:
2026-10-09T20:21:04Z - 大小:173,463,928 字节;下载后核对官方 MD5
- SHA-256:
f96683e1daafb1561b736ccc67cada1d00336cacc579e0083fc5984ca7e1a451 - 署名:© OpenStreetMap contributors;提取服务 Geofabrik GmbH
- 地图数据:ODbL 1.0 与署名说明。派生数据库分发应继续提供许可、署名以及适用的共享要求;源码许可不替代数据许可
源为 WGS84。游戏固定原点 [113.3196,23.0995],纬向每度 111,320 m,经向乘原点纬度余弦,北向映射负 z。保留厘米小数只是数值稳定化,不代表厘米精度。未从商业地图截图或受限 API 批量提取资产。
也核查了用户指定 Tsdsj/guangzhou-3d:代码 MIT,OSM 数据 ODbL,DEM 另有许可。其主体 raw 目录没有完整原始 OSM;社区建筑框南界 23.085,无法覆盖目标南侧。离线筛选 9,765 建筑、5,925 道路候选,未直接用于本次运行时增量。曾考虑的 way/1258662257 是 building:part、基底 8 层,已排除,绝未作为落地实体加入。社区 Float32 数据须先按其 origin/kx/kz 反投影,不能直接平移到游戏坐标。
实际分块与预算
数据运输为 5 个 ground JSON 与 1 个 region JSON,每个小于 1 MiB,总 3,971,815 字节;通过现有 COS 媒体清单按字节数和 SHA-256 恢复到 public/maps/canton-5km,原始 PBF、证据和运行时 JSON 均不进入 Git。运输分包不是运行时空间分块:全部基础道路/水域元数据仍会加载。
新增建筑几何采用 320 m 空间格、1,600 m 可视范围,近景 260 m 与 24 m 滞回,离开窗口释放 GPU 几何。上限 144 格、2,000 建筑、250,000 顶点;共享材质,远景简化,无逐栋装饰。旧详细地图外不批量生成道路装饰设施。
新增建筑物理采用 256 m 格,骑行者周围 3×3 常驻,上限 25 格、1,024 collider;查询/高速移动/传送前补齐所需格,超过预算拒绝操作而非带着碰撞空隙继续。相机、射弹、停车与车辆查询同样受窗口约束。真实数据扫描的 3×3 最大 433、任意 5×5 最大 660。拒绝 reset 后调用者必须同步物理实际接受的位置,不能让视觉位置超前。
6,280 个真实数据探针验证视图窗口覆盖所有近身碰撞建筑;观察到最高 102 批次、2,000 建筑、67,600 顶点、2,648,952 字节 几何 typed buffers。CPU 窗口更新 p50 0.51 ms、p95 2.97 ms、最大 30.63 ms,仅是当前执行器测试,不能当成手机 GPU 帧率。已在独立地图构建上取得广州塔、珠江两岸、海心桥及游戏内总图的真实浏览器截图,使用单次临时 CPU 渲染,截图后已关闭清理;没有真实 GPU/手机帧率验收,也不是最新玩法整合版的端到端截图。
离线复现与发布
依赖 pyosmium 4.3.1(标准 PyPI),不执行第三方地图仓库脚本。完整来源放在忽略的 .cache/canton-map/geofabrik/。
PYTHONPATH=.cache/canton-map/python python scripts/extract-canton-pbf.py \
.cache/canton-map/geofabrik/guangdong-261009.osm.pbf \
.cache/canton-map/geofabrik/canton-full-v2.json
node scripts/build-canton-ground-expansion.mjs \
.cache/canton-map/geofabrik/canton-full-v2.json \
.cache/canton-map/ground-final \
apps/dayun-kicker/public/maps/canton-5km提取器校验固定 PBF 摘要,保留相交要素、父关系、嵌套成员和完整 way 节点,并拒绝缺失引用。输出去除贡献者个人字段。构建器保留 OSM ID,已有模型优先去重,水域采用 relation outer/inner 组装;不支持的角色/嵌套水域明确失败。
输出 runtime-assets.json 是待发布文件清单,仅有大小、摘要及建议前缀,不含虚构下载 URL。成功上传且匿名回读验证后,发布方才写 assets/media-manifest.json;未取得发布能力时不能提交一个声称可直接下载新地图的正式清单。原始快照无需上传。详细 evidence/review 保留本地供复核。assets/canton-5km-source.json 保存待发布资源摘要,不是可下载的正式媒体清单。
验收须区分:文件/坐标覆盖、道路图连通、物理安全、运行时视觉和真实设备性能。结构与单元测试通过不能替代后两项;生产体积阈值沿用原设置,不提高预算。
物理与几何验收
最终 7,066 栋版本通过真实 combined map 全量建筑/路面零侵入校验(1 cm 容差),以及导入器/运行时路宽 275 组一致性检查。广州大桥、海心桥保留桥面在 Rapier 中双向全程每步不超过 2 m 验证,连续桥高、无落水、无远端碰撞窗口拒绝。此验收不证明全部未建高架或所有外圈道路连通。
独立地图构建的 Web 构建成功;当时严格预算有两项失败:district 350.4/350 KiB、city 353.2/350 KiB,完整资源 19.32/20 MiB 通过。不提高阈值,不以动态隐藏必需代码伪装通过;需要与玩法分包统一优化后再声明预算合格。
与玩法版本整合
6 个数据对象已经发布到既有 COS 广州版本目录,并纳入正式 assets/media-manifest.json(guangzhou / 2026-10-09-ground-v1),按摘要恢复验证。单独的来源清单仍保留版本和许可核查信息。
合入搜查/生活道具版本时同时保留搜查运行时及安全位置同步。旧存档载具若通过骑行胶囊检查,却无法通过停车完整外形检查,则仅丢弃无法安全恢复的载具位置,继续恢复背包、搜查和委托状态,并提示已恢复安全位置;不把检查失败转换为额外奖励。
玩法整合副本 Web 构建及 483 文件发布产物校验通过;严格预算仍有两项失败:district 352.4/350 KiB、city 352.8/350 KiB,完整资源 19.36/20 MiB 通过。未改预算阈值,不能宣称生产性能检查全部通过。