goo blog サービス終了のお知らせ 

ArcGISのデータ作成サポートページ

ArcGISデータ作成に関する情報共有のページです

pythonコード(多変量変数を用いる場合)

2014-02-06 15:44:18 | 日記
フィールド演算で「コードブロック」として入力する内容(def で始まる一連の記述)には、Python の文法に従って関数を定義します。お知らせ頂いた FAQ に記載の例では、Reclass という名前の関数を定義しており、ひとつの引数(関数への入力パラメータ:temperature)を受け取っています。

関数が受け取ることのできる引数の数は制限されません。たとえば気温の他に降水量も必要な場合は、関数 Reclass の定義を修正し、def Reclass(temperature, precip): などとすることで 2 つの引数を受け取れるようになります。

もちろん、関数を呼び出す側、現在 Reclass( !TempAug15! ) となっている箇所も、Reclass( !TempAug15!, !Precipitation! ) のように修正が必要です。

あとは、関数 Reclass の中で 2 つの変数を使ったロジックを書いていく、ということになります。この関数の return する値が、フィールド演算で最終的にフィールドに設定される値となりますので、2 つの変数を使ってご希望の文字列を return するようにしてください。

(ご参考)Python 2.7.2 ドキュメント 4.6. 関数を定義する
http://docs.python.jp/2.7/tutorial/controlflow.html#tut-functions

関数内部のロジックなど、実装方法については ArcGIS 特有の使い方というよりも、プログラミング言語 Python の使い方になります。Python の学習に関しては、優れたサイトなどが多数あるようですので、一通り基礎的な部分を習得されますと ArcGIS での活用に役立つものと思います。

また、ArcGIS のフィールド演算における Python の記述や、arcpy と呼ばれる ArcGIS 特有の Python モジュールの使い方などでご不明点がある場合には、別途有償の「開発者サポート」サービスにて承っておりますので、ご検討頂ければと思います。

■開発者サポートサービス内容
http://www.esrij.com/services/dev-support/details/

最新の画像もっと見る

コメントを投稿

サービス終了に伴い、10月1日にコメント投稿機能を終了させていただく予定です。