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

Overpass API技术问询:如何查找车辆尽道路末端的楼梯?

解决车辆尽端路(行人可通行)末端带楼梯的Overpass查询问题

需求明确

  • 检索伦敦地区内,对车辆而言是尽端路、但行人可通行的道路(类型为residential或living_street)
  • 从上述道路中,筛选出末端连接楼梯(highway=steps)的道路

示例场景:一条居住类道路走到头后,末端节点连接着一段楼梯供行人通行

原查询的问题

OpenStreetMap中没有统一的end或dead_end标签标记车辆尽端路,直接用这类标签筛选会失效,需要通过道路拓扑结构判断尽端路。

调整后的查询代码

[out:json];
area[name="London"]->.a;
// 获取目标区域内的居住类道路
way(area.a)["highway"~"^(residential|living_street)$"]->.streets;
// 遍历筛选车辆尽端路:仅1个节点连接同类型道路,判定为车辆尽端
foreach.streets->.street(
  node(w.street)->.nodes;
  node.nodes["highway"~"^(residential|living_street)$"](around:0)->.connected_nodes;
  if (count(connected_nodes) == 1) {
    .street->.dead_end_streets;
  }
);
// 找出尽端路末端节点连接的楼梯
node(dead_end_streets)->.street_nodes;
way(area.a)["highway"="steps"](node.street_nodes)->.connected_steps;
// 输出结果:符合条件的尽端路 + 对应楼梯
(._; dead_end_streets;);
(._;>;);
out;

代码逻辑说明

  1. 先获取伦敦地区内所有residential和living_street类型的道路
  2. 遍历每条道路,统计其节点连接的同类型道路数量:如果只有1个节点有同类型道路连接,说明这条道路对车辆是尽端路(行人仍可通过末端节点走楼梯)
  3. 提取这些尽端路的所有节点,找到连接这些节点的楼梯道路
  4. 最终输出符合条件的尽端路和对应的楼梯

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 21:00:05