表示フィルターの使用

表示フィルターは、レイヤーのどのフィーチャを表示するかを制限するクエリです。 表示フィルターは縮尺別で設定されるか、手動で設定できます。 表示フィルターは定義クエリとは異なり、表示のみに影響を与えます。 表示フィルターで表示からフィルタリングされたフィーチャは、引き続きクエリと解析に使用できます。 定義クエリでフィルタリングされたフィーチャは、レイヤーで完全に使用できなくなります。

表示フィルターは、一部のフィーチャを描画し、すべてのフィーチャに引き続きアクセスできるようにする場合に使用します。 表示フィルターがアクティブな場合、レイヤー内のすべてのフィーチャはレイヤーの属性テーブルに引き続き表示され、選択、指定、編集、およびジオプロセシング操作を行うことができます。 ただし、表示されているフィーチャのみがラベル付けされるため、表示フィルターはレイヤーのラベル付けに影響を与えます。 表示フィルターは、2D マップのみで利用できます。 3D シーンでは利用できません。

表示フィルターは、レイヤーのシンボル表示方法には依存しません。 したがって、表示フィルターを定義するクエリは、フィーチャのシンボルの指定に使用される属性だけでなく、すべてのフィーチャ属性から作成できます。 たとえば、一般道路、幹線道路、高速道路に別々のシンボルを使用して、道路クラス別に道路ライン レイヤーをシンボル表示できます。 一方、表示フィルターのクエリを使用して、小縮尺で (道路タイプに関係なく) 最低交通量の道路だけを表示することもできます。 つまり、表示フィルターは、レイヤーをシンボル表示する方法を変更した後も、そのまま維持されます。

レイヤーの表示フィルターの有効化

表示フィルターは、レイヤーの [シンボル] ウィンドウにある [表示フィルター] 表示フィルター タブで管理します。 マップ表示に表示フィルターを適用するには、フィルターを有効にする必要があります。 [表示フィルターの有効化] 切り替えボタンをクリックしてオンにします。 これにより、既存の表示フィルターがアクティブになるとともに、新しい表示フィルターを作成できます。

表示フィルターを無効にしても、その設定内容は維持されます。 表示フィルターを一時停止するには、[表示フィルターの有効化] 切り替えボタンをクリックしてオフにします。 縮尺の設定とクエリはそのまま維持されますが、この切り替えボタンをもう一度オンにするまで、これらの設定とクエリに従ってレイヤーの描画が行われません。 このように、フィルターが適用されているかどうかに関係なく、表示を比較できます。

ヒント:
マップまたはシーンの [コンテンツ] ウィンドウでレイヤーのリストをフィルタリングして、表示フィルターが有効化されたレイヤーだけを表示できます。

2 種類の表示フィルター

レイヤーには複数の表示フィルターを設定できますが、レイヤーに適用される表示フィルターは一度に 1 つのみです。 現時点でアクティブにする表示フィルターを指定する方法としては次の 2 つがあります。

  • 縮尺別 - このモードでは、レイヤーの各表示フィルターが表示縮尺範囲に関連付けられます。 縮尺範囲は相互に排他的かつ連続的です。縮尺範囲間でギャップを発生させたり、オーバーラップさせたりすることはできません。 マップの現在の縮尺に応じて、アクティブな表示フィルターが決まります。 一般的に、小さな縮尺でフィーチャ密度が非常に高いレイヤーでは、解釈が難しかったり、描画が遅くなったりするため、縮尺別に定義された表示フィルターを使用します (複数の縮尺でデータの表示を管理する方法の詳細については、「マルチスケール マップの作成」をご参照ください)。
  • 手動 - このモードでは、各表示フィルターは相互に独立しており、クエリのみによって定義されます。 関連付けられた縮尺範囲は存在しません。 現時点でアクティブにする表示フィルター (複数存在する場合) を手動で指定する必要があります。 これらの表示フィルターを切り替えて、データを視覚的に比較することができます。

縮尺ベースの表示フィルター

一般的に、縮尺ベースの表示フィルターは、小さな縮尺でフィーチャ密度が非常に高いレイヤーにおいて、解釈が難しかったり、描画が遅くなったりするものの、レイヤーで使用できるデータの量を制限したくない場合に使用されます。 たとえば、流量がシンボル表示された、米国の詳細な水文解析データセットを操作するとします。 小さな縮尺では、非常に多数のフィーチャが描画されるため、マップから有用な情報を視覚的に抽出することができません。

詳細な水文解析データセットを含むマップ
表示フィルターを設定しない場合、非常に多数のフィーチャが描画されるため、データ内の空間パターンを識別できません。

シンボルや下にあるフィーチャに影響を与えずに、さまざまな縮尺でフィーチャ密度を制御するには、(異なる流量を指定して複数の縮尺範囲で表示するクエリを含む) 表示フィルターを追加します。 現時点で描画されているフィーチャが少ない場合でも、すべてのフィーチャが検索や解析の対象になります。

以下のマップでは、表示フィルターの定義に従って、縮尺が非常に小さい場合には、流量が非常に多い河川のみが表示されます。

小さな縮尺の場合、流量が非常に多い河川のみが描画されている詳細な水文解析データセット
小さな縮尺では、主要な河川のみが描画されます。

大きな縮尺に拡大すると、表示フィルターのクエリによって、以下のマップのように流量の少ない河川が描画されます。

中縮尺の場合、流量が多いか中程度の河川のみが描画されている詳細な水文解析データセット
中縮尺では、流量の少ない河川が表示に追加されます。

以下のマップに示すように、非常に大きな縮尺では、表示フィルターによって流量に関係なく、すべてのフィーチャが描画されます。

大きな縮尺の場合、すべての河川が描画されている詳細な水文解析データセット
非常に大きな縮尺では、すべての河川が描画されます。

レイヤーへの縮尺ベースの表示フィルターの追加

レイヤーで表示フィルターを作成するには、次の手順を実行します。

  1. [コンテンツ] ウィンドウでレイヤーを選択します。
  2. [フィーチャ レイヤー] タブの [描画] グループで、[表示フィルター] 表示フィルター をクリックして、[シンボル] ウィンドウの [表示フィルター] タブ 表示フィルター を開きます。
  3. [表示フィルターの有効化] 切り替えボタンをクリックしてオンにし、[アクティブな表示フィルターを設定] プロパティを [縮尺別] に設定します。
  4. レイヤーに表示フィルターが設定されていない場合、all features という名前の表示フィルターが 1 つだけ存在します。 [新しい表示フィルター] をクリックし、必要な数だけ表示フィルターを追加します。 必要に応じて、表示フィルターの名前をダブルクリックして変更します。
  5. テーブルの一番上の行にあるスライダーを使用して、各表示フィルターの縮尺の境界を変更します。 中間ストップを新しい縮尺位置にドラッグするか、中間ストップをクリックしてポップアップを開き、別のマップ縮尺を選択して、各表示フィルターの縮尺の境界を調整します。

縮尺範囲の操作

縮尺ベースの表示フィルターは、レイヤー内で縮尺範囲別に整理されます。 縮尺範囲は相互に排他的かつ連続的です。 レイヤー全体の縮尺範囲がカバーされ、表示フィルターの縮尺範囲はオーバーラップさせることができないため、その範囲間にギャップを発生させることはできません。 つまり、表示フィルターが有効な場合、各縮尺には常に 1 つだけ表示フィルターが適用されるということです。 まず、レイヤーには、縮尺範囲の全範囲をカバーする表示フィルターが 1 つ存在しています。 必要に応じて、縮尺範囲をさまざまなクエリで分割するには、表示フィルターを追加する必要があります。

表示フィルターの縮尺範囲を指定する際に操作するのは、メイン スライダー上のストップのみです。 下のサブスライダーは、各シンボルの縮尺範囲を視覚的に理解する目的でのみ表示されています。 スライダー上の縮尺のストップは、マップに対して定義された縮尺のリストによって決定され、制限されます。 マップ縮尺リストをカスタマイズする方法とマップ縮尺エイリアスを設定する方法の詳細については、「マップ縮尺および縮尺プロパティ」をご参照ください。 少なくとも 1 つの表示フィルターが存在する必要があります。 他の表示フィルターを追加して、縮尺範囲を分割します。 各表示フィルターを展開して、クエリを指定します。 必要に応じて、各表示フィルターをわかりやすい名前に変更して、作業内容を整理します。

3 つの表示フィルターを含む建物レイヤー

縮尺範囲を設定する場合には、縮尺の境界でどのような状況が生じるかを把握しておく必要があります。 2 つのバージョンのフィーチャを縮尺の境界で同時に描画してはいけません。 [縮尺範囲の最大縮尺まで (最大縮尺を含む) 描画] マップ プロパティがオフになっていることを確認します。 [コンテンツ] ウィンドウでマップを右クリックし、[プロパティ] をクリックして [マップ プロパティ] ダイアログ ボックスを開きます。 [一般] タブをクリックして、このプロパティを確認します。 このチェックボックスは、新規のマップではデフォルトでオフになっていますが、ArcGIS Desktop からインポートされたマップ ドキュメントではオンになっています。 これは、マップからベクター タイルを作成する場合に特に重要です。

縮尺ベースの表示フィルターへの式の追加

縮尺ベースの表示フィルターに式を追加するには、次の手順に従います。

  1. [シンボル] ウィンドウの [表示フィルター] タブ 表示フィルター で、[表示フィルターの有効化] がオンになっており、[アクティブな表示フィルターを設定] プロパティが [縮尺別] に設定されていることを確認します。
  2. 表示フィルター名の横の [クエリの表示] ボタン [クエリの表示] をクリックし、表示フィルターを展開して式を追加するか、式がすでに存在する場合はそれを変更します。 式が存在しない場合には、[新しい式] メニューをクリックし、以下のいずれかをクリックします。

    新しい式の作成

    検索条件設定を使用して、SQL コードを記述せずに式を作成します。 クエリを作成する方法の詳細については、「検索条件設定でのクエリの作成」をご参照ください。

    SQL の新しい式の作成

    SQL コードを記述して式を定義します。

    ファイルから式を追加

    クエリ式ファイル (ファイル拡張子は *.exp) として保存されている既存の式をインポートします。

  3. [適用] をクリックして、式を確認して表示フィルターに適用します。

レイヤーからの表示フィルターの削除

表示フィルターを一度に 1 つずつ削除することも、レイヤーに関連付けられているすべての表示フィルターを一度に削除することもできます。 レイヤーには、デフォルトでレイヤーの全縮尺範囲をカバーする 1 つ以上の表示フィルターが常に必要です。

1 つの表示フィルターを削除するには、表示フィルター名を右クリックして [削除] 削除 をクリックします。

すべての表示フィルターを一度に削除するには、[すべてのフィルターの削除] ボタン 削除 をクリックします。

手動での表示フィルターの指定

手動で指定した表示フィルターは、縮尺ベースの表示クエリとは異なり、互いに依存していません。 フィルタリングするフィーチャを定義する式クエリは存在しますが、マップ縮尺の影響を受けません。 代わりに、1 つのレイヤーに複数の表示フィルターが存在する場合は、アクティブにするフィルターを手動で指定する必要があります。 一度にアクティブにできる表示フィルターは 1 つだけです。 手動で指定した表示フィルターを使用すると、さまざまな条件下でデータセットの視覚的な比較を行うことができます。

手動で指定したフィルターのレイヤーへの追加

レイヤーで手動の表示フィルターを作成するには、次の手順を実行します。

  1. [コンテンツ] ウィンドウでレイヤーを選択します。
  2. [フィーチャ レイヤー] タブの [描画] グループで、[表示フィルター] 表示フィルター をクリックして、[シンボル] ウィンドウの [表示フィルター] タブ 表示フィルター を開きます。
  3. [表示フィルターの有効化] 切り替えボタンをクリックしてオンにし、[アクティブな表示フィルターを設定] プロパティを [手動] に設定します。
  4. [新しい表示フィルター] Add display filter をクリックし、必要に応じて表示フィルターを追加します。

    各表示フィルターに対して新しいクエリがデフォルトの名前で作成され、1 つの未完成の項目が含まれます。

  5. 項目を構築するメニューから値を選択します。 これらのメニューと値は、基になるソース データ固有のものです。
  6. 必要に応じて、[項目の追加] 新しい項目の追加 をクリックして、別の項目を表示フィルターに追加します。 必要に応じて、新しい項目のメニューから値を選択します。 必要に応じて、上記の手順を繰り返して項目を追加します。
  7. 必要に応じて、表示フィルター名にポインターを合わせてクリックして、名前を変更します。
  8. 必要に応じて、[SQL 式の確認] SQL 式の確認ボタン (チェック マーク) をクリックして表示フィルターを確認します。
  9. 表示フィルターを確認して完成させるには、[適用] をクリックします。
  10. レイヤー上に表示フィルターが 1 つしか存在しない場合、その表示フィルターがアクティブ化され、すぐに適用されます。 レイヤー上に他の表示フィルターが存在する場合は、[アクティブとして設定] アクティブとして設定 をクリックして、レイヤーに適用する表示フィルターを手動で指定します。

レイヤーからの表示フィルターの削除

手動で指定した表示フィルターを削除するには、[キャンセル] をクリックして項目を削除し、表示フィルター名にポインターを合わせて [定義クエリの削除] ボタン 削除 をクリックします。

すべての表示フィルターを一度に削除するには、ウィンドウの上部にある [すべてのフィルターの削除] をクリックします。

表示フィルターが設定されたレイヤーの共有

表示フィルターが設定されたレイヤーを、マップ イメージ レイヤータイル レイヤー、またはベクター タイル レイヤーとして含むマップを共有すると、そこには表示フィルターが含まれます。

表示フィルターが設定されたレイヤーを含むマップを Web マップとして共有すると、表示フィルターが含まれますが、一部の Web マップ クライアントには表示フィルターが適用されません。