Filtered layer by user — Set some features visible/editable or not for some users

定義

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

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

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

  • ‎属性に基づく‎

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

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

定義

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

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

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

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

‎前提条件‎

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

‎ツールの設定

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

  2. Choose the field in this layer which has Lizmap groups or users, separated by a comma.

  3. Choose between Users or Groups according to the content of your previous field.

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

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

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

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

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

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

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

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

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

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

‎例‎

A video tutorial is available on Vimeo.

‎ツールの設定

‎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. Choose between Users or Groups according to the content of your previous field.

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

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

警告

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

編集

If you have enabled the edition (see Editing — Edit a layer from the web interface) on the filtered layer, the field containing the ID will be editable with:

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

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