本日はPythonでのArcobjectsの使用方法を書いてみたいと思います。PythonだとArcpyしか使えず、ちょっと難しいことをやろうと思うと途端にその貧弱さが露呈してしまいましたが、ArcObjectsを使えば大丈夫?!なはずです。それじゃあ最初から.NETで開発しろよというツッコミはなしで(我らがPythonを使いたいのです!)。
Snippets moduleを作成
ArcGISのバージョンごとにこんなものが用意されています。
・9.3, 9.4 - http://pierssen.com/arcgis/upload/misc/python_arcobjects.zip
・10.0 - http://www.pierssen.com/arcgis10/upload/python/snippets100.py
・10.1 - http://www.pierssen.com/arcgis10/upload/python/snippets101.py
・10.2 - http://www.pierssen.com/arcgis10/upload/python/snippets102.py
これらのうちいずれかを例えば、C:\Python27\ArcGIS10.2\Scriptsに配置してください。# -*- coding: utf-8 -*- を忘れずに!
comtypesのインストール
https://pypi.python.org/pypi/comtypesにソースがありますので、そこからpython setup.py install からのeasy_install comtypes-1.1.2-py2.7.egg ですね。
サンプルコード
ポイントを作ってその座標を設定するサンプルです。
# -*- coding: utf-8 -*- from comtypes.client import GetModule, CreateObject from snippets102 import GetLibPath, InitStandalone m = GetModule(GetLibPath() + "esriGeometry.olb") p = CreateObject(m.Point, interface=m.IPoint) p.PutCoords(2,3) print p.X, p.Y
詳細は使用方法についてはこれから調査してみたいと思います。
以上、本日は「PythonでArcObjectsを使ってみよう!」でした。