[[GIS/RS knowledge base]]
#contents
*Arcpyはじめのいっぽ [#o9e760e6]
こんなときにはArcpyを使って処理するとべんりです。
--バッチ処理をしたいとき
--GUIで処理しようとしたら意味不明なエラーが出てきたとき
--マシンのスペックが低くてGUIを起動するだけで精いっぱいなとき~
結構簡単なのでお試しください。
--python用のエディタを用意するとよいです(Pythonインストール時に付いてくるIDLEでもよいです)~
テキストエディタでもよいですがpython用のエディタはインデント(pythonでは重要です)や関数などをわかりやすく整理・表示することができます。~
**シンプルな処理をしてみる [#h35c4c01]
&color(red){'''# arcpyをインポートする'''};~
import arcpy~
&color(red){'''# 必要なエクステンションがあるかどうかをチェックする'''};~
&color(red){'''# spatial analyst = "spatial"'''};~
&color(red){'''# 3D analyst = "3D"'''};~
arcpy.CheckOutExtension("spatial")~
&color(red){'''# 入出力する変数を定義する'''};~
&color(red){'''# パスとファイル名はダブルコーテーションで囲う'''};~
&color(red){'''# パス区切りは\\で行う'''};~
hexagons_shp = "D:\\test\\hexagons.shp"~
dem50gsi_j2ku54_img = "D:\\test\\dem50gsi_j2ku54.img"~
output_table = "D:\\temp\\zst_slope_02.dbf"~
&color(red){'''# 処理コマンド中に上記変数を入力する'''};~
&color(red){'''# 上記の変数以外の設定値はダブルコーテーションで囲って指定する'''};~
&color(red){'''# どのような変数が必須かはHELPを参照する'''};~
arcpy.gp.ZonalStatisticsAsTable_sa(hexagons_shp, "Unique_ID", dem50gsi_j2ku54_img, output_table, "NODATA", "ALL")~
&color(red){'''# 処理が終了したらfinishという文字を表示させる'''};~
print "finish"~

**たくさんのファイルをあつめてマージしてみる [#nffd14a7]
-ワイルドカード(*)を用いて複数ファイルを指定して実行する手順~

&color(red){'''# globモジュールをインポートする'''};~
import glob~
&color(red){'''# arcpyをインポートする'''};~
import arcpy~
&color(red){'''# 出力ファイルのパスと名前を指定'''};~
outputdata = "C:\\temp\\ps_merge_all.shp"~
&color(red){'''# ワイルドカードを使用して入力データリストを指定'''};~
files = glob.glob('C:\\temp\\*.shp')~
&color(red){'''# Process: マージ (Merge)'''};~
arcpy.Merge_management(files, outputdata)~
&color(red){'''# 処理終了時にfinishと出力する'''};~
print = "finish"~



**バッチ処理をしてみる [#yc5cd52d]

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS