Attribute table

Princípio

Lizmap is designed to show spatial data in the main map, and you can propose users to see an object data through the «popup» feature (a small popup containing the objects data is shown whenever the user clicks on the map ). See Popup

Sometimes this is not enough, and as a map editor, you would like the user to see all the data of a specific layer, as you can do in QGIS by opening the attribute table.

Pré-requisitos

The layer must be published as WFS (see OGC Services Capabilities) and the primary key must be published as well in the Layer properties.

Configuring the tool

At the layer level

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

No separador Ferramentas do diálogo do plugin do Lizmap, há um grupo chamado «Tabela de atributos» que mostra uma tabela e alguns campos de formulário dedicados para adicionar ou remover camadas vetoriais.

Para adicionar uma camada a esta ferramenta:

  1. Click the add_layer_svg button.

  2. Camada: Escolha uma das camadas vetoriais (espaciais ou não). Pode ser qualquer formato de camada vetorial: GeoJSON, Shapefile, PostGIS, CSV, etc.

  3. ID único: A ferramenta de tabela de atributos tem de conseguir definir cada elemento como único. Recomendamos vivamente que adicione esse campo se a sua camada ainda não tiver nenhum. Geralmente, o campo ID único contém inteiros. Se a camada não tiver esse tipo de campo, pode criá-lo facilmente com a Calculadora de campo. Escolha o tipo de campo correto a partir da caixa de combinação.

  4. Campos a ocultar Existem 2 formas de ocultar campos na tabela de atributos publicada.

    • Na caixa de diálogo propriedades da camada vetorial da camada vetorial QGIS, no separador Campos, pode desmarcar a caixa de verificação na coluna WFS para os campos que não deverão ser publicados. Isto significa que estes campos não serão publicados através do protocolo WFS. Esta é a maneira mais simples e mais segura de restringir a publicação de alguns campos (por exemplo, para ocultar campos sensíveis)

    • Pode utilizar a opção Campos a ocultar para ocultar os campos de dados na apresentação da tabela de atributos. Os campos ocultos não serão visíveis para o utilizador final, mas ainda estarão disponíveis para o Lizmap Web Client. Deve utilizar esta opção para ocultar o campo ID único. Se utilizar a primeira forma (desmarcando a coluna WFS), o ID exclusivo não será utilizável pelo Lizmap e alguns dos recursos da tabela de atributos não funcionarão corretamente.

  5. Let the Pivot table unchecked. This is for relation.

  6. Let the Hide in child subpanels unchecked. This is for relation.

  7. Let the Hide layer in the list unchecked. This is for relation.

  • To edit a layer in the table, select it and click the edit_layer_svg button or double click on the row.

  • To remove a layer from the table, select it and click the remove_layer_svg button.

  • To move a layer up or down, select it and click down_layer_svg or up_layer_svg buttons. The order will change in Lizmap too.

  • Fields will be displayed with their alias if it’s defined. See Add a alias on a field.

At the project level

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

Order of fields

Lizmap is reusing the order of the fields defined in the attribute table.

  1. Open your attribute table.

  2. Right click on a column header.

  3. Click organize Columns…

  4. Drag and drop columns.

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

Download data

By adding the layer in the attribute table tool, this will also enable the download capability on that layer. By default, only GeoJSON and GML are available. By installing the WfsOutputExtension plugin on QGIS Server, you can add more formats such as Geopackage, ODS, CSV, XLSX …. Read https://github.com/3liz/qgis-wfsOutputExtension

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

Using with relations

No QGIS, pode configurar relações entre camadas, na caixa de diálogo Propriedades do projeto. Se publicar no Lizmap mais de uma camada na ferramenta de atributos das camadas e se algumas camadas fizerem parte de uma relação, o utilizador final poderá ver tabelas subordinadas na tabela de atributos de camadas mãe. Um clique numa das linhas da tabela mãe irá despoletar o filtro de conteúdo na tabela filha.

Por exemplo, poderia ter uma camada respeitante a cidades, e uma camada filha de edifícios públicos. Clicando numa cidade na tabela de atributos fará com que a tabela filha de edifícios públicos atualize seu conteúdo apenas com os edifícios públicos correspondentes à cidade selecionada.

Pode usar as relações «muito-para-muito» (N:M) no QGIS desde a versão 2.14 mas o Lizmap ainda não as usa automaticamente. Tem também de definir as relações no plugin Lizmap. Em muitos casos, as relações N:M são muito úteis. Por exemplo, pode ter as seguintes três camadas vetoriais no seu projeto:

  • Linhas de elétrico: este nome de camadas «Linhas» contém um elemento por linha de elétrico, e tem um campo ID único tram_id

  • Paragens do elétrico: esta camada chamada «Paragens» contém um elemento por paragens de elétrico, com um campo ID único chamado stop_id

  • Tabela de correspondência entre Linhas e Paragens: esta camada chamada «Pivot» é uma tabela dinâmica entre linhas de elétrico e paragens, uma vez que uma paragem pode ser utilizada por mais de uma linha e uma linha serve muitas paragens. Os campos são os seguintes : tram_id, stop_id e order que define a ordem de paragem na linha.

Pode adicionar 2 relações nas propriedades do projeto QGIS: uma entre Linhas e Pivot utilizando o campo tram_id e outra entre Paragens e Pivot utilizando o campo stop_id.

No Lizmap, adicionámos uma forma simples de configurar a relação de N:M. Pode simplesmente

  • Crie as duas relações tal como descritas acima na caixa de diálogo de propriedades do projeto QGIS, separador Relações

  • Adicione as camadas Linhas e Paragens na ferramenta de atributos das camadas

  • Adicione a camada Pivot na ferramenta de atributos das camadas com a opção Tabela dinâmica marcada

O Lizmap Web Client irá então tratar a relação como uma relação de N:M:

  • A tabela dinâmica será apresentada para cada tabela de atributos mãe e mostrará apenas as filhas correspondentes.

  • O recurso de filtro baseado nas camadas de atributos ativará o filtro em cascata relativo à tabela dinâmica e à outra tabela mãe. Por exemplo, se o utilizador usar o filtro para mostrar apenas uma linha de elétrico, o Lizmap também mostrará apenas as paragens correspondentes no mapa e na tabela de atributos Paragens