クエリ レイヤーの変更

クエリ レイヤーをマップに追加した後に、SQL クエリやクエリ レイヤー プロパティの変更が必要となる場合があります。これは、クエリ レイヤーの [レイヤー プロパティ] ダイアログ ボックスの [ソース] タブから [クエリ レイヤーの編集] ダイアログ ボックスを開いて行います。

データベースに格納されている空間テーブルをマップに追加すると、テーブルの最初の行で定義されたデフォルトのプロパティを持つクエリ レイヤーが作成されます。ただし、これらのプロパティは最適でない場合があります。たとえば、空間テーブルの 1 つの空間属性に複数のジオメトリ タイプが存在する場合があります。都市のコレクションを含む空間テーブルは、データベース内でポイントとポリゴンの両方のジオメトリ タイプでモデリングすることができます。ArcGIS のフィーチャ レイヤーは 1 つのジオメトリ タイプしか持つことができないため、テーブルの最初の行がデフォルトのジオメトリ タイプ プロパティを表します。この例では、都市データを含む空間テーブルの最初の行がポイント ジオメトリを返す場合、都市のクエリ レイヤーはポイント フィーチャのみを表示します。都市テーブルに格納されているポリゴン フィーチャを表示したい場合は、[クエリ レイヤーの編集] ダイアログ ボックスでクエリ レイヤーのプロパティを変更し、ジオメトリ タイプをポリゴンに変更します。

クエリ レイヤーの次元、空間参照、SRID、一意識別子フィールドなどの他のプロパティも、空間テーブルから返される最初の行で定義されます。ジオメトリ タイプと同様に、[クエリ レイヤーの編集] ダイアログ ボックスで [次へ] をクリックして、これらのプロパティにアクセスして値を変更することができます。

クエリ レイヤーの次元を変更すると、表示されたフィーチャのジオメトリ フィールドの値が、その変更に合わせて変更されます。

たとえば、レイヤーがデータベースの x、y、z、および m 次元で定義されている場合に、クエリ レイヤーを編集して [M 値を含む座標 (ルート データ格納に使用)] オプションと [Z 値を含む座標 (3D データ格納に使用)] オプションを [空間プロパティ] の下でオフにした場合、レイヤー内のすべてのフィーチャが x 値と y 値のみを表示するようになります。または、クエリ レイヤーを編集して [M 値を含む座標 (ルート データ格納に使用)] オプションと [Z 値を含む座標 (3D データ格納に使用)] オプションをオンにすると、すべてのフィーチャが x 値、y 値、z 値、m 値を表示するようになります。これらのオプションをオンにして、フィーチャがデータベースに z 値または m 値を持たない場合、これらの値はクエリ レイヤーに NULL として表示されます。

[クエリ レイヤーの編集] ダイアログ ボックスの [空間プロパティ] でクエリ レイヤーの空間参照または SRID を変更すると、ArcGIS Pro に表示されるフィーチャは、空間参照または SRID 値に基づいてフィルタリングされます。

クエリ レイヤーの定義とプロパティを変更するには、次の手順を実行します。

  1. クエリ レイヤーを含むプロジェクトを開きます。
  2. [コンテンツ] ウィンドウでレイヤーを右クリックし、ショートカット メニューから [プロパティ] プロパティ を選択します。
  3. [レイヤー プロパティ] ダイアログ ボックスの [ソース] タブをクリックします。
  4. データ ソース テーブルに クエリという名前のプロパティが割り当てられ、そのレイヤーの現在の SQL クエリが表示されます。[クエリの編集] ボタンをクリックします。

    [クエリ レイヤーの編集] ダイアログ ボックスが表示されます。

  5. 最初のウィンドウから SQL クエリを変更できます。[整合チェック] をクリックして、SQL が正しいことを確認します。
  6. [次へ] をクリックして、一意識別子に使用されているフィールドを変更するか、レイヤーの別の空間またはレイヤー範囲プロパティを指定します。
    • [ArcGIS Pro でレイヤーの空間プロパティを検索] を選択して [次へ] をクリックした場合、値が設定されますが、それらは変更できます。[完了] をクリックして、クエリ レイヤーの変更内容を保存します。
    • [レイヤーの空間プロパティの定義] を選択して [次へ] をクリックした場合、すべての既存の空間プロパティ設定が解除されるので、新しいプロパティを指定する必要があります。[次へ] をクリックしてレイヤー範囲を設定し、[完了] をクリックして、クエリ レイヤーの変更内容を保存します。

関連トピック