ツールのリファレンス ページの構文セクションに、各ツールのパラメーターが詳細に説明されています。Python でツールを使用する際の構文も記述されています。
ツール シグネチャ
構文ヘッダの下にある最初の行にはツール シグネチャを含みます。
ツール名とエイリアス
Python では、ツールラベルの代わりにツール名を使用します。
- ツール ラベルは [ツール] ダイアログ ボックスの上部かカタログ ウィンドウに表示されます。
- Python では、ツール名の後にアンダースコア (_) で区切ってツールボックス エイリアスが続きます。たとえば、Python では、[シンメトリカル ディファレンス (Symmetrical Difference)] ツールは SymDiff_analysis として識別されます。
オプション パラメーター
ツール パラメーターには必須とオプションがあります。オプション パラメーターは中括弧 ({}) で囲まれますが、必須パラメーターには括弧がついていません。
パラメーターのタイプ | シンボル | 意味 |
---|---|---|
必須 | 必須パラメーター。コマンドの最初のパラメーターは常に必須パラメーターです。必須パラメーターについては、値の入力が必要です。 | |
オプション | { } | オプション パラメーター。これらのパラメーターは常に必須パラメーターの次に配置されています。オプション パラメーターの値を入力しない場合は、デフォルトの値が計算され、使用されます。パラメーターのデフォルトの値については、ツールのヘルプをご参照ください。 |
オプション パラメーター名は、Python ではショートカットとして役に立ちます。空の引用符 ("") やシャープ記号 ("#") を指定して、使用しないオプション パラメーターを個別にスキップする代わりに、パラメーター名を使用してパラメーターを明示的に設定できます。
# Use the parameter name to bypass unused optional arguments
arcpy.AddField_management("c:/data/streets.shp", "Address", "TEXT", field_length=120)
パラメーター テーブル
ツール シグネチャに続くのが、パラメーター、説明、データ タイプ という 3 列からなるパラメーター テーブルです。パラメーター テーブルの行は、常にパラメーター順です (ツール シグネチャと同じ順序)。
ツールのダイアログ ボックスでは、実際のパラメーターとは異なる順序でパラメーターを表示できます。そのため、まれではありますが、ツールのダイアログ ボックスに表示されるパラメーターの順序とパラメーター テーブルの順序が異なることがありえます。Python の場合は、常にパラメーター テーブルで示された順序を使用します。
パラメーター列
この列のセルには、以下に示したように、パラメーター名、オプション パラメーターかどうか、そしてリストを受け取るパラメーターの場合は、リストの構文が記述されます。
表示 | 説明 |
---|---|
シンプル リスト。シンプル リストは複数値パラメーターと呼ばれています。 | |
リストのリスト。データ タイプは Value Table です。データ タイプが Value Table のパラメーターを持てるのは組み込みツールと Python ツールボックス内のツールだけです。 |
シンプル リスト
シンプル リストは、単一値のリストを含みます。上記の例では、Distances パラメーターのデータ タイプ ([データ タイプ] 列で示されます) は double です。このリストは、次のいずれかの方法で表現できます。
# Method 1: A list of numbers
dist = [10.0, 20.0, 30.0]
# Method 2: A list of strings
dist = ["10.0", "20.0", "30.0"]
# Method 3: String representation of a list
dist = "10.0; 20.0; 30.0"
バリュー テーブル - リストのリスト
リストのリストのデータ タイプは Value Table です。上記の例では、in_features パラメーターはリストのリストで、個々のリストはフィーチャ データセットまたはレイヤーのパスおよびオプションの整数値ランクを含みます。このパラメーターは、次のいずれかの方法で表現できます。
# Method 1: A list of lists
inFeatures = [["counties", 2],["parcels", 1],["state"]]
# Method 2: A list of strings
inFeatures = ["counties 2", "parcels 1", "state"]
# Method 3: String representation, each list separated by a semicolon
inFeatures = "counties 2; parcels 1; state"
説明列
この列のセルには、パラメーターの使用目的、キーワード オプションも含めたパラメーターの設定方法について詳細情報が記載されます。ほとんどの場合、この説明はツールのサイド パネル ヘルプに表示されるものと同じです。場合によっては、パラメーターの説明が、サイド パネル ヘルプとは若干違っていることがあります。たとえば、ツールのダイアログ ボックスにはブール型 (true/false) パラメーター用のチェックボックスがあり、説明では、片方は true 状態、もう片方は false 状態を表す 2 つのキーワード文字列が記述されている場合です。
キーワードは文字列です。ツールを呼び出すとき、キーワードは常に引用符で囲みます。たとえば、[AddField] ツールにはフィールド タイプを示すキーワードがあります。
# Add field idField with data type of long
arcpy.AddField_management("Parks", "idField", "LONG", field_is_nullable="NULLABLE", field_is_required="NON_REQUIRED")
データ タイプ
どのツール パラメーターもデータ タイプが関連付けられています。シンプルなデータ タイプとしては、string (任意の文字列)、Boolean (true または false)、long (-2,147,483,648 ~ 2,147,483,647 の整数値) などがあります。このようなシンプルなデータ タイプに加えて、座標系や範囲など、ArcGIS のデータ専用のデータ タイプが多数あります。
スクリプティング オブジェクトの使用
ツールのパラメーターは通常、単純なテキスト文字列を使用して定義されます。データセット名、パス、キーワード、フィールド名、許容値、およびドメイン名は、引用符付き文字列を使用して指定できます。
パラメーターの中には、多数のプロパティを必要とする複雑なパラメーターがあり、単純な文字列を使用してこれらを定義することは困難です。長く複雑なテキスト文字列を使用してこれらのパラメーターを定義する代わりに、クラスを使用できます (たとえば、SpatialReference、ValueTable、および Point の各クラス)。各ツールの資料には、それぞれのツール パラメーターを定義して使用する方法を示したスクリプト例が記載されています。
次に示す例では、CreateFeatureClass ツールを使用して作成された新しいフィーチャクラスの出力座標系を定義するために、SpatialReference オブジェクトを作成し、使用しています。
import arcpy
inputWorkspace = "c:/temp"
outputName = "rivers.shp"
prjFile = "c:/projections/North America Equidistant Conic.prj"
spatialRef = arcpy.SpatialReference(prjFile)
# Run CreateFeatureclass using the spatial reference object
#
arcpy.CreateFeatureclass_management(inputWorkspace, outputName, "POLYLINE",
spatial_reference=spatialRef)
多くのジオプロセシング ワークフローでは、座標とジオメトリの情報を使用して特定の操作を行うことだけが必要で、新しい (一時) フィーチャクラスを作成し、カーソルを使用してフィーチャクラスにデータを設定し、そのフィーチャクラスを使用し、最後に一時フィーチャクラスを削除するというプロセスをすべて行う必要はないことがあります。ジオプロセシングを簡単に実行できるように、入力および出力の両フィーチャクラスの代わりにジオメトリ オブジェクトを使用できます。Geometry、Multipoint、PointGeometry、Polygon、または Polyline の各クラスを使用して、ジオメトリ オブジェクトを最初から作成できます。