アイコンの説明... 8 第 1 章イントロダクション... 9 本コースの目的... 11 講習内容... 11 講習資料... 12 イントロダクション... 12 ArcGIS... 13 Web サイト... 13 開発者向けプログラム / サービス... 14 演習 1: 演習環境の構築... 15 ステップ 1: Windows へのログオン ( オプション )... 15 ステップ 2: 演習データのインストール ( オプション )... 15 ステップ 3: PyScripter のインストール ( オプション )... 16 ステップ 4: PyScripter の環境設定 ( オプション )... 17 ステップ 5: Python アドインウィザードのダウンロード ( オプション )... 21 Python とは... 23 第 2 章概要... 25 Python スクリプトの統合開発環境 (IDE)... 25 PyScripter インタフェース... 26 IDLE インタフェース... 26 Python を構成する 5 つの要素... 27 変数... 27 Python の一般的なデータ型... 28 文字列 (1)... 28 文字列 (2)... 29 組み込み関数 (1)... 29 引数と戻り値... 30 組み込み関数 (2)... 30 モジュール (1)... 31 モジュール (2)... 31 文 ( ステートメント )... 32 文 (2)... 32 文 (3)... 33 学習のヒント... 33 Python の学習資料... 34 演習 2: Python の基礎を学習... 35 ステップ 1: スクリプトとコメントコードの作成... 35 1
ステップ 2: 変数について... 36 ステップ 3: 組み込み関数の利用... 39 ステップ 4: モジュールについて... 41 ステップ 5: 条件分岐... 44 ステップ 6: ループ... 44 質問の解答... 47 解答コード... 49 ArcPy とは... 51 第 3 章概要... 53 サイトパッケージとは... 53 ArcPy サイトパッケージ... 54 PyScripter 上で ArcPy を利用... 54 [Python] ウィンドウ... 55 ArcPy の関数... 55 クラス... 56 ArcPy のクラス... 56 マッピングモジュール... 57 データアクセスモジュール... 57 Spatial Analyst モジュール... 58 Network Analyst モジュール... 58 演習 3: ArcPy サイトパッケージの利用... 59 ステップ 1: ArcMap 上で ArcPy にアクセス... 59 ステップ 2: PyScripter 上で ArcPy にアクセス... 63 ステップ 3: [Python] ウィンドウで Python スクリプトを実行... 65 ステップ 4: [Python] ウィンドウ上で [ クリップ ] ツールの実行 ( オプション )... 67 解答コード... 69 構文エラーと例外の処理... 71 第 4 章概要... 73 デバッグの流れ... 73 PyScripter のデバッグ機能... 74 例 : 構文エラー (3 箇所 )... 74 例 : 構文エラーと実行時エラー (4 箇所 )... 75 例外... 75 一般的な例外... 76 try..except ブロック... 76 except Exception as e:... 77 arcpy.executeerror 例外クラス... 77 traceback モジュール... 78 演習 4A: 構文エラーの対処... 79 2
ステップ 1: スクリプトをデバッグ... 79 ステップ 2: スクリプトの実行... 82 演習 4B: 例外の対処... 85 ステップ 1: try..except 文の組み込み... 85 ステップ 2: Exception as e の利用... 86 ステップ 3: arcpy.executeerror の利用... 89 ステップ 4: traceback モジュールの利用... 89 解答コード... 91 Describe 関数の利用... 95 第 5 章概要... 97 Describe 関数... 97 フィーチャクラスのプロパティ情報を取得... 98 フィーチャクラスプロパティ... 98 例 : フィーチャクラスの情報を取得... 99 例 : フィーチャデータセットの情報を取得... 99 ラスタデータのプロパティ情報を取得...100 ラスタプロパティ...100 例 : ラスタデータの情報を取得...101 演習 5: データの情報を取得...103 ステップ 1: フィーチャクラスのプロパティを取得...103 ステップ 2: ラスタデータセットのプロパティ取得とクリップ...105 質問の解答...109 解答コード...111 List 関数の利用... 113 第 6 章概要...115 List 関数...115 戻り値の利用...116 例 : フィーチャクラスのリスト化...116 例 : フィールドの名前と種類を表示...117 例 : ラスタのリスト化とプロパティの取得...117 演習 6: List 関数の利用...119 ステップ 1: フォルダ内の C から始まるファイルジオデータベースをリスト化...119 ステップ 2: フィーチャクラスが持つすべてのフィールドをリスト化...120 ステップ 3: フォルダ内のすべてのラスタデータのプロパティを取得し CSV ファイルに出力.122 質問の解答...125 解答コード...127 フィールド演算の利用... 129 第 7 章概要...131 フィールド演算...131 3
単純なフィールド演算...132 高度なフィールド演算...132 def 文...133 PyScripter からフィールド演算...133 ローカル変数とグローバル変数...134 global 文の利用例...134 演習 7: フィールド演算の利用...135 ステップ 1: ArcMap から単純なフィールド演算を実行...135 ステップ 2: ArcMap から高度なフィールド演算を実行...138 ステップ 3: PyScripter から高度なフィールド演算を実行...141 解答コード...145 ArcToolbox 上でスクリプトの実行... 147 第 8 章概要...149 動的にパラメータを指定してスクリプトを実行...149 arcpy.getparameterastext 関数...150 PyScripter によるデバッグ...150 カスタムツールにスクリプトを付属...151 [ スクリプトの追加 ] ダイアログの設定 (1)...151 [ スクリプトの追加 ] ダイアログの設定 (2)...152 [ スクリプトの追加 ] ダイアログの設定 (3)...152 パラメータプロパティ...153 ワンポイントアドバイス...153 ArcMap ArcCatalog でのデバッグ環境...154 [Python] ウィンドウ上で実行...154 Python ツールボックス (.pyt)...155 Python ツールボックスのツールを定義...155 演習 8A: フィーチャをコピーするためのスクリプトツールを作成...157 ステップ 1: ハードコードされた値を使用してスクリプトを実行...157 ステップ 2: ハードコードされた値を動的な値に変換...159 ステップ 3: PyScripter から引数を利用してスクリプトを実行...159 ステップ 4: ArcToolbox のツールに引数を利用したスクリプトを追加する...160 ステップ 5: ArcToolbox からスクリプトツールを実行...164 ステップ 6: [Python] ウィンドウからスクリプトツールを実行...166 演習 8B: Python ツールボックスの利用...169 ステップ 1: Python ツールボックスの作成...169 ステップ 2: ツールの定義...169 ステップ 3: BufferMultipleFC ツールの実行...172 解答コード...177 マッピングモジュールの利用... 181 4
第 9 章概要...183 ArcPy マッピングモジュール...183 マップ データフレームの取得...184 レイヤの取得...184 レイヤの操作...185 取得可能なシンボルタイプ...185 マップのエクスポート...186 演習 9: PDF 地図帳の作成...187 ステップ 1: データドリブンページの確認...187 ステップ 2: PDFDocument オブジェクトの作成...188 ステップ 3: データドリブンページのエクスポート...190 ステップ 4: PDF 地図帳の作成...191 質問の解答...195 解答コード...197 データアクセスモジュールの利用... 199 第 10 章概要...201 データアクセスモジュール...201 Cursor オブジェクト...202 arcpy.da.searchcursor...202 arcpy.da.updatecursor...203 arcpy.da.insertcursor...203 フィーチャジオメトリへのアクセス...204 例 : ジオメトリ情報の取得...204 編集セッションの開始 終了...205 例 :Editor クラス...205 演習 10: SearchCursor と UpdateCursor の利用...207 ステップ 1: フィールド値にアクセス...207 ステップ 2: フィールドの追加と更新...209 ステップ 3: フィールドのチェック...211 質問の解答...213 解答コード...215 ジオメトリオブジェクトの利用... 217 第 11 章概要...219 ジオメトリオブジェクトの作成...219 PointGeometry オブジェクトの作成...220 Polyline オブジェクトの作成...220 Polygon オブジェクトの作成...221 フィーチャジオメトリの作成と更新...221 ジオメトリオブジェクトの利用...222 5
例 : ジオメトリオブジェクト...222 演習 11: Geometry オブジェクトの利用...223 ステップ 1: Geometry オブジェクトの作成...223 ステップ 2: フィーチャクラスにジオメトリオブジェクトを利用する...227 ステップ 3: ジオメトリの修正...229 ステップ 4: ジオメトリオブジェクトをジオプロセシングツールに利用する...231 質問の解答...235 解答コード...237 フィーチャレイヤの利用... 241 第 12 章概要...243 フィーチャレイヤとテーブルビュー...243 フィーチャクラスとフィーチャレイヤ...244 テーブルとテーブルビュー...244 [ フィーチャレイヤの作成 ] ツール...245 例 :[ フィーチャレイヤの作成 ] ツール...245 例 :[ テーブルビューの作成 ] ツール...246 FieldInfo クラス...246 演習 12: データの抽出とフィールド操作...247 ステップ 1: フィーチャの抽出...247 ステップ 2: フィーチャレイヤの解析を実行...248 解答コード...253 Python アドイン... 255 第 13 章概要...257 GUI のカスタマイズ Python アドイン...257 [ ユーザー設定 ] ダイアログ (1)...258 [ ユーザー設定 ] ダイアログ (2)...258 ArcGIS のコマンド...259 Python アドインで作成できる機能...259 Python アドインウィザードの入手...260 アドインの作成手順 (1)...260 アドインの作成手順 (2)...261 アドインの作成手順 (3)...261 アドインの作成手順 (4)...262 アドインの作成手順 (5)...262 演習 13: Python アドインの作成...263 ステップ 1: プロジェクトの作成...263 ステップ 2: コードの記述...265 ステップ 3: 動作のテスト...266 ステップ 4: アドインのアンインストール ( オプション )...268 6
解答コード...269 7