日々適当

hibitekitou

ユニバーサル横メルカトル図法への変換

pc |2014-07-09
緯度経度で示された位置をUniversal Transverse Mercator's projectionに変換したいのです。UTM図法またはユニバーサル横メルカトル図法なんて呼ばれているそうです。

でまぁ、PythonではPyProjって物があるそうで、これで緯度経度を変換可能みたい。

緯度経度をUTM図法の座標に変換する [偏った言語信者の垂れ流し]

本当はその理屈を理解した上で、ちゃんとその変換式を再現してやりたいところですが、取り急ぎ。

ちなみに、pyproj-1.9.3.tar.gzを伸長してでき上がるフォルダ内で、

sudo python setup.py install

を実行すればインストールされるはずなんですけど、OS X Mavericks環境にいれる時、Xcode 5.1.1環境下でのインストールになり、そうすっと、ccがねぇよって怒られます。ということで、

alias gcc=llvm-gcc-4.2

って書いておくと良いようですな。

OSX Mavericks にしたら gdb と gcc が消えた時の対処法 [Ochiailab Tips]

その上で先のPythonのパッケージのインストールを行ってやります。これで

>>> from pyproj import Proj
>>> lat = 35.6830905
>>> lon = 139.720222620000004
>>> convertor = Proj(proj='utm', zone=54, ellps='WGS84')
>>> x, y = convertor(lon, lat)
>>> print "x=%s"%x
x=384193.892421
>>> print "y=%s"%y
y=3949553.96841

という感じがこのエントリの一番上のリンク先に書かれていたやり方でございます。
Projの後の projに変換先の図法(utm)、zoneは対象とする緯度経度が含まれるゾーンの指定、ellpsは測地系ですかね。WGS84は世界測地系1984のことかな。まぁその上で、緯度経度を与えるとUTMの座標が帰ってくるみたいですね。

さて。

以下余談。
Maya上で緯度経度情報からパーティクルポイントを置いていく作業をしていたわけですが、OS X標準のターミナルから追加したこのPyPrjを、Maya上からも利用できています。ってことで、MayaはOSが用意しているPythonと同じ物を利用していると早とちりしましたが(実際ドキュメントには
Maya をインストールすると、同時に Python もインストールされます。
と書かれています。)
、Pythonのモジュール検索の検索場所の最下位にsys.pathに登録してあるディレクトリってのがあり、では sys,path とは何かって見てみると、

import sys
print(sys.path)
['/Applications/Autodesk/maya2015/Maya.app/Contents/MacOS', '/Users/username', (中略), '/Library/Python/2.7/site-packages',(後略)]

となっている事から、検索順序の最後の方に/LibraryのOSが用意しているPythonの場所も探しているということなのですな。なるほどなぁ。
コメント ( 0 )|Trackback ( )
  ・