10
13

More than 3 years have passed since last update.

測地系の変換が嫌になってきたのでメモ

Posted at

様々な測地系のデータを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がわかれば変換できます。

10
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
13