フォーム フィルタリング - フィールド値に基づいてレイヤー データをフィルター処理する
定義
このツールは、いくつかのフィールドに基づいて、左パネルにフォームを表示し、ユーザーがさまざまなフォーム入力でレイヤーデータを検索することができます:コンボボックス、チェックボックス、オートコンプリートを持つテキスト入力、最小と最大の日付の間のスライダー付き日付セレクターなど。
警告
database レイヤーでのみ動作します: PostgreSQL (推奨)、SpatialiteとGeoPackage。
SQL ステートメントを使用して、Lizmap はデータを照会して取得します。
現在のフィルタの機能の合計数
一部のフィールドの固有値 (固有値の型など)
数値フィールドまたは日付フィールドの最小値と最大値
現在のフィルタのデータの範囲
例
例を含むビデオを見ることができます。: https://vimeo.com/331395259
前提条件
レイヤーは WFS として公開する必要があり ( WFS/OAPI を参照)、主キーは 、同様に公開する必要があります。 :guilabel:` レイヤプロパティ ` で同様に公開する必要があります。
ツールの設定
Lizmap プラグインには新しいタブがあり、レイヤーフィールドに基づいてフィルター入力を設定できます。1 つ以上のレイヤーに 1 つ以上のフィールドを追加できます。2つ以上の複数の異なるレイヤーからフィールドを追加した場合、Lizmap Web クライアントは、ユーザーがフィルターするレイヤーを選択できるようにコンボボックスを表示します。レイヤーを選択すると、フォームが更新され、現在のフィルターが無効になります。
フィルタフォームに追加する必要がある各フィールドに対して、プラグインテーブルに行を追加する必要があります。各フィールドに対して、いくつかのオプションを設定する必要があります。
ボタン をクリックします。
**Layer** : ソースレイヤー。
**Title** : タイトルは、フォーム入力の上に表示されます。例えば、「カテゴリ」という名前のレイヤーフィールドの「カテゴリを選択」。
**Type** : フォーム入力の種類はテキスト、固有の値、日付、数値 です。
**Field** : (データベーステーブル内の) フィールド名はテキスト、固有の値、および数値タイプのみです。
**Min date** : オブジェクトの開始日を含むフィールド (イベントの "start_date" など)。これは Date タイプでのみ必要です。データに日付フィールドが 1 つしかない場合は、最小日付フィールドで選択する必要があります。
**最大日付** : データの終了日を含むフィールド。日付を含む 2 つのフィールドがあり、1 つは開始日、もう 1 つは終了日を区別できます。ない場合は、 最小日付 と 最大日付 に同じフィールド名を使用する必要があります。
**形式** : 固有値 の形式のみ。コンボボックスを表示する select 、または各個別の値に対して1つのチェックボックスを表示する チェックボックス を指定できます。個別の値は、lizmap Web クライアントによって動的に照会されます。
**スプリッター** : 固有値 タイプのみ。区切り記号でフィールド値を分割する場合に使用します。例えば、``文化,環境``は、スプリッター `, ` で``文化``と``環境``に分割することができます。
テーブル内のレイヤーを編集するには、レイヤーを選択して、 ボタンをクリックするか、行をダブルクリックします。
テーブルからレイヤーを削除するには、レイヤーを選択して、 ボタン。
レイヤーを上下に移動するには、レイヤーを選択して または ボタン。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%' )