ツールへの最も一般的な入力はデータセットです。いつでもディスク上のデータセットを参照できるのはもちろんですが、入力としてレイヤーまたはテーブル ビューを使用することもできます。
- レイヤーは、ArcMap のコンテンツ ウィンドウに表示されます。レイヤーには、シンボル情報およびフィーチャまたは行の選択情報と共に、データセットへのパスが含まれています。
- テーブル ビューは、レイヤーに相当するテーブルです。それはメモリ内に格納されるテーブルであり、テーブルを ArcMap に追加したときに作成されたテーブル ビューと同じです。次に示すように、コンテンツ ウィンドウの最上位に表示された、[ソース別にリスト] ボタン をクリックすることによってテーブルを参照することができます。
ArcMap のツール ダイアログ ボックスを開くか、または Python ウィンドウにツール名を入力すると、次のように動作します。
- ArcGIS はツールのパラメーターを調べて、どのパラメーターが入力データセットまたは入力テーブルを使用するかを確認します。パラメーターが見つかった場合は、入力データセットのタイプをさらに調べます。ポイント フィーチャクラスか? TIN か? ネットワークか? テーブルか?
- ArcMap のコンテンツ ウィンドウは、次にスキャンとフィルタリングを実行して、パラメーターのデータセット タイプに一致するレイヤーがないかを確認します。一致するレイヤーがあればリストが作成され、パラメーターが制御するドロップダウン リストから選択できるようになります。それらのレイヤーまたはテーブル ビューから 1 つを入力として選択することができます。
次の図は、[入力フィーチャ] パラメーターのために構築された、[バッファー (Buffer)] ツールおよびレイヤーのドロップダウン メニューを示しています。
ツールの中には、レイヤーまたはレイヤー ファイルを、入力または出力としてのみ受け入れるものがあります。これが現在使用中のツールに当てはまる場合には、たとえば、[入力フィーチャ] ではなく [入力フィーチャ レイヤー] というように、パラメーターの表示名にはレイヤーという語が含まれます。
ディスク上のデータセットを参照する代わりにレイヤーを使用することは、自然で直観的です。さらに、レイヤーを使用すると、ショートカットを使用してディスク上のデータセットを参照する場合と比較してはるかに多くの利点があります。
- レイヤーおよびテーブル ビューは、フィーチャまたは行を選択することが可能で、ジオプロセシング ツールは、選択したフィーチャまたは行においてのみ処理を実行します。
- レイヤーおよびテーブル ビューは、必ず ArcMap のコンテンツ ウィンドウから選択しなくても構いません。ArcCatalog で使用できるように、ジオプロセシング ツールで作成することができます。
- レイヤーの有効期限は短いので、スクリプトやモデルを後から実行する際にレイヤーが存在しない可能性があるため、スクリプトやモデルを作成する時にこのことを知っておく必要があります。
[ラスター レイヤーの作成 (Make Raster Layer)] のような、「レイヤーの作成」ツールは、入力データからレイヤーを作成します。このレイヤーはメモリに一時的に格納されますが、ディスク上には保存されず、現在のセッションのみで使用することができます。セッションが終了すると、レイヤーは削除されます。ArcCatalog で作成されたレイヤーは ArcMap で使用できません。その逆も同様です。作成されたレイヤーは ArcCatalog に表示されませんが、実行中のセッションで他のジオプロセシング ツールへの入力として使用することができます。
選択セット
選択セットとも呼ばれる選択を含むレイヤーまたはテーブル ビュー 選択はフィーチャクラス内のフィーチャのサブセット、またはテーブルの行のサブセットです。ArcMap でフィーチャを選択するにはさまざまな方法があります。たとえば、形状の中のすべてのフィーチャを選択するためにマップ表示上に形状を描画したり、または論理式を使用するなどが挙げられます。[データ管理] ツール [レイヤーとテーブル ビュー] ツールセットに含まれるジオプロセシング ツールを使用して、フィーチャおよび行を選択することもできます。次に示すように、ArcMap のコンテンツ ウィンドウの最上部に表示される [選択状態別にリスト] ボタン をクリックすることによって、フィーチャまたは行の数を確認することができます。
ほぼすべてのジオプロセシング ツールが、フィーチャまたは行の選択されたセット上でのみ機能します。たとえば、[クリップ (Clip)] ツールは、入力フィーチャとクリップ フィーチャ データセットの両者において、現在選択されているフィーチャのみを使用します。[要約統計量 (Summary Statistics)] ツールは、選択した統計情報のみを計算します。実際、選択したフィーチャセット上でツールが機能しないことはまれです。ツールが選択したセットを使用しない場合、選択したセットを使用しないことがツールの参照ページに明示的に記述されます。
時間対応レイヤー
ツールへの入力が時間対応レイヤーである場合、[タイム スライダー] ウィンドウによって設定した期間内のフィーチャのみが処理されます。時間対応レイヤーでは、タイム スライダーを今後の処理に使用するフィーチャを選択する方法として考えることができます。
内部レイヤー
レイヤーを作成するのに ArcMap は必要はありません。ArcCatalog 内のフィーチャクラスの内部テンポラリ レイヤーを作成するために、[レイヤーとテーブル ビュー] ツールセットの [フィーチャ レイヤーの作成 (Make Feature Layer)] ツールを使用することができます。
ジオプロセシング ツールを使用してレイヤーまたはテーブル ビューを作成する場合、新しいレイヤーまたはテーブル ビューが内部レイヤー リストに格納されます。このリストは、ArcMap のコンテンツ ウィンドウの別のリストです。これは、ジオプロセシングに実際にはレイヤーとテーブル ビューの 2 つのリストが保持されていることを意味します。
- ArcMap のコンテンツ ウィンドウ内のレイヤーのリスト
- ジオプロセシング ツールによって作成された内部レイヤー リスト
レイヤーがどこに保持されるかにかかわらず、レイヤーはツール ダイアログ ボックスの同じドロップダウン リスト内に表示されます。
ArcMap で [フィーチャ レイヤーの作成 (Make Feature Layer)] を実行すると、[ジオプロセシング処理結果をマップに追加] オプションを有効にすることによって、レイヤーを ArcMap のコンテンツ ウィンドウに自動的に追加することができます。
モデルおよびスクリプト内でのレイヤーの使用
ArcGIS Desktop アプリケーションを終了すると、すべてのレイヤーはメモリから削除されます。一般的な問題は、レイヤーを変数として使用するモデルまたはスクリプトを作成することです。モデルまたはスクリプトは、現在のセッションでは問題なく動作しますが、セッションの終了時にレイヤーが削除されるため、以降のセッションでは正常に動作しなくなります。たとえば、スクリプトには次のようなコードが割り当てられる可能性があります。
landuse_layer = "Zoning"
この例では、変数 landuse_layer は、Zoning にハードコーディングされます。後にスクリプトで landuse_layer 変数が使用され、現在のアプリケーションに Zoning という名前のレイヤーが存在しないために、スクリプトからエラーが返されます。コンテンツ ウィンドウの Zoning レイヤーを使用して、ArcMap で実行すれば、スクリプトは正常に動作します。しかし、スクリプトを ArcCatalog で実行するか、レイヤーが存在しない時に実行すると、正常に動作しません。
モデルにおいても同じ状況が生じます。Zoning レイヤーが使用されている所でモデルを作成すると、実行に失敗します。これはアプリケーションにその名前のレイヤーがないからです。
どちらの状況においても、次のいずれかの方法で解決することができます。
- レイヤーの名前をツールのパラメーターにします。そうすれば、ユーザーはツールを実行する際にレイヤーの名前を指定することができます。
- ツールを実行する前にレイヤーを作成します。
- モデルまたはスクリプト内にレイヤーを作成します。
レイヤー ファイルの使用
レイヤーはディスク上にレイヤー ファイル (*.lyr 拡張子の付いたファイル) として保存することができ、その後レイヤーを受け入れるすべてのツールへの入力として使用することができます。
レイヤー ファイルには、(ArcMap のコンテンツ ウィンドウ内のレイヤーのような) 内部レイヤーと同じ情報が含まれ、それにはフィーチャの選択が含まれます。
レイヤー ファイルを作成するには、[レイヤー ファイルの保存 (Save To Layer File)] ツールを使用することができます。ArcMap において、コンテンツ ウィンドウでレイヤーを右クリックして、[レイヤー ファイルとして保存] をクリックします。
レイヤーを受け入れるすべてのツールに対して、ディスク上のデータセットを参照するのと同様に、ディスク上のレイヤー ファイル (*.lyr) を参照することができます。ただし、レイヤー ファイルを参照する際、そのレイヤー ファイルに含まれるデータのタイプを決定できずにすべてのレイヤー ファイルを表示するツールがあります。不適切なレイヤー ファイルを選択した場合、ツールにはエラーまたは警告が表示されます。
レイヤー名の重複 - グループ レイヤーの使用
ArcMap において、同じ名前の複数のレイヤーをコンテンツ ウィンドウ上に表示することができます。ジオプロセシング ツールがコンテンツ ウィンドウをスキャンしてレイヤーのリストを構築する場合、重複するレイヤー名を削除しません。したがってレイヤーのドロップダウン リストには、名前が重複しているか否かにかかわらず、すべてのレイヤーが含まれます。
この問題に対処する最善策はグループ レイヤーを使用することで、重複した名前のレイヤーを別のグル−プ レイヤーに入れることです。以下の図では、ArcMap のコンテンツ ウィンドウ内の 2 つのグループ レイヤーを示しています。各グループ レイヤーには、同じ名前のレイヤーが含まれます。[フィールドの追加 (Add Field)] ツールのダイアログ ボックスでは、グループ レイヤーがツリー ビューに表示されるため、正しいレイヤーを選択することができます。
Python のデータ ロック
データ ソースのレイヤーが原因で、データ ソースでデータ ロックが発生した場合は、レイヤーの [削除 (Delete)] ツールを使用してロックを削除します。