2010-01-26 42 views
2

虛擬問題在這裏。我正在開發一個獲取位置感知信息的應用程序。我越來越位置座標。在下列方式:LAT = + aaa.bb.cc.dd & LON = + aaa.bb.cc.dd &基準= WGS84錯誤的座標格式(wgs84)或我錯過了什麼?

如何轉換這些座標轉換成標準的緯度與經度單點。現在看起來好像客戶端正在請求IP地址查詢。

回答

3
wgs84 = '123.12.34.56' 
deg, minute, second, fraction = wgs84.split(/\./).map(&:to_i)  # Ruby 1.9 
deg, minute, second, fraction = wgs84.split(/\./).map {|x| x.to_i} # Ruby 1.8 
deg += minute/60.0 + second/3600.0 + fraction/360000.0 
puts deg # => 123.20970370370371 

注意到在它的座標與WGS84字符串,拆分它的週期中,從文本'34'結果轉換爲數字34,然後不必要的分割轉換的分鐘,秒和秒的分數到浮點調整添加到緯度(或經度)。

+0

你是金丹! – Eimantas 2010-01-26 17:51:38

+1

只是一個狡辯,但不123.12.34.56是指123d12m34.56s? WGS座標的時間在哪裏?不正確的解決方案123 + 12/60 + 34.56/3600? – 2010-01-26 18:10:44

+0

這很可能......說實話,我不熟悉WGS ......在線看,看起來你是對的。修正數學。 – 2010-01-26 18:44:29

1

@ Myrddin幾乎同意他犯了一個小錯誤,我發佈了一個公然試圖收集代表的答案。

我懷疑

123.12.34.56 

應該被解釋爲123d12m34.56s並轉換爲十進制度是這樣的:

123+12/60+34.56/3600 
+0

誠實點! – DefenestrationDay 2011-09-21 09:48:35