クエリ レイヤの作成

クエリ レイヤの作成には、ArcMap の [クエリ] ダイアログ ボックスを使用します。クエリ レイヤを作成する前に、データベースへの接続を確立しておく必要があります。

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

注意注意:

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

ArcGIS がサポートするデータ タイプの詳細については、次のヘルプ トピックをご参照ください。

ArcGIS、ArcSDE、および DB2 のデータ タイプの比較

ArcGIS、ArcSDE、および Informix のデータ タイプの比較

ArcGIS、ArcSDE、および Oracle のデータ タイプの比較

ArcGIS、ArcSDE、および PostgreSQL のデータ タイプの比較

ArcGIS、ArcSDE、および SQL Server データ タイプの比較

手順:
  1. 作成するクエリ レイヤの名前を [名前] テキスト ボックスに入力します。この名前が ArcMap のコンテンツ ウィンドウに表示されます。
  2. [クエリ] テキスト ボックスに SQL クエリを入力します。
  3. クエリの構築にあたって [クエリ] テキスト ボックスにテーブル全体を追加する場合は、テーブルをダブルクリックするか、コンテンツ ウィンドウのテーブルを [クエリ] テキスト ボックス内にドラッグします。同様に、テーブル内の特定の列をクエリに追加する場合は、該当する列をダブルクリックするか、[列] ウィンドウから列を [クエリ] テキスト ボックス内にドラッグします。また、特定のクエリを入力することも、外部アプリケーションのクエリをコピーして [クエリ] テキスト ボックスに貼り付けることもできます。

    クエリ レイヤを構築するときは、そのデータベースに固有の SQL 構文を使用する必要があります。一般的な SQL文 の例として、SELECT * FROM Test.dbo.US_States という構文を考えてみましょう。この場合は、US_States テーブルの全ての列が含まれたクエリ レイヤが作成されます。ArcMap では、アメリカ合衆国全体が表示されます。SQL クエリの構築の詳細については、「SQL 式の構築について」をご参照ください。
  4. クエリを作成したら、その整合性をチェックする必要があります。[整合チェック] をクリックすると、クエリの構文が正しく、ArcGIS で利用できるデータを返すものであるか確認できます。整合チェック プロセスでは、データベースに対してクエリを実行し、クエリから返される結果セットが ArcGIS のデータ モデリング標準に従っているかどうかが確認されます。クエリ レイヤは、整合性が確認されるまで ArcMap に追加されません。

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

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

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

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

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

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

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

7/10/2012