ArcGIS のクエリ レイヤーは、SQL クエリによって定義される、データベースの空間レイヤーまたはスタンドアロン テーブルです。データベース接続を確立し、データベースからマップにレイヤーまたはテーブルを追加します。クエリ レイヤーでは SQL を使用してデータベース テーブルとビューを直接検索するので、クエリ レイヤーで使用する空間情報はジオデータベース内に存在する必要はありません。
ジオデータベースからマップに空間テーブル (フィーチャクラス) を追加すると、ArcGIS はジオデータベースのシステム テーブルから空間情報を読み取り、フィーチャを描画します。一方で、データベースからマップに空間テーブルを追加すると、ArcGIS はデータベースを検索してフィーチャの描画に必要な情報を確認します。その情報とは、一意の識別子フィールド (ObjectID)、レイヤーに Z 座標または M 座標が含まれるかどうか、ジオメトリ タイプ (ポイント、マルチポイント、ライン、ポリゴン)、空間参照、データの空間範囲などです。ほとんどのデータベースはこの情報をレイヤーごとに格納しないため、ArcGIS はテーブルを検索して情報を取得します。
前述のように、テーブルをマップにドラッグして ArcMap でクエリ レイヤーを作成できます。ArcGIS は、テーブルからすべてのデータを返す SQL クエリを定義します。クエリ レイヤーを変更して、データをフィルター処理したり、テーブルを別のテーブルに結合したりできます。また、[新規クエリ レイヤー] ダイアログ ボックスを使用してクエリ レイヤーを定義することもできます。これにより、すべてのデータを描画する前に、SQL クエリを作成できます。これは、マップ内のデータのサブセットだけが必要な場合に便利です。
ArcMap でレイヤーが表示されたり使用されるたびに、クエリが実行されます。これにより、データのコピーやスナップショットを作成しなくても最新情報を表示でき、頻繁に変更される動的な情報を操作する場合に特に役立ちます。クエリ レイヤーの機能は、ArcGIS によってサポートされるどの DBMS に対しても有効です。
クエリ レイヤーの操作のクイック ツアー
- マップでクエリ レイヤーを使用するには、データベースまたはジオデータベースからマップにテーブルをドラッグするか、[新規クエリ レイヤー] ダイアログ ボックスを使用してデータベース内のテーブルおよびビューに対してクエリを定義します。
- クエリ レイヤーは他のフィーチャ レイヤーやスタンドアロン テーブルと同じような振舞いなので、データの表示に使用したり、ジオプロセシング ツールへの入力として使用したり、開発者 API を使用するプログラミングによってアクセスすることができます。
- クエリ レイヤーを作成したら、レイヤー ファイル (*.lyr) として保存したり、レイヤー パッケージ (*.lpk) の作成に使用したりできます。これによって、他のアプリケーション、マップ ドキュメント、他のユーザーと、クエリ レイヤーを容易に共有できるようになります。