クエリ レイヤの作成

クエリ レイヤの作成には、ArcMap の [新規クエリ レイヤ] ダイアログ ボックスを使用します。クエリ レイヤを作成する前に、データベースへの接続を確立しておく必要があります。[接続] ドロップダウン リストには、利用可能なデータベース接続が表示されます。

データベースへの接続が確立されると、そのデータベースにあるテーブルとビューのリストがダイアログ ボックスの左側のウィンドウに表示されます。テーブルを 1 つ選択すると、そのテーブルの各列が右側のウィンドウに表示されます。

データベース接続に一覧表示されたテーブルと列

注意注意:

データベースの各列にはそれぞれデータ タイプが設定されています。ArcGIS では、ほとんどの一般的なデータベース タイプを使用できます。ただし、一部のデータベース タイプはサポートされていません。属性列のタイプに「不明」と表示されている場合は、ArcGIS がサポートしていないデータ タイプであることを示します。クエリを指定するときには、データ タイプが不明の列をすべて除外するか、ArcGIS でサポートされている別のデータ タイプにクエリで変更する必要があります。

ArcGIS がサポートするデータ タイプの詳細については、「ArcGIS でサポートされているデータ タイプ」をご参照ください。

[クエリ] テキスト ボックスに SQL クエリを指定します。

クエリの構築にあたって [クエリ] テキスト ボックスにテーブル全体を追加する場合は、テーブルをダブルクリックするか、コンテンツ ウィンドウのテーブルを [クエリ] テキスト ボックス内にドラッグします。同様に、テーブル内の特定の列をクエリに追加する場合は、該当する列をダブルクリックするか、[列] ウィンドウから列を [クエリ] テキスト ボックス内にドラッグします。また、特定のクエリを入力することも、外部アプリケーションのクエリをコピーして [クエリ] テキスト ボックスに貼り付けることもできます。

クエリ レイヤを構築するときは、そのデータベースに固有の SQL 構文を使用する必要があります。一般的な SQL 文は、SELECT * FROM Test.dbo.US_States のようになります。この場合は、US_States テーブルのすべての列が含まれたクエリ レイヤが作成されます。ArcMap では、アメリカ合衆国全体が表示されます。SQL クエリの構築の詳細については、「クエリ式の構築」をご参照ください。

クエリを作成したら、その整合性をチェックする必要があります。整合チェック中に、ArcGIS はテーブルに返された最初の行に基づいてクエリ レイヤのプロパティを決定します。

クエリ レイヤのプロパティは次のようになります。

[高度な設定を表示] チェックボックスをオンにして [次へ] をクリックすると、クエリ レイヤの整合チェックを行った後に、これらのプロパティを表示および変更できます。

クエリ レイヤのプロパティは、データベースから ArcGIS に返された行をフィルタ処理するために使用されます。たとえば、テーブル内のジオメトリに複数の SRID が指定されている場合は、クエリ レイヤに SRID プロパティを設定して、その SRID に一致しないデータベース テーブルの行を ArcMap で表示しないようにすることができます。

手順:
  1. [新規クエリ レイヤ] ダイアログ ボックスの [名前] テキスト ボックスに、作成するクエリ レイヤの名前を指定します。この名前が ArcMap のコンテンツ ウィンドウに表示されます。
  2. [クエリ] テキスト ボックスに SQL クエリを入力します。
  3. クエリを作成したら、その整合性をチェックする必要があります。[整合チェック] をクリックすると、クエリの構文が正しく、ArcGIS で利用できるデータを返すものであるか確認できます。整合チェック プロセスでは、データベースに対してクエリを実行し、クエリから返される結果セットが ArcGIS のデータ モデリング標準に従っているかどうかが確認されます。クエリ レイヤは、整合性が確認されるまで ArcMap に追加されません。

    整合チェック ルールとして、次を満たしていることが確認されます。

    • 結果セットの持つ空間フィールドは 1 つだけである。
    • 結果セットが持つ空間参照は 1 つだけである。
    • 結果セットが持つシェープ タイプは 1 つだけである。
    • 結果セットに、ArcGIS のサポートしないフィールド タイプは含まれていない。

    なんらかの理由で整合チェックに失敗した場合は、エラー メッセージが返されるので、クエリを修正する必要があります。

    整合チェックは、対象のデータが ArcGIS と同じ標準を使用しない空間データベース内のデータである場合に特に重要になります。

    ヒントヒント:
    整合チェック処理時に、ArcGIS はクエリ レイヤの次元、ジオメトリ タイプ、空間参照、SRID、および一意識別子のプロパティを設定します。これらの値は、クエリで返される先頭行に基づいています。これらの設定を変更する必要がある場合は、[高度な設定] ダイアログ ボックスを使用します。[新規クエリ レイヤ] ダイアログ ボックスに高度な設定ページを表示するには、[高度な設定を表示] のチェックボックスをオンにします。

    高度な設定ページの詳細については、「一意な識別子のフィールドの選択」と「クエリ レイヤの空間参照の定義」をご参照ください。

  4. クエリの整合チェックに成功したら、[完了] をクリックして、結果をクエリ レイヤとして ArcMap に追加します。
    注意注意:

    ArcMap は、レイヤをマップにドラッグしたときにレイヤの範囲を計算します。多数のフィーチャを含むテーブルを追加する場合は、範囲の計算に時間がかかる場合があります。データの範囲を知っている場合や、範囲の計算を待たずに独自の空間参照の範囲を使用したい場合は、そちらを選択できます。[範囲の計算] ダイアログ ボックスで該当するボタンをクリックします。[範囲の入力] をクリックした場合、テーブル内のすべてのフィーチャを含む有効な範囲を入力する必要があります。

    範囲を計算するその他の方法

関連トピック

9/15/2013