私はJavaandroidプロジェクトに取り組んでおり、次の問題があります。たくさん検索しましたが、DMS形式(例:38°2'56''N、122°9'28''W)の緯度/経度の値を対応する10進角形式に変換する際に問題が発生します。
対応する小数度形式に変換する必要がある値の例。
北緯38度49分59秒、東経26度56分59秒
北緯38度2分56秒、西経122度9分28秒
34°52'58''S、56°10'58''W
ありがとうございました
私はJavaandroidプロジェクトに取り組んでおり、次の問題があります。たくさん検索しましたが、DMS形式(例:38°2'56''N、122°9'28''W)の緯度/経度の値を対応する10進角形式に変換する際に問題が発生します。
対応する小数度形式に変換する必要がある値の例。
北緯38度49分59秒、東経26度56分59秒
北緯38度2分56秒、西経122度9分28秒
34°52'58''S、56°10'58''W
ありがとうございました
DMS を 10 進度に変換するときに行っていることは、60 で除算することだけです。S を 60 で除算して M に加算し、その結果を 60 で除算してから D に加算します。
2 番目の部分は、座標が指す方向を扱います。コンパスの方向が正しい位置にある軸のペアを想像してください (つまり、上が N、右が E、下が S、左が W)。これは、S または W のいずれかを指す DMS 値に対応する 10 進数値が負になることを意味します。
北緯38度2分56秒、西経122度9分28秒- > 38.048889、-122.157778
D°M''
まとめ
DMS から Degree に変換するには
度 = D + ((S/60)+M)/60
ここで、D と M と S は、DMS 形式を構成する値です: D°M'S''
また、ここでシェリフの式を使用していつでも作業を確認できます: http://transition.fcc.gov/mb/audio/bickel/DDDMMSS-decimal.html