2011-11-25 161 views

回答

20

通過「十進制座標」你是指經度和緯度(也稱爲小數度)?如果是這樣,你正在做什麼是很容易的:

給定一個DMS(度,分,秒)協調,如W87°43'41「, 是微不足道將它轉化成一些使用以下方法的 十進制度數: 計算總秒數,43′41″ = (43*60 + 41) = 2621秒。的小數部分是通過36003600分之2621=〜0.728056秒除以 總數添加分數度到整個 度以產生最終結果是:87 + 0.728056 = 87.728056

既然是西經度座標,否定結果。 最終結果是-87.728056。

Wikipedia。這是一個Javascript widget,做同樣的事情。

21

這取決於您的源格式。如果它已經分裂成度(d),分(M)和秒(s),你的算法是:

(假設d是可正可負)

dd = Math.signum(d) * (Math.abs(d) + (m/60.0) + (s/3600.0)); 

如果它smooshed連成一個字符串,通常的格式是:

「ddd.mmss」

所以解析出使用正則表達式或String.substring()來獲得m和s。

轉換回是:

d = (int)dd; // Truncate the decimals 
t1 = (dd - d) * 60; 
m = (int)t1; 
s = (t1 - m) * 60; 
8
**begin 23°26’49」** 
degrees = 23 
minutes = 26 
seconds = 49 
decimal = ((minutes * 60)+seconds)/(60*60)) 
answer = degrees + decimal 
**finish 23.44694444** 
的[?如何轉換這些座標通過谷歌地圖座標可讀(
+0

謝謝。測試http://www.sunearthtools.com/dp/tools/conversion.php,它的工作原理 –

相關問題