[英]overpass-api ways query include coordinates
我正在嘗試查詢特定區域的酒店。 不幸的是,我需要查詢節點和方法,因為一些酒店只存儲方式,一些存儲節點。
http://overpass.osm.rambler.ru/cgi/interpreter?data=%28way[tourism~hotel]%28around:5000,50.10707,8.76040%29%29;out;
方式查詢的結果不包含任何坐標,只有很多node-refs:
<nd ref="1438833423"/>
是否還有一種方法可以在輸出中包含節點的坐標,或者是否必須為每個節點啟動大量其他查詢?
湯姆
是的,有幾種方法可以通過Overpass API獲取非節點功能的幾何。 最簡單的可能是使用center
輸出模式(替換out;
out center;
): http : //overpass-turbo.eu/s/4O4 。 其他選項是在遞歸步驟中獲取節點引用: http : //overpass-turbo.eu/s/4O5或使用完整幾何輸出模式 。
PS:不要忘記,酒店也可以在OSM中映射為(多面)關系,而不僅僅是作為節點或方式。
Necromancing。
並實際回答這個問題:
[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://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL#Print_.28out.29
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.