2017-04-04 124 views
0

我正在開發android應用程序,它具有顯示當前位置允許的最大速度的功能(換句話說,緯度爲&經度)。 我遇到了這個解決方案Query Overpass turbo by latitude longitude,它使用立交橋turbo爲位置提供最高速度值,但它不適用於所有位置。我創建了JSON請求https://overpass-api.de/api/interpreter?data=[out:json];way[maxspeed](around:1.0,52.004940, 4.369381);out tags;使用查詢&它返回json數據中的最大速度標記,但它不適用於所有位置。如何讓Maxspeed允許某個半徑的緯度和經度?

這裏是例子空白數據我從這些網址獲得的:Blank data

任何幫助,將不勝感激。這個應用程序將在美國&歐洲推出,所以,如果解決方案是特定的這些地點也歡迎。但希望通用解決方案。

+1

對於你的查詢,超高頻 - turbo正在爲具有最大速度的線串返回標籤 - 也許在這個緩衝區中沒有這樣的線?這是OSM數據 - maxspeed不一定在每條高速公路上都有... – Jendrusk

+2

備註:根據OSM wiki,您需要遵守立交API使用限制。所有應用用戶總共每天最多可申請10,000個請求。如果您希望超出此限制,請確保安裝您自己的實例,否則您的應用程序可能會在未事先通知的情況下被阻止。確保在HTTP標頭中發送有意義的用戶代理以標識您自己/您的應用程序。 – mmd

+0

@mmd感謝您指出這一因素。 –

回答

1

甚至沒有在北緯46.361115方式單一,經度6.13975 1米的半徑內:https://www.openstreetmap.org/?mlat=46.361115&mlon=6.13975#map=19/46.36111/6.13975

要麼改變你的座標,或者增加搜索半徑。

也作爲用戶Jendrusk已經注意到並不是每個街道在OSM設置中都有最高速度。你的例子中的Divonne-les-Bains城市只有幾條道路有最高速度標籤:http://overpass-turbo.eu/s/o48

+0

我將半徑增加到100米,仍然返回空白數據。你能爲我的應用程序建議我更好的方法嗎?應用程序有簡單的要求說當前駕駛道路的速度限制。 –

+0

查看我的答案中的立交橋turbo鏈接。您所在地區的極速標籤極少。不幸的是,OSM沒有這個城市的這個信息。 – scai

+0

好吧,我看到可惜的信息量非常少。 它的失敗,我的應用程序驅動程序的目的將無法知道某些地區的速度限制,這些也會發生在許多其他地點,對不對? –