緯度(Latitude/Lat)・経度(Longitude/Lat)の数値表現について
- 一般に度・分・秒で表される
(例) 東経139度45分35秒187 (=139度45分35.187秒)
度はdegree (d)、分はminute (m)、秒はsecond (s)
分と秒は60進法、秒に小数点以下の数値がつく場合10進表記。 - インターネット地図では全て10進法で表される
(例) 東経139.759774167
変換式: 139 + (45 / 60) + (35.187 / 60 / 60) ・・・分を60で、秒を3600で割って足し合わせる。 - NMEAフォーマットでは度と分で表される
「秒数は使わず」に「分を小数表記」し、それらを並べて記述する。
(例) 13945.35187 (=139度45.35187分)
当面の策として以下の関数で変換する。(やっつけの方法。元の経緯度の分の桁が1桁の場合は動作しない。)
function gpsLL2degree(s){ var x_degree = Math.floor(s / 100); var x_minute = s - (x_degree * 100); var x_minute2 = x_minute / 60; return x_degree + x_minute2; }
参考にしたサイト:
経度・緯度を60進法から10進法へ変換