繁体   English   中英

从立交桥API中的节点ID获取纬度和经度

[英]get latitude and longitude from node id in overpass API

我使用此查询从立交桥API中的节点ID获取纬度和经度:

[out:json]; (
  node(2314028892);
  node(30223035);
  node(268195434);
  node(30223039);
); (._;>;); out;

我得到这个答案:

{
  "version": 0.6,
  "generator": "Overpass API 0.7.55.3 9da5e7ae",
  "osm3s": {
    "timestamp_osm_base": "2018-06-28T07:47:01Z",
    "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."
  },
  "elements": [

{
  "type": "node",
  "id": 30223035,
  "lat": 52.2917680,
  "lon": 10.5265481
},
{
  "type": "node",
  "id": 30223039,
  "lat": 52.2894248,
  "lon": 10.5268394
},
{
  "type": "node",
  "id": 268195434,
  "lat": 52.2897618,
  "lon": 10.5267852
},
{
  "type": "node",
  "id": 2314028892,
  "lat": 52.2919739,
  "lon": 10.5265271,
  "tags": {
    "bus": "yes",
    "name": "Rühmer Weg",
    "network": "VRB",
    "operator": "Braunschweiger Verkehrs-GmbH",
    "public_transport": "stop_position",
    "ref": "464"
  }
}
  ]
}

答案中的元素似乎具有另一种顺序。 现在,我想以与查询中相同的顺序获得答案。 (首先是节点2314028892,然后是30223035,...)

有人知道我该怎么做吗?

在每个查询语句后使用“ out”:

[out:json]; 
node(2314028892);out
node(30223035);out
node(268195434);out;
node(30223039);out;

出于性能原因,我建议您将此操作作为后期处理步骤。 您已经知道正确的顺序,因此可以轻松地将其应用于查询结果。 另外,您可以在单个查询中指定多个节点ID值:

[out:json]; node(id:2314028892, 30223035, 268195434, 30223039);out;

旁注:您也可以省略(._;>;); 在您的查询中。 如果是节点,则不需要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2025 STACKOOM.COM