‎ユーザーによるフィルターされたレイヤー‎

定義

‎表示されるフィルター機能を使用すると、ログインしているユーザーに基づいてマップに表示されるデータをフィルター処理できます。Lizmap は属性テーブルの列を使用するため、ベクター レイヤーのみをフィルター処理できます。‎

‎現在、フィルタ処理は、接続されているユーザー グループの ID が使用されています。QGISサーバーへのすべての要求に有効です:‎

  • ‎地図上に表示されるベクターレイヤー画像‎

  • 地物情報。 地物情報 を参照

  • ‎*レイヤー別に検索* 地物リストを表示します。 レイヤで検索 を参照。

  • ‎*値リレーション* からの 編集フォーム のドロップダウン リスト。 編集 を参照。

  • ‎属性テーブルの表示など‎

‎フィルタリングには次の 2 種類があります。‎

  • ‎属性に基づく‎

  • ‎空間的な関係に基づく‎

‎空間リレーションシップによるフィルタリング‎

定義

‎このパネルでは、次のことができます‎:

  • ‎空間フィルタリングに使用するポリゴン レイヤーを設定する‎

  • ‎フィルタリングレイヤーでフィルタリングする必要があるレイヤーを設定する‎

../../_images/filter-polygon.gif

‎前提条件‎

‎これは|lizmap_3_5|の機能です。‎

QGIS ServerのLizmapプラグインは、少なくとも Lizmap QGIS plugin 3.6 がインストールされている 必要 があります。そうでない場合は、フィルタが機能せず、すべてのデータが表示されます。 Lizmap QGIS Server plugin を参照してください。

‎ツールの設定

../../_images/interface-filter-by-polygon.jpg
  1. ‎フィルタリングに使用するポリゴン レイヤーを選択する‎

  2. ‎このレイヤー内で、Lizmap グループを持つフィールドをカンマで区切って選択します。‎

  3. ‎このツールにフィルターするレイヤーを追加します。‎:

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

    2. ‎フィルター処理するレイヤーを選択する‎

    3. ‎レイヤーの主キーを選択します。‎

    4. ‎表示と編集の両方の場合、または編集のみでフィルタリングするかを選択します。‎

    5. ‎**交差** または 包含 空間リレーションシップのいずれかを選択します。‎

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

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

‎ご参考までに、PostgreSQL レイヤーを使用する場合のパフォーマンスが向上します:フィルタリングまたはフィルター処理されたレイヤー、またはその両方。‎

‎属性によるフィルタリング‎

‎例‎

‎ビデオチュートリアルは次の: https://vimeo.com/83966790

‎ツールの設定

‎Lizmap Web クライアントでデータ フィルタリング ツールを使用するには、次の操作を行う必要があります。‎

  • Lizmap Web クライアントの 管理インターフェイスへのアクセス権 を持つ‎

‎この地物を設定する詳細な手順を次に示します。‎

警告

Lizmap Web Clientの管理画面のリポジトリのプロパティで、 匿名 やその他の関連するグループが :guilabel:` ログインでフィルタリングされている場合でも、常に完全なレイヤーデータを表示する ` にチェックされていないことを確認してください。 グループごとに権限を定義する を参照。

  • ‎管理インターフェースでグループ ID またはユーザー ID を確認します。‎

    • ‎グループ ID を知るには、管理インターフェイスに移動する必要があります :menuselection:` システム --> ユーザーグループ ` : ID は、各グループの名前の後に括弧で囲まれて表示されます (タイトル :guilabel:` 新規ユーザーのグループ ` )‎

    • ‎または、ユーザー ID を知るために、そのログインを使用します。‎

  • ‎必要なフィルタデータであるすべてのベクターレイヤーに対して、この機能を表示する権限を持つ各行のIDを保持するテキスト列を追加するだけです。‎

    • ‎*この列* を属性テーブルの各行に ID (電卓などを使用) で入力します。‎

    • ‎``all`` を一部の行の値として設定して、フィルタを無効にできます: すべてのユーザーにこれらの行のデータが表示されます。‎

    • ‎行のこの列の値がユーザー グループに対応していない場合、データはユーザーのデータとして表示されません。‎

../../_images/interface-add-filter-by-login.jpg
  • ‎テーブルにレイヤーを追加 :guilabel:` ユーザー別にデータをフィルター ` パネル。‎

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

    2. ‎ドロップダウンリストからレイヤーを選択する‎

    3. ‎ID を持つフィールドを選択します。‎

    4. ‎フィールドにグループ ID ではなくユーザー ID が含まれている場合は、チェックボックスをオンにします。‎

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

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

警告

‎すべてのフィルター対象のレイヤーに対して、クライアント キャッシュとキャッシュ サーバーを無効にします。そうしないと、各接続間またはユーザーログアウトの間に表示されるデータは更新されません。‎

編集

‎フィルター処理されたレイヤーで編集 ( 編集 を参照) を有効にした場合、ID を含むフィールドは次のように編集できます。‎

  • ‎自分のログインまたは all のいずれかの管理者以外のユーザーのコンボボックス‎

  • ‎または、管理者ユーザーの値を書き込む行編集‎