クエリ レイヤーをマップに追加したら、レイヤーの SQL クエリとその他のプロパティを変更できます。これは、[レイヤー プロパティ] ダイアログ ボックスから [クエリ レイヤーの編集] ダイアログ ボックスを開いて行います。
データベースに格納されている空間テーブルをマップに追加すると、テーブルの最初の行で定義されたデフォルトのプロパティを持つクエリ レイヤーが作成されます。ただし、これらのプロパティは最適でない場合があります。たとえば、空間テーブルの 1 つの空間属性に複数のジオメトリ タイプが存在する場合があります。都市のコレクションを含む空間テーブルは、データベース内でポイントとポリゴンの両方のジオメトリ タイプでモデリングすることができます。ArcGIS のフィーチャ レイヤーは 1 つのジオメトリ タイプしか持つことができないため、テーブルの最初の行がデフォルトのジオメトリ タイプ プロパティを表します。この例では、都市データを含む空間テーブルの最初の行がポイント ジオメトリを返す場合、都市のクエリ レイヤーはポイント フィーチャのみを表示します。都市テーブルに格納されているポリゴン フィーチャを表示したい場合は、[クエリ レイヤーの編集] ダイアログ ボックスでクエリ レイヤーのプロパティを変更し、ジオメトリ タイプをポリゴンに変更します。
クエリ レイヤーの次元、空間参照、SRID、一意識別子フィールドなどの他のプロパティも、空間テーブルから返される最初の行で定義されます。ジオメトリ タイプと同様、[クエリ レイヤーの編集] ダイアログ ボックスの [高度な設定] ウィンドウからこれらのプロパティにアクセスし、値を変更することができます。
クエリ レイヤーの次元を変更すると、表示されたフィーチャのジオメトリ フィールドの値が、その変更に合わせて変更されます。
たとえば、レイヤーがデータベースの x、y、z、および m 次元で定義されている場合、クエリ レイヤーを編集して高度な設定の [M 値を含む座標] オプションと [Z 値を含む座標] オプションをオフにすると、レイヤー内のすべてのフィーチャが x 値と y 値のみを表示するようになります。または、クエリ レイヤーを編集して [M 値を含む座標] オプションと [Z 値を含む座標] オプションをオンにすると、すべてのフィーチャが x 値、y 値、z 値、m 値を表示するようになります。これらのオプションをオンにして、フィーチャがデータベースに z 値または m 値を持たない場合、これらの値はクエリ レイヤーに NULL として表示されます。
[クエリ レイヤーの編集] ダイアログ ボックスの高度な設定でクエリ レイヤーの空間参照または SRID を変更すると、ArcMap に表示されるフィーチャは、空間参照または SRID 値に基づいてフィルタリングされます。
クエリ レイヤーの定義とプロパティを変更するには、次の手順を実行します。
- [コンテンツ] ウィンドウで、変更するクエリ レイヤーを右クリックします。
- [プロパティ] をクリックして [レイヤー プロパティ] ダイアログ ボックスを開きます。
- [ソース] タブをクリックします。
- [クエリを変更] をクリックします。
[クエリ レイヤーの編集] ダイアログ ボックスが表示されます。
- クエリ レイヤーを定義する SQL ステートメントを変更するには、[クエリ] テキスト ボックスでクエリを変更します。
ArcGIS での SQL クエリの作成方法については、「クエリ条件式の構築」をご参照ください。
- [整合チェック] をクリックして、クエリ条件式が正しいことを確認します。
- クエリ レイヤーの一意識別子や、次元、SRID、空間参照、ジオメトリ タイプなどの空間プロパティを変更したい場合は、[高度な設定を表示] チェックボックスをオンにして [次へ] をクリックします。
高度な設定の詳細については、「クエリ レイヤーの作成」をご参照ください。
- [完了] をクリックして、ダイアログ ボックスを閉じます。
- [レイヤー プロパティ] ダイアログ ボックスで [OK] をクリックして、クエリ レイヤーの新しい結果セットを表示し、ダイアログ ボックスを閉じます。