レイヤとテーブル ビューの使用
ツールへの最も一般的な入力はデータセットです。いつでもディスク上のデータセットを参照できるのはもちろんですが、入力としてレイヤまたはテーブル ビューを使用することもできます。
- レイヤは、ArcMap のコンテンツ ウィンドウに表示されます。レイヤには、シンボル情報およびフィーチャまたは行の選択情報と共に、データセットへのパスが含まれています。
- テーブル ビューは、レイヤに相当するテーブルです。それはメモリ内に格納されるテーブルであり、テーブルを ArcMap に追加したときに作成されたテーブル ビューと同じです。次に示すように、コンテンツ ウィンドウの最上位に表示された、[ソース別にリスト] ボタン をクリックすることによってテーブルを参照することができます。
テーブル上で機能するツールはすべて、フィーチャクラスまたはフィーチャ レイヤでも使用することができます。これはフィーチャクラスが、フィーチャの形状を含む属性を持つテーブルにすぎないからです。他のどの観点から見ても、フィーチャクラスはテーブルです。
ArcMap のツール ダイアログ ボックスを開くか、または Python ウィンドウにツール名を入力すると、次のように動作します。
- ArcGIS はツールのパラメータを調べて、どのパラメータが入力データセットまたは入力テーブルを使用するかを確認します。該当するものが見つかると、入力データセットのタイプがポイント フィーチャクラス、TIN、ネットワーク、テーブルのいずれであるかについて調べます。
- ArcMap のコンテンツ ウィンドウは、次にスキャンとフィルタリングを実行して、パラメータのデータセット タイプに一致するレイヤがないかを確認します。一致するレイヤがあれば、そのリストが作成され、パラメータが制御するドロップダウン リストから選択できるようになります。それらのレイヤまたはテーブル ビューから 1 つを入力として選択することができます。
次の図は、[入力フィーチャ] パラメータのために構築された、[バッファ(Buffer)] ツールおよびレイヤのドロップダウン メニューを示しています。
ツールの中には、レイヤまたはレイヤ ファイルを、入力または出力としてのみ受け入れるものがあります。これが現在使用中のツールに当てはまる場合には、たとえば、[入力フィーチャ] ではなく [入力フィーチャ レイヤ] というように、パラメータの表示名にはレイヤという語が含まれます。
ディスク上のデータセットを参照する代わりにレイヤを使用することは、自然で直観的です。さらに、レイヤを使用すると、ショートカットを使用してディスク上のデータセットを参照する場合と比較してはるかに多くの利点があります。
- レイヤおよびテーブル ビューは、フィーチャまたは行を選択することが可能で、ジオプロセシング ツールは、選択したフィーチャまたは行においてのみ処理を実行します。
- レイヤおよびテーブル ビューは、必ず ArcMap のコンテンツ ウィンドウから選択しなくても構いません。ArcCatalog で使用できるように、ジオプロセシング ツールで作成することができます。
- レイヤの有効期限は短いので、スクリプトやモデルを後から実行する際にレイヤが存在しない可能性があるため、スクリプトやモデルを作成する時にこのことを知っておく必要があります。
[ラスタ レイヤの作成] のような、[レイヤの作成] ツールは、入力データからレイヤを作成します。このレイヤはメモリに一時的に格納されますが、ディスク上には保存されず、現在のセッションのみで使用することができます。セッションが終了すると、レイヤは削除されます。ArcCatalog 内で作成されたレイヤは、ArcMap で使用することはできず、逆の場合も同様です。作成されたレイヤは ArcCatalog に表示されませんが、実行中のセッションで他のジオプロセシング ツールへの入力として使用することができます。
選択セット
選択セットとも呼ばれる選択を含むレイヤまたはテーブル ビュー選択はフィーチャクラス内のフィーチャのサブセット、またはテーブルの行のサブセットです。ArcMap でフィーチャを選択するにはさまざまな方法があります。たとえば、形状の中のすべてのフィーチャを選択するためにマップ表示上に形状を描画したり、または論理式を使用するなどが挙げられます。[データ管理] ツール [レイヤとテーブル ビュー] ツールセットに含まれるジオプロセシング ツールを使用して、フィーチャおよび行を選択することもできます。次に示すように、ArcMap のコンテンツ ウィンドウの最上部に表示される [選択状態別にリスト] ボタン をクリックすることによって、フィーチャまたは行の数を確認することができます。
ほぼすべてのジオプロセシング ツールが、フィーチャまたは行の選択されたセット上でのみ機能します。たとえば、[クリップ(Clip)] ツールは、入力フィーチャとクリップ フィーチャ データセットの両者において、現在選択されているフィーチャのみを使用します。[要約統計量(Summary Statistics)] ツールは、選択した統計情報のみを計算します。実際、選択したフィーチャセット上でツールが機能しないことはまれです。ツールが選択したセットを使用しない場合、選択したセットを使用しないことがツールの参照ページに明示的に記述されます。
[フィールドの追加(Add Field)] のような、フィーチャクラスまたはテーブルのスキーマを変更するツールは、1 つのセットにフィールドを追加して他には追加しないことは不可能であるため、選択したセットを使用しません。
内部レイヤ
レイヤを作成するのに 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 において、同じ名前の複数のレイヤをコンテンツ ウィンドウ上に表示することができます。ジオプロセシングがコンテンツ ウィンドウをスキャンしてレイヤのリストを構築する場合、重複するレイヤ名を削除しません。したがってレイヤのドロップダウン リストには、名前が重複しているか否かにかかわらず、すべてのレイヤが含まれます。
重複した名前のレイヤを選択した場合、どのレイヤが使用されるかを知る手立てはありません。