【问题标题】:overpass-api ways query include coordinatesoverpass-api方式查询包括坐标
【发布时间】:2017-10-06 22:06:11
【问题描述】:

我正在尝试查询特定区域的酒店。不幸的是,我需要查询节点和方式,因为有些酒店只存储为方式,有些则存储为节点。

http://overpass.osm.rambler.ru/cgi/interpreter?data=%28way[tourism~hotel]%28around:5000,50.10707,8.76040%29%29;out;

方式查询的结果不包含任何坐标,只有很多节点引用:

<nd ref="1438833423"/>

有没有办法在输出中也包含节点的坐标,或者必须为每个节点启动大量额外的查询?

汤姆

【问题讨论】:

    标签: openstreetmap overpass-api


    【解决方案1】:

    是的,还有多种方法可以通过 Overpass API 获取非节点特征的几何图形。最简单的可能是使用center 输出模式(将out; 替换为out center;):http://overpass-turbo.eu/s/4O4。其他选项是在递归步骤中获取节点引用:http://overpass-turbo.eu/s/4O5 或使用full geometry output mode

    PS:不要忘记,酒店也可以映射为 OSM 中的(多面体)关系,而不仅仅是节点或方式。

    【讨论】:

    • "out center",很简单,谢谢 :) 也许这应该添加到 wiki wiki.openstreetmap.org/wiki/Overpass_API/Language_Guide
    • 是的,为 JSON 格式实现最近添加的几何输出模式是一个待办事项,请参阅此github ticket 了解更多信息。
    • out:json 现在应该可以工作了。此功能最近才被推向生产。我同意语言指南需要一些更新以适应新的输出模式。
    【解决方案2】:

    死灵术。

    真正回答这个问题:

    [out:json];
    way(29858799);
    out ids geom;
    

    这将以所选方式为您提供每个点的几何形状。

    {
      "version": 0.6,
      "generator": "Overpass API",
      "osm3s": {
        "timestamp_osm_base": "2017-10-06T13:59:02Z",
        "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."
      },
      "elements": [
    
    {
      "type": "way",
      "id": 29858799,
      "bounds": {
        "minlat": 47.3604067,
        "minlon": 8.5342631,
        "maxlat": 47.3612503,
        "maxlon": 8.5352457
      },
      "geometry": [
        { "lat": 47.3612503, "lon": 8.5351944 },
        { "lat": 47.3612252, "lon": 8.5342631 },
        { "lat": 47.3610145, "lon": 8.5342755 },
        { "lat": 47.3610212, "lon": 8.5345227 },
        { "lat": 47.3606405, "lon": 8.5345451 },
        { "lat": 47.3606350, "lon": 8.5343411 },
        { "lat": 47.3604067, "lon": 8.5343545 },
        { "lat": 47.3604120, "lon": 8.5345623 },
        { "lat": 47.3604308, "lon": 8.5352457 },
        { "lat": 47.3606508, "lon": 8.5352328 },
        { "lat": 47.3606413, "lon": 8.5348784 },
        { "lat": 47.3610383, "lon": 8.5348551 },
        { "lat": 47.3610477, "lon": 8.5352063 },
        { "lat": 47.3612503, "lon": 8.5351944 }
      ]
    }
    
      ]
    }
    

    https://overpass-turbo.eu/

    此处列出了 out 的所有选项:
    https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL#Print_.28out.29

    【讨论】:

      猜你喜欢
      • 2015-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多