Attribute table — Configure the attribute table and the vector selection

Regola

Lizmap è progettato per mostrare i dati spaziali nella mappa principale, ed è possibile proporre agli utenti di vedere i dati di un oggetto attraverso la funzione «popup» (un piccolo popup contenente i dati degli oggetti viene mostrato ogni volta che l’utente clicca sulla mappa). Vedi Popup.

A volte questo non è sufficiente, e come editor di mappe, vorresti che l’utente vedesse tutti i dati di un livello specifico, come puoi fare in QGIS aprendo la tabella degli attributi.

Nota

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

  • graphical selection tools

  • export of features as a file

Prerequisiti

Il livello deve essere pubblicato come WFS (vedi WFS/OAPI) e la chiave primaria deve essere pubblicata anche nelle Proprietà del livello.

Configurazione del plugin

Al livello di layer

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

Nella scheda Strumenti della finestra di dialogo del plugin Lizmap, c’è un gruppo chiamato «Attributi Livelli» che mostra una tabella e alcuni campi modulo dedicati ad aggiungere o rimuovere livelli vettoriali.

Per aggiungere un livello in questo strumento:

  1. Fai clic sul pulsante add_layer_svg.

  2. Layer: Scegli uno dei livelli vettoriali (spaziale o no). Questo può essere qualsiasi formato di strato vettoriale: GeoJSON, Shapefile, PostGIS, CSV, ecc.

  3. Unique ID: Lo strumento della tabella degli attributi deve essere in grado di definire ogni caratteristica come unica. Ti consigliamo vivamente di aggiungere un tale campo se il tuo livello non ne ha ancora uno. Di solito il campo ID unico contiene integer. Se il livello non ha questo tipo di campo, puoi facilmente crearlo con il Calcolatore Campi. Scegli il campo corretto con la casella combinata.

  4. Campi da nascondere: Avete 2 modi per nascondere i campi nella tabella degli attributi pubblicata.

    • 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)

    • Si può usare questa opzione Campi da nascondere per nascondere i campi dati nella visualizzazione della tabella degli attributi. I campi nascosti non saranno visibili per l’utente finale, ma saranno ancora disponibili per Lizmap Web Client. È necessario usare questa opzione per nascondere il campo Unique ID. Se si usa il primo modo (deselezionare la colonna WFS), l’ID unico non sarà utilizzabile da Lizmap, e alcune funzioni della tabella attributi non funzioneranno correttamente.

  5. Lasciate la Tabella Pivot deselezionata. Questa è per la relazione.

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

  7. Lascia la Nascondi livello nella lista deselezionata. Questa è per la relazione.

  • Per modificare un livello nella tabella, selezionalo e clicca sul pulsante edit_layer_svg o fai doppio clic sulla riga.

  • Per rimuovere un livello dalla tabella, selezionalo e clicca sul pulsante remove_layer_svg.

  • Per spostare un livello in alto o in basso, selezionatelo e cliccate sui pulsanti down_layer_svg o up_layer_svg. L’ordine cambierà anche in Lizmap.

  • I campi saranno visualizzati con il loro alias se è definito. Vedi Aggiungere un alias ad un campo.

A livello di progetto

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

Ordine dei campi

Lizmap sta riutilizzando l’ordine dei campi definiti nella tabella degli attributi.

  1. Aprite la vostra tabella degli attributi.

  2. Cliccate con il tasto destro del mouse su un’intestazione di colonna.

  3. Fare clic su organizzare Colonne…

  4. Trascinare e rilasciare le colonne.

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

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

Scaricare i dati

Aggiungendo il livello nello strumento della tabella degli attributi, questo abiliterà anche la capacità di download su quel livello. Per impostazione predefinita, sono disponibili solo GeoJSON e GML. Installando il plugin WfsOutputExtension su QGIS Server, è possibile aggiungere altri formati come Geopackage, ODS, CSV, XLSX …. Leggi https://github.com/3liz/qgis-wfsOutputExtension

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

Utilizzo con le relazioni

In QGIS, è possibile configurare relazioni tra i livelli, nella finestra di dialogo proprietà progetto. Se si pubblica in Lizmap più di un layer nello strumento attributi livello, e se alcuni livelli sono parte di una relazione, l’utente finale sarà in grado di vedere le tabelle figlie sotto la tabella del livello padre, e un clic su una riga nella tabella padre attiverà il filtro del contenuto delle tabelle figlie.

Per esempio, si potrebbe avere un livello di città e un livello figlio di edifici pubblici. Cliccando su una città nella tabella degli attributi, la tabella figlia degli edifici pubblici aggiornerà il suo contenuto solo con gli edifici pubblici della città cliccata.

Si possono usare relazioni «molti a molti» (N:M) in QGIS dalla versione 2.14 ma Lizmap non le usa ancora automaticamente. Bisogna definire le relazioni anche nel plugin Lizmap. In molti casi, le relazioni N:M sono molto utili. Per esempio, potete avere i tre seguenti livelli vettoriali nel vostro progetto:

  • Linee tranviarie: questo nome di strato «Lines» contiene una caratteristica per linea tranviaria, e ha un campo ID unico tram_id.

  • Fermate del tram: questo livello chiamato «Fermate» contiene una caratteristica per fermata del tram, con un campo ID unico chiamato stop_id.

  • Tabella di corrispondenza tra linee e fermate: questo livello chiamato «Pivot» è una tabella di corrispondenza tra linee e fermate del tram, poiché una fermata può essere utilizzata per più di una linea, e una linea serve molte fermate. Ha i seguenti campi: tram_id, stop_id e order che definisce l’ordine della fermata nella linea.

Puoi aggiungere 2 relazioni nelle proprietà del progetto QGIS: una tra Lines e Pivot usando il campo tram_id, e una tra Stops e Pivot usando il campo stop_id.

In Lizmap, abbiamo aggiunto un modo semplice per configurare la relazione N:M. Potete semplicemente

  • Creare le due relazioni descritte sopra nel dialogo delle proprietà del progetto QGIS, scheda Relazioni

  • Aggiungere i livelli Lines e Stops nello strumento attributi livelli

  • Aggiungere il livello Pivot nello strumento livelli di attributo con l’opzione Tabella pivot selezionata

Lizmap Web Client gestirà quindi la relazione come una relazione N:M:

  • La tabella pivot sarà visualizzata sotto ogni tabella di attributi padre e mostrerà solo i figli corrispondenti.

  • La funzione di filtro basata sui livelli attributo attiverà il filtro a cascata del pivot e dell’altro genitore. Per esempio, se l’utente usa il filtro per mostrare solo una linea tranviaria, Lizmap mostrerà anche solo le fermate corrispondenti nella mappa e nelle tabelle degli attributi Stops

Suggerimenti

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