[[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]