‎属性テーブル‎

定義

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

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

‎前提条件‎

‎レイヤーは WFS として公開する必要があり ( ‎OGC サービスの機能‎ を参照)、主キーは 、同様に公開する必要があります。 :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 つの方法があります。‎

    • ‎QGIS ベクターレイヤーの ベクターレイヤープロパティダイアログフィールド タブで、公開を取り消すフィールドの列 WFS のチェックボックスをオフにすることができます。つまり、このフィールドは WFS プロトコルを介して公開されません。これは、文書をいくつかのフィールドに制限する 最も簡単で最も簡単な方法 です(たとえば、機密フィールドを取り除くために)。‎

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

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

  6. ‎:guilabel:` 下位サブパネルで非表示にする ` チェックを外します。これはリレーションのためのものです。‎

  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

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

‎属性テーブル ツールにレイヤーを追加することで、そのレイヤーのダウンロード機能も有効になります。デフォルトでは、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 属性テーブルに表示します。‎