データセットをレイヤーとしてマップまたはシーンに追加する際、データセットにフィーチャのサブセットだけを操作または描画したい場合があります。例を以下に示します。
- 世界の各都市のデータセットから、100 万人以上の人口が存在する都市だけを操作する。
- 水文解析ラインのデータセットから、永続的に流れている小川だけを操作する。
- パーセルのデータセットから、商用区域のパーセルだけを操作する。
フィルター設定を使用して、レイヤーがデータセットから取得するフィーチャをフィルタリングすることで、レイヤー内で操作するフィーチャのサブセットを定義できます。したがって、フィルター設定は描画だけでなく、レイヤーの属性テーブルに表示され、ジオプロセシング ツールが選択、ラベル付け、特定、および処理できるフィーチャにも影響を与えます。
描画対象のフィーチャは制限するが、引き続きすべてのフィーチャを検索および処理の対象にしたい場合は、表示フィルターの使用を検討してください。フィルター設定と表示フィルターはレイヤー上で同時に使用できますが、フィルター設定はレイヤーで扱うことのできるフィーチャを制限するのに対し、表示フィルターは表示されるフィーチャのみを制限することに注意してください。
フィルター設定は 1 つ以上のクラスで構成されます。フィルター設定は SQL 構文で作成し、検索条件設定を使用して構築します。項目とクエリを操作する方法やファイルからクエリを読み込んで保存する方法については、「検索条件設定でのクエリの作成」をご参照ください。
レイヤーには複数のフィルター設定を関連付けることができますが、一度にアクティブにできるフィルター設定は 1 つだけです。レイヤーに複数のフィルター設定が定義されている場合でも、すべてのフィルター設定を非アクティブにすることで、フィルター設定を適用しないようにすることもできます。
メモ:
このトピックでは、フィーチャ レイヤーにおけるフィルター設定について説明しますが、フィルター設定はスタンドアロン テーブルでも同様に使用できます。
レイヤーに対するフィルター設定の作成
レイヤーに対してフィルター設定を作成するには、次の手順を実行します。
- 該当するレイヤーが [コンテンツ] ウィンドウで選択されていることを確認します。
- [フィーチャ レイヤー] の [データ] タブにある [フィルター設定] グループで、 をクリックして、[レイヤー プロパティ] ダイアログ ボックスと [フィルター設定] タブを開きます。
- [新しいフィルター設定] をクリックします。
新しいクエリがデフォルトの名前で作成され、1 つの未完成の項目が含まれます。
- 項目を構築するメニューから値を選択します。これらのメニューと値は、基になるソース データに固有です。
- 必要に応じて、[項目の追加] をクリックして、別の項目をクエリに追加します。必要に応じて、新しい項目のメニューから値を選択します。必要に応じて、上記の手順を繰り返して項目を追加します。
- 必要に応じて、クエリ名にポインターを合わせてクリックして、名前を変更します。
- 必要に応じて、[SQL 式の確認] をクリックして SQL 式を確認します。
- クエリを検証して完成させるには、[適用] をクリックします。
- レイヤー上にフィルター設定が 1 つしか存在しない場合、そのフィルター設定がアクティブ化され、すぐに適用されます。レイヤー上に他のフィルター設定が存在する場合は、[アクティブとして設定] をクリックして、フィルター設定をレイヤーに適用します。
アクティブなフィルターの設定
レイヤーまたはテーブルに対して複数のフィルター設定を定義し、これらのフィルター設定を切り替えることができます。常に 1 つのフィルター設定だけがアクティブになります。また、アクティブなフィルター設定が存在しないようにすることもできます。フィルター設定は、レイヤーのプロパティとして格納されます。
アクティブなフィルター設定を切り替えるには、次の手順を実行します。
- 該当するレイヤーが [コンテンツ] ウィンドウで選択されていることを確認します。
- [フィーチャ レイヤー] の [データ] タブにある [フィルター設定] グループで、[フィルター設定] メニューからクエリを選択して、そのクエリをレイヤーに適用します。
- また、[レイヤー プロパティ] ダイアログ ボックスからアクティブなクエリを設定することもできます。
- [アクティブとして設定] をクリックして、そのクエリをレイヤーに適用します。それ以外のクエリはすべて非アクティブになります。アクティブなクエリの名前が [プロパティ] ダイアログ ボックスの下部に表示されます。リストに多数のクエリが含まれているため、アクティブなクエリを確認できない場合は、[アクティブなフィルター設定を表示] をクリックして、そのクエリが見つかるまでスクロールします。
- [クエリのアクティブ化を解除] をクリックして、どのクエリもレイヤーまたはテーブルに適用されていない状態にします。すべてのクエリがレイヤーまたはテーブルで維持されますが、現在どのクエリも適用されていません。
既存のクエリの変更
[コンテンツ] ウィンドウでレイヤーを選択した状態で、[フィーチャ レイヤー] の [データ] タブにある [フィルター設定] グループで、 をクリックして、[レイヤー プロパティ] ダイアログ ボックスと [フィルター設定] タブを開きます。フィルター設定を変更するには、クエリにポインターを合わせて、次のいずれかの操作を実行します。
- フィルター設定内の項目の変更、フィルター設定への項目の追加、フィルター設定からの項目の削除を行う場合は、クエリのセルで [編集] をクリックします。
- クエリ内の項目を編集するには、必要に応じて値を調整します。
- クエリから項目を削除するには、[項目の削除] をクリックします。
- クエリに項目を追加するには、[項目の追加] をクリックします。
[適用] をクリックして、変更をフィルター設定に適用します。
- レイヤーまたはテーブルからフィルター設定を削除するには、フィルター設定セルにポインターを合わせ、[フィルター設定の削除] をクリックします。
- フィルター設定の名前を変更する場合は、フィルター設定の名前をクリックして新しい名前を入力します。
- クエリ構文をクエリ式ファイル (*.exp ファイル) にエクスポートするには、[保存] をクリックします。
- 現在のクエリをクエリ式ファイル (*.exp ファイル) 内の別のクエリに置き換えるには、[読み込み] をクリックします。
一度に複数のレイヤーにフィルター設定を適用
複数のレイヤーがフィルター設定を共通の名前で共有している場合 (クエリの内容がそれぞれ異なる場合でも)、これらのクエリを複数のレイヤーまたはテーブルに対して同時にアクティブにすることができます。つまり、特定のシナリオに関連する多数のクエリを構築し、一度にこれらのクエリをすべて適用できます。この後、必要に応じて、別のシナリオに合わせて異なる一連のクエリに切り替えることができます。
共通した名前のフィルター設定を同時に複数のレイヤーに適用するには、次の手順を実行します。
- [コンテンツ] ウィンドウで複数のレイヤーまたはテーブルが選択されていることを確認します。
- [フィーチャ レイヤー] の [データ] タブにある [フィルター設定] グループで、[フィルター設定] メニューからクエリを選択して、そのクエリをレイヤーに適用します。選択したすべてのレイヤーに共通した名前のフィルター設定だけが表示されます。
フィルター設定を含むレイヤーの共有
レイヤーがフィーチャ レイヤーとして共有されているか、マップ イメージ レイヤー内で共有されている場合は、アクティブなフィルター設定だけが保持されて適用されます。それ以外の非アクティブなフィルター設定はすべて削除されます。