从立交桥中的节点 ID 获取经纬度 API
get latitude and longitude from node id in overpass API
我使用此查询从立交桥中的节点 ID 获取纬度和经度 API:
[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;
出于性能原因,我建议您在 post 处理步骤中执行此操作。您已经知道正确的序列,因此您可以轻松地将其应用于查询结果。此外,您可以在单个查询中指定多个节点 ID 值:
[out:json]; node(id:2314028892, 30223035, 268195434, 30223039);out;
旁注:您也可以在查询中省略 (._;>;);
。在节点的情况下不需要它。
我使用此查询从立交桥中的节点 ID 获取纬度和经度 API:
[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;
出于性能原因,我建议您在 post 处理步骤中执行此操作。您已经知道正确的序列,因此您可以轻松地将其应用于查询结果。此外,您可以在单个查询中指定多个节点 ID 值:
[out:json]; node(id:2314028892, 30223035, 268195434, 30223039);out;
旁注:您也可以在查询中省略 (._;>;);
。在节点的情况下不需要它。