フィルター ウィジェット

フィルター ウィジェットを使用すると、1 つ以上のレイヤー内のフィーチャの表示を制限して、式の条件に合致したレイヤーだけが表示されるようにすることができます。 フィルター ウィジェットで行われた変更は、アプリ全体のデータに影響するため、同じレイヤーを使用する他のウィジェットもそれに応じてフィルター処理されます。

このウィジェットを使用して、次のようなアプリの設計要件をサポートします。

  • 大規模なデータ セットがあり、利用者の重要事項によってデータを処理する最適なオプションをさまざまな利用者に提供します。
  • アプリで同じレイヤーを使用しているすべてのウィジェットに含まれるフィーチャの表示を、ユーザーが変更できるようにします。

使用上の注意

フィルター ウィジェットでは、追加するフィルターごとにデータ ソースを設定する必要があります。フィルター ウィジェットのアクションを設定して、マップ ウィジェットでマップ上で選択したフィーチャをズームするなど、他のウィジェットを操作できます。 エンド ユーザーが各フィルターのオンとオフを切り替えて、フィーチャの表示を制御できます。 このウィジェットに複数のフィルターを構成すると、データを表示するためには有効なすべてのフィルターを満たす必要があるかどうか、またはいずれかを満たしていればよいかどうかを指定できます。

設定

フィルター ウィジェットには以下の設定が含まれます。

  • [新しいフィルター] - データ ソースを選択し式を追加してフィルターを作成します。 表示される [新しいフィルターの作成] パネルには以下のプロパティが含まれます。
    • [データ] - フィルター処理するデータを選択します。 選択できるデータ ソースは、フィルターにつき 1 つだけです。 フィーチャ レイヤー、選択した Web マップに含まれるフィーチャ レイヤー、データ ビュー、およびフィーチャ サービスの URL がサポートされています。 ドロップダウン リストに表示されている関連データ ビューがあれば、そのデータ ビューを選択することができます。
    • [ラベル] - 各フィルターの名前をカスタマイズします。
    • [アイコン] - フィルターごとにアイコンを選択します。 [一般] ギャラリーと [矢印] ギャラリーからアイコンを選択するか、ファイルから独自のアイコンを追加できます。 [削除] ボタンをクリックして、未使用のアップロード済みアイコンを削除します。
      注意:

      次の画像形式をアップロードできます: PNG、GIF、JPG、JPEG、BMP。 最適なパフォーマンを維持するために、1 回のアップロードに対して 10MB のサイズ制限が設けられています。

    • [SQL 式] - フィルター条件を指定する SQL 式を作成します。 SQL 式ビルダーには、複雑な対話型クエリを作成するためのオプションがいくつか用意されています。
    • [オプション] - フィルターごとに次のオプションをオンにできます。
      • [このフィルターを自動的に適用] - ユーザーがアプリを開いたとき、このフィルターはデータにすでに適用されています。 ユーザーはウィジェットでフィルターをオフにできます。
        注意:

        フィルター ウィジェットがウィジェット コントローラーにネストされている場合、ウィジェット パネルが開かれるまで (手動で開くか、ウィジェット コントローラーの設定で開くように構成されているか、のいずれか) フィルターは自動的にデータに適用されません。

      • [フィルターの詳細を自動的に折りたたむ (存在する場合)] - 値を確認するようにフィルターが構成されている場合、ユーザーはフィルターをクリックして展開し、詳細を確認する必要があります。 (フィルターの数が多い場合、見やすくするためにはこのオプションをオンにします。)
  • 複数のフィルターを追加する場合、すべてのフィルター条件を満たす必要があるように指定するには [AND] をクリックし、いずれかのフィルター条件を満たせばよいように指定するには [OR] をクリックします。 フィルターをドラッグして移動し、順序を変更することもできます。
  • [配置スタイル] - [縦][横]、または [アイコン] から選択して、1 つのウィジェット内でフィルターのスタイルをカスタマイズできます。
  • [有効化スタイル] - 各フィルターをオンまたはオフにするスタイルとして、[切り替えスイッチ] または [ボタン] のいずれかを選択します。 (デフォルトのスタイルは [切り替えスイッチ] です。)
    • [単一項目の場合は有効化スタイルを除外] - 各フィルターに項目が 1 つしかなく、値の入力を求めている (またはラベルを表示する) 場合、このオプションでは有効化スタイルを (ラベルやアイコンとともに) 除外し、項目のコンテンツを直接表示して、自動適用することができます。
  • [高度なツール] - 高度なツールを構成します。
    • [すべてのフィルターをリセット] - すべてのフィルターを元々構成されていた状態にリセットできるボタンを含めます。
      ヒント:

      リスト ウィジェットのフィルター ツールは、デフォルトでリセット ボタンを提供します。

SQL 式ビルダー

フィルターでは、レイヤー データの属性値に基づいてレイヤー内のフィーチャを検索して表示する論理式が使用されます。 式では、<フィールド名> <条件を指定する演算子> <値またはフィールド> という一般形式が使用されます。 たとえば、Shelter capacity (避難所の収容人数) が 200 より大きいなどです。

[SQL 式ビルダー] で式を作成するには、[項目の追加] または [項目セットの追加] をクリックします。

各項目の式には以下の入力ボックスがあります。

  • フィールド - データ ソースからフィルター処理するフィールドを選択します。 フィールド タイプは数値、文字列、日付の 3 つです。 代表するアイコンがフィールド名の横に表示されます。
  • 演算子 - 選択したフィールドのデータ値を評価する機能演算子を選択します。 演算子は、フィールド タイプによって異なります。
  • 値 - 項目を作成する値を入力または選択します。 [ソース タイプの選択] ボタン ソース タイプの選択 をクリックして、値 (ユーザー入力、フィールド、個別値、個別値 (定義済み)、複数、複数 (定義済み) など) を選択します。
注意:

フィルターを出力データ ソースに接続すると、設定で値を選択できなくなります (コード値は除く)。 値のリストは、出力データがソース ウィジェットによって生成された後に、実行時に動的に生成されます。 こうした理由から、[値の確認] がデフォルトでオンになっており、事前定義された値の入力しかできなくなっています。

各項目に対して、次の追加オプションを設定できます。

  • [大文字と小文字を区別する] - フィルター条件を満たすために、データは項目値での小文字と大文字の使用に一致する必要があります。 このオプションは、ホストされていないレイヤーの文字列フィールドに対してのみ適用されます (ホスト レイヤーのボタンは使用できません)。
  • [ユーザー入力なし] - デフォルトでは、項目はユーザーからの入力を求めません。 [ラベルの表示] オプションをオンにすると、デフォルトまたはカスタマイズされたラベルのみをユーザーに表示することができます。
  • [値の確認] - ユーザーが入力スタイルをカスタマイズし、カスタム入力を提供して、実行時にフィルターを変更できるようにします。 次の操作が可能です。
    • 入力スタイルの選択 (選択したソース タイプの値に基づいて複数のスタイルが使用できる場合)。
    • ラベル コンテンツのカスタマイズ。
    • ラベルの位置のカスタマイズ ([別の行で折り返す] または [入力と同じ行で折り返す])。
    • ユーザーへのヒントや指示の提供。
    • フィルター オプションでユーザーに表示する値のリストの条件の選択 (後者は一意および複数のソース タイプにのみ適用されます)。 すべての値を表示する、前の条件に基づいて値をフィルター処理する、またはすべての式に基づいて値をフィルター処理することができます。
      注意:

      事前定義された値を使用すると、静的なリストまたはタイプから直接選択する値に基づいてフィルタリングできます。 デフォルトでは、[値の確認] がオンで、リストが以前の式に基づいて値を表示するように設定されています。 値をドラッグして移動し、順序を変更することもできます。

  • [複製] - ユーザーが 1 つの項目または項目セット全体を直接複製し、SQL 式ビルダー内のキューの末尾に追加できるようにします。 項目セット内で実行すると、ユーザーは 1 つの項目を複製して、その項目セットの末尾に追加できます。

複数の項目または項目セットをフィルターに追加する場合、すべてのフィルター条件を満たす必要があるように指定するには [AND] をクリックし、いずれかのフィルター条件を満たせばよいように指定するには [OR] をクリックします。 また、項目セットに含まれる項目に対してこの設定を構成することもできます。