开放街区内的地图补全
2026-10-09 补齐现有黄色施工边框内的 OSM 地面地图,范围为 WGS84 [113.3025, 23.094, 113.349, 23.1185],约东西 4.76 km、南北 2.73 km。 本批不扩大广州塔半径 5 km 的规划范围,也不把尚无公开轮廓的地块填成随机建筑。
本批内容
- 新增 585 段地面道路、665 个建筑轮廓、28 处公园绿地,覆盖北岸、西侧住宅区、 琶洲原通勤走廊外及南侧街巷。此前琶洲导入仅保留距通勤路线 350 m 内的道路与建筑。
- 接入 OSM 中已有的海心沙北侧、东侧两座公共步行桥,共计 587 段新增道路。 原始桥头节点与真实地面道路连接,桥面和坡道共同用于导航、渲染及碰撞。
- 水域覆盖扩展至整个开放矩形;完整拼接珠江关系后统一裁剪,保留岛屿和已有艺洲路涵洞遮罩, 同时收录区域内的小型水面。共 17 个裁剪后的水域面,西侧珠江不再提前截断。
- 公园草地、映射步道、沿路植树与路灯复用已有地表和街景系统。 新增海心沙亚运公园北侧入口、广州发展公园、二沙体育公园、花城广场和临江大道带状公园导航。 海心沙中心有独立高架步行平台,本批导航到已连通的北侧桥头。
原有腾讯、省二医、广州塔、丽园、TIT、桥梁与客村/江海大道立交保持原有建模适配。 新增道路按无向 OSM 节点对去重,裁剪不生成新的路口;道路几何交叉不自动视为连通。 单向、通行权限和自行车限制继续保留,未知高架道路、隧道、施工道路和楼梯不进入地面骑行图。
来源与精度
数据文件为 district-infill.json。 使用官方 OpenStreetMap API 0.6, 按照ODbL 1.0 保存署名与数据库许可。 共四块地图响应和三个完整水域关系响应;每份输入均记录精确 URL、采集时间和 SHA-256。 保留的道路、建筑和公园记录原始 OSM ID、版本与编辑时间,不分发贡献者账号信息。
本批原始响应最后采集时间为 2026-10-09T15:47:12.562Z。 保留的道路、建筑、公园 way 版本中,最新编辑时间为 2026-10-02T10:37:51Z; 节点可能单独更新,采集日期不代表当天实测。 坐标使用现有 WGS84 原点 [113.3196, 23.0995] 与本地米制投影。
建筑完全位于范围内且为闭合地上轮廓时才导入;地图边缘不切割建筑形成假楼体。 楼高优先使用 OSM height,其次为 building:levels × 3.2,缺失仍为 null,由渲染器估计。 公园边界可按范围裁剪,步道来自实际地面道路;树木、铺装与立面是程序美术表达。 新增步行桥的 2.4 m 桥面、最长 24 m 坡道和无宽度标签时的 3 m 宽度均为视觉估计, 已在 source.parkBridgePolicy 标记为非测绘数据。原始桥梁平面坐标与权限不因此改变。
离线重建
原始响应只保存在本地构建输入目录,不进入 Git 或客户端。轻量裁剪数据约 404 KiB, 按仓库地图 JSON 策略保留在 Git,运行时和安装后的客户端无需请求 OSM。
# 用保存的七份响应重建,保持文件采集时间可复现清单。
node scripts/import-district-infill-map.mjs /tmp/dayun-district-infill-osm
# 顺序抓取新的公开响应,再重建;后续 OSM 编辑可能改变结果。
node scripts/import-district-infill-map.mjs --fetch /tmp/dayun-district-infill-osm
# 可以先输出到临时文件审查,而不覆盖当前数据。
node scripts/import-district-infill-map.mjs /tmp/dayun-district-infill-osm --output /tmp/district-infill.json启动时补全数据与既有地图并行读取;先合并广州塔中心更新和补全,再应用地标、立交、桥梁、 下水坡道与地铁入口。withDistrictInfill 重复应用不会增加重复道路、建筑或节点。 水域拼接逻辑由 scripts/osm-water.mjs 与琶洲导入共用,避免两套河岸算法产生接缝。
验证覆盖源数据、共享节点与边去重、四侧建筑覆盖、公园导航连通性、水中道路过滤和桥面高度。 发布校验要求此地图、七份来源记录及许可随离线产物存在,并继续执行原有体积预算。