様々な測地系のデータを1つの地図にプロットする必要があるのですが、泣きそうなので頭の整理のためにまとめます。
(あくまで自分用で情報の網羅性はありませんのであしからず)
用語の整理
座標系
まずこれがバラバラなのが諸悪の根源。
地理座標系(度数、dgree)
いわゆる緯度経度でイメージするやつ。
lat=35.658584 lon=139.7454316
地球の中心からの角度で考えてる。
が、地球は楕円形なので、円として考えてる場合と楕円として補正してる場合とがある。
latが緯度、lonが経度。
latlonで覚えてるけど、関数の引数とかはlon,latになってることが多いので罠。
地理座標系(度分秒、DMS)
上と同じく角度なんだけど、単位を分けたやつ。
1.5時間と書くか、1時間30分と書くかみたいな違い。
lat=35度39分30.9秒 lon=139度44分43.55秒
時間と同じで、60で割ると1つ上の単位になる。
やたら表記に幅がある。
lat=35.3.30.9 lon=139.44.43.55
lat=35°3′30″9 lon=139°44′43″55
lat=35°3′30.15″ lon=139°44′43.91″
地理座標系(ミリ秒)
1つ目は度で統一してるけど、これはミリ秒で統一している。
lat=128371073 lon=503083528
↓の東映座標系と区別がつきにくい
投影座標系(平面直角座標系)
地面を平面だと仮定して、xy座標で考えたやつ。
-37514.940925500196,-8250.997005135643,
でも当然地球は平面ではないので、中心からずれれば誤差が大きくなっていく。
投影座標系の一種で日本固有のものが平面直角座標系。
どこを原点にするかで規格が異なり、日本国内で19種類ある。
投影座標系(UTM座標系)
投影座標系の世界基準版。
ユニバーサル横メルカトルの略。
測地系
緯度経度の基準点をどこにするかの規格。
これまた諸悪の根源。
世界測地系(ITRF, WGS84)
ITRFが世界基準。基本はこれを使うのが良い
WGS84はアメリカの基準だけど、ITRFとほぼ同じ
日本測地系(JGD2011、JGD2000)
日本基準の測地系
麻布が基準点になっている。
何度か改正されていて、JGD2000では世界測地系に準拠し、JGD2011では震災の影響を加味した補正がされた。
CRS: Coordinate Reference System
座標参照系。
ある特定の地点を、どういうルール(座標系、測地系)で記載しているか。
EPSG: European Petroleum Survey Group
名前の意味的にはヨーロッパの団体名だけど、だいたいはこの団体が策定したコードを指す。
数多ある座標参照系をカタログ化して、それぞれにEPSG:4301
とかEPSG:4326
のように番号を振ったもの。
世界測地系で度表示するのはESPG:4326ね! みたいに決められてる。
変換のコード
Pythonの定番pyprojを使って測地系変換をします。
いろいろありますが、基本の変換コードは以下
bef = pyproj.Proj(init='EPSG:4301')
aft = pyproj.Proj(init='EPSG:4326')
transformer = pyproj.Transformer.from_proj(bef, aft)
transformer.transform(lon, lat)
EPSGというのが測地系のカタログみたいなものなので、元データの測地系のEPSGと変換後のEPSGがわかれば変換できます。