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

如何获取德国A95高速公路全程限速值及起止坐标?

获取德国A95高速公路限速路段的起止坐标及限速数据

你当前的查询返回中点坐标是因为::lat/::lon在way的CSV输出中默认取几何中心。要提取每个限速路段的起止坐标,需要结合way的节点数据来处理,以下是调整后的Overpass API查询代码:

[out:csv(maxspeed, conditional, wet, length, start_lat, start_lon, end_lat, end_lon)]
[timeout:500];
// 定位巴伐利亚州区域
area["ISO3166-2"="DE-BY"]->.a;
// 筛选A95高速公路的motorway路段
way(area.a)["highway"="motorway"]["ref"="A 95"];
// 获取路段对应的所有节点数据
out body;
>;
out skel qt;
// 遍历每个路段,提取起止坐标及相关数据
foreach ->.w(
  node(w.w)[0]->.start_node;
  node(w.w)[-1]->.end_node;
  make length = length(w.w);
  out csv(
    w.w.maxspeed,
    w.w.conditional,
    w.w.wet,
    length,
    .start_node.lat,
    .start_node.lon,
    .end_node.lat,
    .end_node.lon
  );
);

代码说明:

  • 通过foreach遍历每一段A95的高速路,分别抓取路段的第一个节点(起点)和最后一个节点(终点)的经纬度
  • 保留了你需要的maxspeed、conditional、wet标签输出,覆盖常规限速和雨天/时段等条件限速场景
  • 自动计算每个路段的长度,替代原查询中的convert逻辑
  • 输出的CSV会直接包含每个限速段的起止坐标、限速值及条件信息

补充提示:

如果遇到同一个路段内存在多段限速的情况(比如OSM中用maxspeed:segment标签标记分段限速),这种场景需要更复杂的节点遍历逻辑,但OpenStreetMap中大部分高速限速段都是拆分为独立way存储的,上述代码可以覆盖绝大多数情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 02:31:08