You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于OpenStreetMap计算城市步行道总长度的标签规则确认

OSM城市步行道总长度计算的标签覆盖修正方案

一、标签覆盖的遗漏与错误修正

1. sidewalk 标签的正确范围

你当前的sidewalk过滤只包含了left/right/both,需要补充以下取值,但要注意不同取值的统计逻辑:

  • sidewalk=yes:部分制图者会用这个替代both,表示道路两侧均有人行道
  • sidewalk=lane:道路上划出的专用步行区域(比如共享道路内的步行道)
  • ❌ 不要直接统计sidewalk=separate:这个标签标记在主路上,仅说明主路旁有独立步行道,主路本身不是步行道,应去统计对应的独立步行道(即highway=footway)

2. footway 相关标签的调整

你的代码里存在冗余和错误标签,调整如下:

  • 保留:
    • way["footway"=crossing](area.a);:过街设施,属于步行道范畴
    • way["footway"=traffic_island](area.a);:安全岛,步行相关设施
    • way["footway"=alley](area.a);:步行小巷
    • way["highway"=footway](area.a);:所有独立步行道(包含footway=sidewalk等子类型)
    • way["highway"=pedestrian](area.a);:完全禁止车辆的步行街区域
  • 删除:
    • way["footway"=sidewalk](area.a);:已被highway=footway覆盖,重复统计
    • way["footway"=residential](area.a);:非标准标签,正确逻辑是highway=residential+sidewalk=*,这部分已由sidewalk标签覆盖

3. 避免重复计数的注意点

  • highway=footway 已经包含所有独立步行道,不要和其他footway=*子类型重复过滤
  • 对于sidewalk=left/right/both/yes/lane的主路,统计的是主路附带的步行区域,这部分长度是主路长度的一部分(比如both对应两侧步行道,长度为主路×2)。如果直接统计主路的way长度,会把机动车道部分也算进去导致数据偏大,若要精确统计,需用工具提取步行道的几何段;若仅做近似统计,可保留过滤但需明确数据的近似性。

修正后的代码示例

// 独立步行道与步行街
way["highway"=footway](area.a);
way["highway"=pedestrian](area.a);

// 步行相关设施
way["footway"=crossing](area.a);
way["footway"=traffic_island](area.a);
way["footway"=alley](area.a);

// 主路附带的步行区域
way["sidewalk"=both](area.a);
way["sidewalk"=left](area.a);
way["sidewalk"=right](area.a);
way["sidewalk"=yes](area.a);
way["sidewalk"=lane](area.a);

内容的提问来源于stack exchange,提问作者theCube

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 03:51:20