2011-08-22 29 views
3

給出經度/緯度組合以及從該點起的半徑(以公里爲單位,如果它有所不同),是否有人知道服務/ API(甚至下載),我可以使用它來獲取所有列表源自經緯度的圓圈內的地點,街道等?當我說所有的地方時,我對所有事物都感興趣 - 從水體到學校。從OpenStreetMap獲取地點/街道等列表?

非常感謝您的任何幫助,非常感謝。 :)

回答

8

OSMAXPI,一個web服務協議,它使一些你正在尋找的東西。有幾個問題,你的情況:

  1. 有查詢基於邊界框(所以由半徑限定的圓形區域)OSM數據的方法。
  2. 該區域有多大以及您可以使用單個查詢獲取多少數據。

另一種方法是下載Planet OSM文件,並建立自己的數據庫和API 服務,但這需要大量的硬件資源,因爲數據庫是相當大的,每天都在增加。

也看看其他一些相關QA:

+0

非常感謝您的回覆,伊戈爾。我查看了Planet OSM文件 - 儘管這確實非常大,但我只需要英國數據 - 所以現在可能會選擇2,並減少數據集。感謝您的幫助:) –

+0

如果您只需要英國數據,那麼CloudMade提供英國OSM提取:http://downloads.cloudmade.com/europe/northern_europe/united_kingdom#downloads_breadcrumbs –

3

有一個叫立交橋被一些人所提供的API,它允許你提交任意複雜的查詢和獲取你需要的數據。如果你想絕對地或者重疊某個邊界框的所有東西,這些符文對我來說很有用(替代你自己的邊界框;對不起,它不是一個圓,而是一個矩形)。在http://www.overpass-api.de/query_form.html的查詢表格中使用它們。

<osm-script timeout="10000" element-limit="1073741824"> 
    <union into="_"> 
    <bbox-query into="_" s="52.3170669250001" n="52.4027433480001" w="4.80527567900009" e="4.97793537400008"/> 
    <recurse from="_" into="_" type="up"/> 
    <recurse from="_" into="_" type="down"/> 
    </union> 
    <print from="_" limit="" mode="meta" order="id"/> 
</osm-script> 

如果你想要的數據的一個子集,看看這裏的例子:http://wiki.openstreetmap.org/wiki/Overpass_API/Language_Guide。警告:這對我來說太複雜了。祝你好運!

相關問題