度、分、秒から小数点までの変換方法

javaユーティリティを探しています。あなたがgeotoolsライブラリを使ってそれを行う方法を私に教えることができればさらに良いです。

14

3 答え

「小数点座標」とは、緯度と経度(小数点以下の桁数)を意味しますか?もしそうなら、あなたがやろうとしていることはかなり簡単です:

W87°43'41 "などのDMS(度、分、秒)座標を指定すると、   それを小数点以下の桁数に変換するのは簡単です   以下の方法:        合計秒数を計算すると、 43'41 "=(43 * 60 + 41)= 2621 秒になります。小数部分は、秒の合計数です。   3600で2621/3600 =〜0.728056全体に小数点以下を追加   最終的な結果を生成する:87 + 0.728056 = 87.728056

     

西経座標であるため、結果を否定します。           最終的な結果は-87.728056です。

ウィキペディアから。同じことをする Javascriptウィジェットがあります。

21
追加された

ソース形式によって異なります。すでに度(d)、分(m)、秒(秒)に分割されている場合、アルゴリズムは次のようになります。

(dが正でも負でもよいと仮定して)

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

一緒に文字列に変換すると、通常の形式は次のようになります。

"ddd.mmss"

正規表現やString.substring()を使ってmとsを得る。

戻る変換は次のとおりです。

d = (int)dd; //Truncate the decimals
t1 = (dd - d) * 60;
m = (int)t1;
s = (t1 - m) * 60;
21
追加された
**begin  23°26’49”**
degrees = 23
minutes = 26
seconds = 49
decimal = ((minutes * 60)+seconds)/(60*60))
answer = degrees + decimal
**finish  23.44694444**
8
追加された
ありがとう。 sunearthtools.com/dp/tools/conversion.php でテストして動作します
追加された 著者 KhoaHA,