我想將兩個IPv4地址轉換爲經度和緯度,然後計算它們之間的地理距離。Rails:Geokit錯誤地將IPv4地址轉換爲經度和緯度
Geokit說它可以做到這一點。
西雅圖:
a = Geokit::Geocoders::GoogleGeocoder.geocode("207.244.147.34")
a.lat => 37.0483944,a.lng => 37.3421261(應爲47.5839,-122.2995)
編輯:下面好的是IP地址英國不是SF,但它仍然是英國而不是土耳其。
舊金山:
b = Geokit::Geocoders::GoogleGeocoder.geocode("5.68.123.155")
a.lat => 14.6478672,a.lng => 120.9880659(應爲37.7691,-122.4449)
a.distance_to(b)
返回5273.737623217472。
西雅圖顯然到聖弗朗西斯科有點超過5000英里,我得到很多機票。
我錯過了什麼?
檢查更新的答案,瞭解如何通過ip查找位置。 – 2015-04-05 18:02:27
GeoIP永遠不會完全準確,並且會出現像這樣的錯誤。不存在每個IP地址準確映射到確切位置的數據庫。 – 2015-04-06 10:00:25
@SanderSteffann謝謝你。如果這種方法本身容易出錯,那麼除了將twp IP轉換爲lat,lng和計算距離外,您是否知道檢測VPN使用的最佳做法? – gr8scott06 2015-04-07 03:11:56