geo - taka512/memo GitHub Wiki
経度緯度の調査
1.経度・緯度
1.1 表記
経度・緯度は度・分・秒で表す。分,秒は時間と同じように60進法になっています。
東経 135度26分7秒2539 (135度26分7.2539秒)
また、分・秒を使わずに度だけで緯度・経度を表す場合もあります。この場合には、135度26分7秒2539を135.4353483度のように10進法で表します。
東経 135.4353483度
1.2 度・分・秒と度の変換
1.2.1 度・分・秒から度表記への変換
60進から10進への変換となる
(1)135 + (2)26/60 + (3)7.2539/60/60 = 135.4353483
(1)135
(2)0.43333333333333333333333333333333
(3)0.00201497222222222222222222222222
1.2.2 度表記から度・分・秒表記への変換
10進から60進へ変換
135.4353483の整数部分が度
0.4353483 * 60 = 26.120898
26.120898の整数部分が分
0.120898 * 60 = 7.25388
7.25388が秒
135度26分7.2539秒となる
1.3 精度
1.3.1 経度の精度
|緯度|経度1秒の長さ| |0度(赤道)|30.922 m| |15度|29.870 m| |30度|26.802 m| |35度39分29秒1572(日本経緯度原点)|25.153 129 m| |45度|21.902 m| |60度|15.500 m| |75度|8.028 m| |90度(極点)|0.000 m|
1.3.2 緯度の精度
|緯度1度の長さ|約111km| |緯度1分の長さ|約1.85km| |緯度1秒の長さ|約30.9m|
1.3.3 度表記の精度
1秒を20~30mと考えると0.00001度が約1mとなる。 (0.00001*3600=0.036秒となり、25mが1秒と考えると1m 0.4秒) 小数点5位程度が適正と思われる。
経度・緯度の保存
MYSQL(GEOMETRY型)
mysqlに保存しデータを検索する場合、GEOMETRY型のカラムに位置情報データを保存するのが定石 LINESTRINGやPOLYGONで面データも保存できる ただしinnodbではindexを張れないのでMyIsamにする必要があるのと複合indexを張る事ができない。
Mongo(Geospatial Index)
参考
緯度・経度の調べ方(wiki) http://ja.wikipedia.org/wiki/Wikipedia:%E7%B7%AF%E5%BA%A6%E3%83%BB%E7%B5%8C%E5%BA%A6%E3%81%AE%E8%AA%BF%E3%81%B9%E6%96%B9
緯度(wiki) http://ja.wikipedia.org/wiki/%E7%B7%AF%E5%BA%A6
経度(wiki) http://ja.wikipedia.org/wiki/%E7%B5%8C%E5%BA%A6
位置情報サービスのはじめ方(gihyo) http://gihyo.jp/dev/feature/01/location-based-services