‎フォーム フィルタリング - フィールド値に基づいてレイヤー データをフィルター処理する‎

定義

‎このツールは、いくつかのフィールドに基づいて、左パネルにフォームを表示し、ユーザーがさまざまなフォーム入力でレイヤーデータを検索することができます:コンボボックス、チェックボックス、オートコンプリートを持つテキスト入力、最小と最大の日付の間のスライダー付き日付セレクターなど。‎

警告

database レイヤーでのみ動作します: PostgreSQL (推奨)、SpatialiteとGeoPackage。‎

‎SQL ステートメントを使用して、Lizmap はデータを照会して取得します。‎

  • ‎現在のフィルタの機能の合計数‎

  • ‎一部のフィールドの固有値 (固有値の型など)‎

  • ‎数値フィールドまたは日付フィールドの最小値と最大値‎

  • ‎現在のフィルタのデータの範囲‎

‎例‎

‎例を含むビデオを見ることができます。‎: https://vimeo.com/331395259

‎前提条件‎

‎レイヤーは WFS として公開する必要があり ( WFS/OAPI を参照)、主キーは 、同様に公開する必要があります。 :guilabel:` レイヤプロパティ ` で同様に公開する必要があります。‎

‎ツールの設定

../../_images/interface-add-form-filter.jpg

‎Lizmap プラグインには新しいタブがあり、レイヤーフィールドに基づいてフィルター入力を設定できます。‎‎1 つ以上のレイヤーに 1 つ以上のフィールドを追加できます。‎‎2つ以上の複数の異なるレイヤーからフィールドを追加した場合、Lizmap Web クライアントは、ユーザーがフィルターするレイヤーを選択できるようにコンボボックスを表示します。‎‎レイヤーを選択すると、フォームが更新され、現在のフィルターが無効になります。‎

  • ‎フィルタフォームに追加する必要がある各フィールドに対して、プラグインテーブルに行を追加する必要があります。各フィールドに対して、いくつかのオプションを設定する必要があります。‎

    1. ボタン add_layer_svg をクリックします。

    2. ‎**Layer** : ソースレイヤー。‎

    3. ‎**Title** : タイトルは、フォーム入力の上に表示されます。例えば、「カテゴリ」という名前のレイヤーフィールドの「カテゴリを選択」。‎

    4. ‎**Type** : フォーム入力の種類はテキスト、固有の値、日付、数値 です。‎

    5. ‎**Field** : (データベーステーブル内の) フィールド名はテキスト、固有の値、および数値タイプのみです。‎

    6. ‎**Min date** : オブジェクトの開始日を含むフィールド (イベントの "start_date" など)。これは Date タイプでのみ必要です。データに日付フィールドが 1 つしかない場合は、最小日付フィールドで選択する必要があります。‎

      • ‎**最大日付** : データの終了日を含むフィールド。日付を含む 2 つのフィールドがあり、1 つは開始日、もう 1 つは終了日を区別できます。ない場合は、 最小日付最大日付 に同じフィールド名を使用する必要があります。‎

      • ‎**形式** : 固有値 の形式のみ。コンボボックスを表示する select 、または各個別の値に対して1つのチェックボックスを表示する チェックボックス を指定できます。個別の値は、lizmap Web クライアントによって動的に照会されます。‎

    7. ‎**スプリッター** : 固有値 タイプのみ。区切り記号でフィールド値を分割する場合に使用します。例えば、``文化,環境``は、スプリッター `, ` で``文化``と``環境``に分割することができます。‎

  • ‎テーブル内のレイヤーを編集するには、レイヤーを選択して、 edit_layer_svg ボタンをクリックするか、行をダブルクリックします。‎

  • ‎テーブルからレイヤーを削除するには、レイヤーを選択して、 remove_layer_svg ボタン。‎

  • ‎レイヤーを上下に移動するには、レイヤーを選択して down_layer_svg または up_layer_svg ボタン。lizmapでも順序が変わります。‎

‎異なるフォーム入力タイプの説明

‎テキスト‎

‎これは最も単純な型です。このタイプの入力では、ユーザーには古典的なテキスト入力が表示されます。任意のテキストを入力して検証できます。自動補完はデフォルトで有効になされており、これは、Lizmap がこのフィールドの固有の値を取得することを意味します。これは、一部のデータセットが大きすぎて、このオートコンプリート地物が重すぎる場合に、将来的にオプションになる可能性があります。‎

‎作成されるフィルタは次のようになります。‎

"field" LIKE '%foo%'

日付

‎この入力タイプは、選択した 2 つの値の間を検索できるように、2 つのハンドルを持つスライダーを表示します。2 つのテキスト入力も表示され、手動で最小日付と最大日付を設定するために使用できます。‎

‎日付は日付に "切り捨て" されます (時間、分、秒などの時間データは表示されません)。‎

‎スライダーステップはハードコードされており、1日86400 秒です。‎

‎作成されるフィルタは次のようになります。‎

( ( "field_date" >= '2017-04-23' OR  "field_date" >= '2017-04-23' ) AND ( "field_date" <= '2018-06-24' OR  "field_date" <= '2018-06-24' ) )

‎数値‎

‎この入力タイプは、選択した 2 つの値の間を検索できるように、2 つのハンドルを持つスライダーを表示します。2 つのテキスト入力も表示され、手動で最小値と最大値を設定するために使用できます。‎

‎作成されるフィルタは次のようになります。‎

( ( "field" >= 100 ) AND ( "field_date" <= 200 ) )

‎固有値‎

‎Lizmap はデータを照会して、フィールドの個別の値を取得します。 select または チェックボックス の2つの異なる入力タイプを選択できます。‎

‎分割テキストを指定した場合,例えば**`, **、lizmapは区切られたテキスト値の固有の値を検索します。たとえば、1 つの地物 ``文化,環境` の値は、スプリッター `, ` で``文化``と``環境``に分割されます。フォーム入力で 文化 または 環境 を選択すると、この地物が表示されます。‎

‎2 つの異なる入力タイプを表示することができます。‎

  • ‎**コンボボックス** : このタイプは、フィールドの個別の値のリストをコンボボックスに表示します。ユーザーは、値の中から 1 つの項目のみを選択できます。‎

  • ‎**チェックボックス** :このタイプは、フィールドの個別の値と同じ数のコンボボックスを表示します。データは、チェックされた項目間で UNION でフィルタリングされます。‎

‎作成されるフィルタは次のようになります。‎

( "field_thematique" LIKE '%Cuisine%'  OR "field_thematique" LIKE '%Ecocitoyen%'  )