我如何檢查我的緯度/長在城市範圍或例如,大倫敦被封閉:如何檢查是否Lat Long網是在市區範圍
[BBOX = -0.489,51.28,0.236 ,51.686]
來源:
http://wiki.openstreetmap.org/wiki/Bounding_Box
我如何檢查是否一個位置(經/緯度):
51.55238,0.047032
這有沒有寶石?或者什麼是最好的方式來做到這一點?
賞金更新:
我有一個有效的解決方案,但我覺得它不是正確的,我使用的地理編碼器的寶石,和我的用戶有geocoded_by和緯度/經度屬性。因此,這裏是我如何做到這一點:
def self.user_from_dublin(user_id)
near([53.349937,-6.261917], 15).pluck(:id).include?(user_id)
end
所以這個加載來自都柏林的所有用戶和用戶的ID進行比較,以在都柏林的那些用戶。如果找到該用戶,則認爲該用戶來自都柏林。
我不認爲這會適用於有更多的用戶。
更新
我使用Postgres數據庫
if box.lowx <= x <= box.highx and box.lowy <= y <= box.highy? – David
@David感謝您的回覆。你能寫一個答案嗎?和/或從bbox值解釋box.lowx和box.lowy? –
@GandalfStormCrow http://www.rubygeocoder.com/,你可以使用它支持基於地理編碼查詢的mongodb – bjhaid