クエリ レイヤによる問い合わせ フィードバックフィードバック E-mail で送信E-mail で送信 印刷印刷

ArcGIS Explorer のクエリ レイヤは、指定した条件に基づいてマップ レイヤ内でデータをフィルタリングする機能です。クエリを作成し、適切な条件を選択することにより、関心のあるデータだけをマップに表示することができます。たとえば、世界中の都市が含まれるジオデータベース レイヤを追加したが、マップに表示したいのは人口が 100 万人を超える都市だけであるとします。この場合は、[検索条件設定] を使用してクエリを作成し、新しいクエリ レイヤを追加することができます。元のデータ ソースは変更されず、マップに描画される情報の量と種類を制御することになります。必要なデータに望まれる効果が得られるまで、クエリ レイヤはコンテンツ ウィンドウ内で簡単に削除、移動、グループ化することができます。クエリ レイヤを ArcGIS Explorer の解析ツールへの入力として使用したり、反対に解析ツールの結果に基づいてクエリ レイヤを作成したりすることもできます。

検索条件設定を開く

[検索条件設定] を開くには、対象とするレイヤをコンテンツ ウィンドウで選択してから、リボンの [ツール] タブを選択し、[検索] ボタンをクリックします。選択できるレイヤは、ポイント レイヤ()、ライン レイヤ()、ポリゴン レイヤ()、マップ サービス レイヤ()、または ArcGIS レイヤ( シンボルで表示される)のいずれかです。


[クエリ レイヤの作成(Create Query Layer)] ボタン

クエリ レイヤの作成

ArcGIS Explorer のクエリ レイヤは、標準的な SQL(Structured Query Language)のパターンに従います。選択したレイヤに含まれている、[検索条件設定] に指定した条件を満たすすべてのフィーチャが、クエリによって表示されます。クエリの最初の部分(「SELECT * FROM」つまり「すべて選択」)は、すでに ArcGIS Explorer によって入力されています。レイヤを選択(この例では「Mountains」)することにより、このクエリを適用するレイヤを選択したことになり、ArcGIS Explorer によって「SELECT * FROM Mountains WHERE...」が入力されます。WHERE 句とも呼ばれるこのコマンドに続く条件を、[検索条件設定] に指定します。


[検索条件設定] ダイアログ

ステップ 1:フィールドの選択

[検索条件設定] が開くと、すでにレイヤのコンテンツが調べられ、属性フィールドが左側に一覧表示されていることがわかります。クエリの作成を開始するには、次の例にある「"Type"」フィールドのような属性フィールド名を 1 つ選択する必要があります。選択すると、選択したフィールド名が、ダイアログの下半分にあるクエリ プレビュー ボックスに表示されます。さらにオプションを選択するたびに、ここに表示されるクエリの残りの部分が少しずつ増えていきます。クエリの一部を削除したり、コピーして貼り付けたりなど、必要に応じてプレビュー ボックスのクエリを直接編集することもできます。
選択したレイヤの属性フィールド

ステップ 2:演算子の選択

次に、ダイアログ中央のボタンを使用して、適切なクエリ演算子を挿入します。たとえば、等号であれば [=] ボタン、大なりであれば [>] ボタンをクリックします。作成中のクエリのクエリ プレビュー ボックスには、「"Type" =」のように表示されます。
クエリ演算子

ステップ 3:値の入力

クエリを完了するための適切な値を選択するために、ArcGIS Explorer には選択したフィールドで個別の値を検索する機能があります。この検索を開始するには、[個別値を取得] ボタンをクリックします。個別値の検索が終了すると、上のリストにそれぞれの個別値が表示されます。値をクエリに追加するには、その値をリストで選択する必要があります。検索に追加したい値がわかっている場合は、サンプル値のリストの上にあるテキスト ボックスに値を入力し、[使用] をクリックしてクエリ プレビューに追加します。これで、現在のクエリは「"Type" = 'Corbett'」のようになります。
個別値を取得
[個別値を取得] はマップ サービスでは有効にできません。サービスの属性について不明な点がある場合は、マップ サービス フィーチャをクリックすると、ポップアップ ウィンドウで属性を表示できます。

ステップ 4:クエリのテスト

クエリが完成したら、[テスト] をクリックして、クエリが有効であることを確認する必要があります。クエリで多くの結果が返される可能性があります。その場合は、一致するフィーチャが 100 個以上見つかったとするメッセージがダイアログに表示され、クエリの条件の変更を検討する必要があることを示します。
クエリのテスト

ステップ 5:クエリの適用

最後に [OK] をクリックして、選択したレイヤにクエリを適用し、マップを更新します。クエリは新しいレイヤとしてマップに表示され、コンテンツ ウィンドウの上部にも表示されます。選択したレイヤと同じ名前が付けられ、クエリの文字列は括弧に囲まれて、たとえば「Cities ("Population" >= 1000000)」のような形で追加されています。これにより、検索結果を簡単に識別できます。
新しいクエリ レイヤ

注意: 検索レイヤは、作成後、マップ内の他のレイヤと同じように扱うことができます。リボン上のツールを使用するか、コンテンツ ウィンドウ内のレイヤを右クリックしてショートカット メニューを使用することで、名前を変更したり、フォルダに移動したり、コンテンツ ウィンドウ内の別の場所にドラッグしたり、またはマップからただ削除したりすることもできます。

 

クエリの構文

クエリを作成するときに従う必要があるガイドラインを以下に示します。

文字列値を検索する場合

数値を検索する場合

さらに高度なクエリの作成

ほとんどの一般的な演算子は [検索条件設定] で不自由なく提供されますが、独自の SQL ステートメントをクエリ プレビュー ボックスに直接記述することもできます。この場合は、追加の SQL 演算子を使用したり、クエリ文字列の各部分が適用される順序を制御したり(「演算子の優先順位」と呼びます)するだけでなく、算術演算子(+、-、*、/)を使用して数値フィールド間や数字間で計算を行うこともできます。

個々の部分を組み合わせて複合クエリを作成し、さらに高度なクエリにすることができます。たとえば、「Munro」という名前のすべての山と、「Corbett」という名前のすべての山を表示したいとします。このためには、初めに「Munro」という値に基づくクエリ レイヤを作成してから、この新しいレイヤを選択して「Corbett」という値で 2 つ目のクエリ レイヤを作成します。このクエリをさらに迅速に作成する方法としては、1 つ目の部分を「"Type" = 'Munro'」と作成し、適切な論理演算子(この場合は OR)を追加して、最後にクエリの 2 つ目の部分である「"Type" = 'Corbett'」を追加します。全体としては「"Type" = 'Munro' OR "Type" = 'Corbett'」のようになります。