#はじめに
緯度経度、皆さん聞いたことがあると思いますが、東経・西経、北緯・南緯で表示される座標で、地球上での位置を示すものです。
しかしながら、GISを扱う上では緯度経度だけではなくUTM座標(ユニバーサル横メルカトル)が用いられることも少なくありません。
今回の記事では緯度経度の座標(地理座標)からUTM座標をpythonで取得する方法を記します。
UTMの解説についてはウィキペディアをご覧ください。
https://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%8B%E3%83%90%E3%83%BC%E3%82%B5%E3%83%AB%E6%A8%AA%E3%83%A1%E3%83%AB%E3%82%AB%E3%83%88%E3%83%AB%E5%9B%B3%E6%B3%95
まあ、この中に変換式も書いてあるのですが難しいので・・・(私もよくわかっていません)
#コード
座標値を取得するには、pyprojというモジュールを使用します。
pythonでProjection(投影座標系、測地系の変換関数的な)を扱うためのライブラリ的なものです。
まずはインポートが必要ですね。
from pyproj import Proj
緯度経度の設定をし、UTM座標値を取得します。
お試しであれば適当な数値でOKです。
lon = 137.5
lat = 38.5
#UTMゾーンを求める
e2u_zone = int(divmod(lon, 6)[0])+31
#地理座標(緯度経度)からUTM座標系に変換するProjectionを設定する。
e2u_conv = Proj(proj = 'utm', zone = e2u_zone, ellps = 'WGS84')
#座標値の取得
utmx, utmy = e2u_conv(lon, lat)
if lat < 0:
utmy = utmy + 10000000
print(" UTM zone is ", e2u_zone, "\n", \
"UTM Easting is ", utmx, "[m]\n", \
"UTM Northing is ", utmy, "[m]")
出力結果
UTM zone is 53
UTM Easting is 718010.4028220479 [m]
UTM Northing is 4264255.315546167 [m]
これでUTMでの座標値を得ることができました。
思ったより簡単に取得できました。