Attribute table — Configure the attribute table and the vector selection

定義

‎Lizmap はメインマップに空間データを表示するように設計されており、地物の"地物情報" を通じてオブジェクト データを表示するようユーザーに提案できます (「ユーザーがマップ上をクリックするたびにオブジェクトデータを含む小さな地物情報が表示されます」)。 地物情報

‎場合によっては、これは十分ではなく、マップエディタとして、属性テーブルを開くことによってQGISで行うことができるように、特定のレイヤーのすべてのデータをユーザーに表示したいと考えています。‎

注釈

When activating the attribute table on a layer, it also activates :

  • graphical selection tools

  • export of features as a file

‎前提条件‎

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

‎ツールの設定

‎レイヤー レベルで‎

../../_images/interface-add-attribute-table-layer.jpg

‎Lizmap プラグインダイアログの Tools タブには、ベクターレイヤーを追加または削除するためのテーブルといくつかのフォームフィールドを表示する「属性レイヤー」というグループがあります。‎

‎このツールにレイヤーを追加するには:‎

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

  2. ‎**レイヤー** : ベクターレイヤーの1つを選択します(空間的かどうか)。これは、任意のベクターレイヤー形式にすることができます:GeoJSON, Shapefile, PostGIS, CSV,等.‎

  3. ‎**固有のID** : 属性テーブル ツールは、各地物を固有なものとして定義できる必要があります。レイヤーにまだフィールドがない場合は、このようなフィールドを追加することを強くお勧めします。通常、固有のID フィールドには 整数 が含まれます。レイヤーにこの種類のフィールドがない場合は、*フィールド演算*で簡単に作成できます。コンボ ボックスで適切なフィールドを選択します。‎

  4. ‎**非表示にするフィールド** : 公開された属性テーブルのフィールドを非表示にする 2 つの方法があります。‎

    • In the vector layer properties dialog of the QGIS vector layer, in the Fields tab, you can uncheck the checkbox of the column WFS for the fields to unpublish. This means this fields will not be published via the WFS protocol. This is the simplest and safest way to restrict the publication to some fields (for example to get rid of sensitive fields)

    • ‎この フィールドを使用して非表示 オプションを使用して、属性テーブルの表示で指定されたフィールドを 非表示 にできます。非表示フィールドはエンド ユーザーには表示されませんが、lizmap Web クライアントで引き続き使用できます。 このオプションを使用して、固有のID フィールドを非表示にする必要があります 最初の方法 (WFS 列のチェックを外す) を使用すると、固有のID は Lizmap で使用できなくなり、属性テーブルフィーチャの一部が正しく機能しません。‎

  5. ‎:guilabel:` ピボットテーブル ` をオフにします。これはリレーションのためのものです。‎

  6. Let the Hide in child sub-panels unchecked. This is for relation.

  7. ‎:guilabel:` リスト内のレイヤーを非表示にする ` チェックを外します。これはリレーションのためのものです。‎

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

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

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

  • ‎フィールドが定義されている場合は、エイリアスとともにフィールドが表示されます。参照してください ‎フィールドに別名を追加する‎

‎プロジェクト レベルで‎

../../_images/interface-attribute-table.jpg

‎フィールドの順序‎

‎Lizmap は、属性テーブルで定義されているフィールドの順序を再利用しています。‎

  1. ‎属性テーブルを開きます。‎

  2. ‎列ヘッダーを右クリックします。‎

  3. :guilabel:` 列を整理... `をクリックします。‎

  4. ‎列をドラッグ アンド ドロップします。‎

../../_images/interface-organize-attributes.jpg

When defining a custom order, it should automatically alter the checkbox called Custom configuration.

‎データのダウンロード‎

‎属性テーブル ツールにレイヤーを追加することで、そのレイヤーのダウンロード機能も有効になります。デフォルトでは、GeoJSON と GML のみが使用できます。QGISサーバーに「WfsOutputExtension」プラグインをインストールすることで、ジオパッケージ、ODS、CSV、XLSXなどのフォーマットを追加できます。https://github.com/3liz/qgis-wfsOutputExtension を読む‎

../../_images/user-guide-wfs-output-extension.jpg

‎リレーションとの使用‎

‎QGISでは、プロジェクトプロパティ ダイアログで、レイヤー間の リレーション を設定することができます。Lizmap で複数のレイヤーを属性レイヤー ツールで公開し、一部のレイヤーがリレーションの一部である場合、エンド ユーザーは上位レイヤー テーブルの下に下位テーブルを表示でき、上位テーブルの 1 行をクリックすると下位テーブルコンテンツのフィルターが起動されます。‎

‎たとえば、都市のレイヤーと公共の建物の下位レイヤーを持つことができます。属性テーブル内の 1 つの都市をクリックすると、クリックした都市の公共の建物だけで、パブリック ビルの下位テーブルの内容が更新されます。‎

‎バージョン2.14以降、QGISでは「多対多」(N:M)関係を使用できますが、Lizmapはまだ自動的には使用されません。Lizmap プラグインでもリレーションを定義する必要があります。多くの場合、N:M の関係は非常に便利です。たとえば、プロジェクトに次の 3 つのベクター レイヤーを使用できます。‎

  • ‎**Tramway lines** :このレイヤー名「Lines」は、トラムラインごとに1つの地物と固有のIDフィールド *tram_id*‎ を持ちます

  • ‎**Tramway stops** :このレイヤーは、 stop_id と呼ばれる固有のIDフィールドを持つトラム停留所ごとに1つの地物が含まれています‎

  • ‎**Correspondance table between lines and stops** :このレイヤーは、停留所が複数のラインに使用でき、ラインが多くの停留所に対応するため、トラムラインとストップ間のピボットテーブルです。このフィールドには、 tram_idstop_id 、および*order*のフィールドがあり、行のストップの順序を定義します。‎

‎QGISプロジェクトプロパティに2つのリレーションを追加できます:tram_idフィールドを使用してラインとピボットの間の1つと、stop_idフィールドを使用してストップとピボットの間の1つ。‎

‎Lizmap では、N:M 関係を設定する簡単な方法を追加しました。あなたは、単にすることができます‎

  • ‎QGISプロジェクトプロパティダイアログ、タブ リレーション で上記の2つの関係を作成します。‎

  • ‎属性レイヤー ツールでライン レイヤーとストップ レイヤーを追加する‎

  • ‎オプション Pivot table をオンにして、属性レイヤー ツールにピボット レイヤーを追加します。‎

‎その後、Lizmap Web クライアントは、リレーションを N:M リレーションとして処理します。‎

  • ‎ピボットテーブルは各親属性テーブルの下に表示され、対応する下位のみが表示されます。‎

  • ‎属性レイヤーに基づくフィルター 地物は、ピボットともう一方の上位のカスケード フィルターを起動します。たとえば、ユーザーがフィルタを使用して路面電車のラインを 1 本だけ表示する場合、Lizmap は対応するストップをマップと Stops 属性テーブルに表示します。‎

助言

If one of the field contains a media path, such as media/a_folder/my_image.jpg, Lizmap will display a link allowing the user to open the media file (image, video, PDF, etc.) in a new browser tab.

If the media points to an image (a JPG or PNG file), you could add new column showing a small image preview of the source image by adding a new virtual field in your vector layer, with this expression. In the example below, the field containing the media path is media_path and the virtual field is named vignette:

concat(
   '<img data-src="',
   "media_path" ,
   '" src="/themes/default/css/img/logo_footer.png" style="height:60px;"
   onload="this.src = `${lizUrls.media}?repository=${lizUrls.params.repository}&project=${lizUrls.params.project}&path=${this.getAttribute(\'data-src\')}`;">'
)

The result will look like:

../../_images/interface-attribute-table-show-image-preview.jpg