ジオプロセシングは、データ タイプという概念を軸に構築されています。どのツール パラメーターにも、変数の内容を定義するデータ タイプが関連付けられています。シンプルなデータ タイプとしては、string (任意の文字列)、Boolean (true/false)、long (-2,147,483,648 ~ 2,147,483,647 の整数値) などがあります。このようなシンプルなデータ タイプに加えて、フィールド、座標系、範囲など、ArcGIS のデータ専用のデータ タイプが多数あります。
各データ タイプは次のファイルで説明されています。Geoprocessing_data_types.pdf。ArcGIS Desktop のインストール場所の \arcgis\Documentation フォルダー内のドキュメント (Geoprocessing_data_types.pdf) も開くことができます。
このドキュメントを表示するには、Adobe Reader が必要です。http://get.adobe.com/jp/reader/ から無料でダウンロードできます。
データ タイプが必要な場合
変数およびパラメーターのデータ タイプを指定しなくてはいけない状況がいくつかあります。
- ModelBuilder でスタンドアロン変数を作成するときは、作成する変数のデータ タイプを指定する必要があります。
- スクリプト ツール ウィザードを使用してスクリプト ツールを追加するときは、スクリプト ツールの各パラメーターについてデータ タイプを指定する必要があります。
ModelBuilder の場合、ほとんどの変数は既存のツール パラメーターから作成します。どのパラメーターもデータ タイプが関連付けられているため、変数は自動的に正しいデータ タイプで作成されます。
パラメーターのデータ タイプの決定
パラメーターのデータ タイプを決定する方法はいくつかあります。
- ツールのリファレンス ページの構文セクションに、各パラメーターとそのデータ タイプを記述した表があります。
- ModelBuilder で、ツールのパラメーターから変数を作成します。変数を右クリックし、[プロパティ] をクリックして、[データ タイプ] タブをクリックします。ダイアログ ボックスの上部にデータ タイプが表示されます。
- ModelBuilder で、モデル レポートを作成します。レポートにすべてのパラメーターのすべてのデータ タイプが記載されています。
文字列構文
どのデータ タイプにも、ツールのダイアログ ボックスとスクリプトで使用される文字列構文があります。ほとんどのデータ タイプは、データセットのパスや数値、キーワードなど、非常に単純な文字列構文です。たとえば、field データ タイプは、フィールドの名前です。他のデータ タイプの構文はもう少し複雑です。
データ タイプの文字列構文は、上記の PDF ファイルに記載されています。あるデータ タイプの特定の文字列構文が不明な場合は、次の方法を試してください。
- そのデータ タイプを使用するツールを見つけます。
- ダイアログ ボックスを使用してツールを実行します。
- [結果] ウィンドウで結果を右クリックして、[Python スニペットとしてコピー] をクリックします。このスニペットを任意のテキスト エディター (または Python ウィンドウ) に貼り付けて、すべてのパラメーターの文字列値を調べます。
データ タイプとスクリプティング オブジェクト
データ タイプの文字列構文には、スクリプトで使用するには複雑すぎるものもあります。たとえば、以下は、エケルト第 4 図法座標系を定義する空間参照データ タイプのテキスト文字列です。
PROJCS['World_Eckert_IV',
GEOGCS['GCS_WGS_1984',
DATUM['D_WGS_1984',
SPHEROID['WGS_1984',6378137.0,298.257223563]],
PRIMEM['Greenwich',0.0],
UNIT['Degree',0.0174532925199433]],
PROJECTION['Eckert_IV'],
PARAMETER['False_Easting',0.0],
PARAMETER['False_Northing',0.0],
PARAMETER['Central_Meridian',0.0],
UNIT['Meter',1.0]]
文字列構文が複雑なデータ タイプの場合、ArcPy には、そのデータ タイプを簡単に作成して変更できるメソッドとプロパティを持つクラスが用意されています。たとえば、SpatialReference クラスをご参照ください。