【问题标题】:Use polygon as search area overpass api / overpass turbo使用多边形作为搜索区域立交桥 api / 立交桥涡轮
【发布时间】:2020-03-18 23:53:02
【问题描述】:

我在使用 overpass API 方面还很陌生,我终于设法通过使用 overpass-turbo 向导生成了一个查询来检索一个区域内的所有节点。

在向导中使用 highway=* in "Paulino Navarro" 会生成以下查询。

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“highway=* in "Paulino Navarro"”
*/
[out:json][timeout:25];
// fetch area “Paulino Navarro” to search in
{{geocodeArea:Paulino Navarro}}->.searchArea;
// gather results
(
  // query part for: “highway=*”
  node["highway"](area.searchArea);
  way["highway"](area.searchArea);
  relation["highway"](area.searchArea);
);
// print results
out body;
>;
out skel qt;

但是,我如何使用多边形作为搜索区域? 可能是 highway=* in poly([lat,lon],[lat,lon],...,[lat,lon]) 之类的东西,或者我如何在查询本身上做到这一点。

我不太了解 overpass wiki 和 overpass-turbo 向导中的文档。

【问题讨论】:

    标签: openstreetmap overpass-api


    【解决方案1】:

    polygon filter is explained in the Overpass QL documentation

    Example:

    [out:xml][timeout:30];
    way[highway=primary](poly:"50.7 7.1 50.7 7.2 50.75 7.15");
    (._;>;);
    out;
    

    【讨论】:

      【解决方案2】:

      如果您要在其中查询的多边形是 OSM 功能,您也可以使用 area ID 进行查询。
      区域 ID 由 Overpass 服务器生成,以便更轻松地查询现有多边形中的数据。您可以通过将2400000000 添加到路径 ID 来确定路径的区域 ID,并通过将 3600000000 添加到关系 ID 来确定关系的区域 ID(假设路径或关系是有效的区域特征)。

      例子:

      [out:xml][timeout:30];
      way[highway=primary](area:2400000001);
      (._;>;);
      out;
      

      【讨论】:

        猜你喜欢
        • 2018-02-19
        • 1970-01-01
        • 2022-07-19
        • 1970-01-01
        • 2022-12-01
        • 1970-01-01
        • 2021-05-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多