2016-10-01 29 views
0

我想弄清楚是否可以用OverpassAPI下載一個國家的所有邊界數據。OSM立交API:完整的邊界數據

小例子:盧森堡 我想獲取被標記爲(鍵值)邊界=管理的所有關係。我希望通過這些方式接受這些關係的所有方式以及所有節點。

我認爲這可能是相當多的數據(?),所以我不知道是否有一條查詢是要走的路,特別是如果我試圖與德國或法國做到這一點(admin_level約爲20項= 4和數百admin_level = 6或8)

這是進一步複雜化,因爲全國各地的邊框發生在所有其他國家的「收件箱」的一個共享的邊框。

所以這似乎不是的方式 - 我會用什麼技術來獲得對形成一個國家的行政邊界所有方式的所有節點?

什麼我目前正在爲這個

<osm-script> 
    <query type="relation"> 
    <bbox-query s="49" w="2" n="52" e="7"/> 
    <has-kv k="boundary" v="administrative"/> 
    <has-kv k="admin_level" v="2"/> 
    </query> 
    <print mode="meta"/> 
</osm-script> 

這是比利時邊界框(說中等大小),並僅限於admin_level = 2。另外,這還沒有提供節點信息。

我知道如何改變這種狀況 - 但是這將提供所有鄰國了。什麼是更好的方式來做到這一點?

謝謝! 拉爾夫

回答

0

我會建議看OSM邊界地圖,而不是爲全球邊界的專用應用在幾乎你能想到的任何級別:https://wambachers-osm.website/boundaries

在任何情況下,有一個在主要立交橋頗有些負載API實例,它是可能的運行下面的查詢時獲取德國的所有方法和節點,你會打一個HTTP 429錯誤:

(rel(51477);>;);out meta;

或:

(rel[boundary=administrative][admin_level=2][name="Deutschland"];>;);out meta;

要獲得他們的所有在盧森堡的方式和節點,下面的查詢應該做所有的邊界=行政關係(請注意:返回47 MB​​的數據,包括德國,萊茵蘭 - 巴拉丁和薩爾)。

rel(2171347); map_to_area; (rel[boundary=administrative](area);>;); out meta;

也許嘗試this alternative爲好。