Tabulka atributů - Konfigurace tabulky atributů a výběru vektorů

Princip

Lizmap je navržena tak, aby zobrazovala prostorová data v hlavní mapě, a uživatelům můžete nabídnout zobrazení dat objektu prostřednictvím funkce „popup“ (malé vyskakovací okno obsahující data objektu se zobrazí vždy, když uživatel klikne na mapu). Viz Vyskakovací okno

Někdy to nestačí a jako editor mapy byste chtěli, aby uživatel viděl všechna data konkrétní vrstvy, jak to můžete udělat v QGIS otevřením atributové tabulky.

Poznámka

Při aktivaci atributové tabulky ve vrstvě se aktivuje také :

  • grafické nástroje pro výběr

  • export prvků do souboru

Předpoklady

Vrstva musí být publikována jako WFS (viz WFS/OAPI) a primární klíč musí být také publikován v Vlastnosti vrstvy.

Konfigurace nástroje

Na úrovni vrstvy

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

Na kartě Nástroje dialogového okna zásuvného modulu Lizmap se nachází skupina s názvem „Atributové vrstvy“, která zobrazuje tabulku a několik formulářových polí určených k přidání nebo odebrání vektorových vrstev.

Přidání vrstvy do tohoto nástroje:

  1. Klikněte na tlačítko add_layer_svg.

  2. Vrstva: Vyberte jednu z vektorových vrstev (prostorovou nebo neprostorovou). Může to být jakýkoli formát vektorové vrstvy : GeoJSON, Shapefile, PostGIS, CSV atd.

  3. Unikátní ID: Nástroj atributové tabulky musí být schopen definovat každý prvek jako jedinečný. Důrazně doporučujeme takové pole přidat, pokud ho vaše vrstva dosud nemá. Pole jedinečného ID obvykle obsahuje celá čísla. Pokud vrstva takové pole nemá, můžete jej snadno vytvořit pomocí Kalkulátoru polí. Pomocí výběrového seznamu vyberte správné pole.

  4. Pole, která je třeba skrýt: V tabulce publikovaných atributů můžete skrýt pole dvěma způsoby.

    • V dialogovém okně vlastnosti vektorové vrstvy vektorové vrstvy QGIS můžete na kartě Pole zrušit zaškrtnutí políčka u sloupce WFS, které se má zrušit. To znamená, že tato pole nebudou publikována prostřednictvím protokolu WFS. Jedná se o nejjednodušší a nejbezpečnější způsob, jak omezit zveřejnění některých polí (například se zbavit citlivých polí).

    • Pomocí této možnosti Pole skrýt můžete skrýt daná pole v zobrazení atributové tabulky. Skrytá pole nebudou viditelná pro koncového uživatele, ale budou stále dostupná pro Lizmap Web Client. Pro skrytí pole Unique ID musíte použít tuto možnost. Pokud použijete první způsob (zrušíte zaškrtnutí sloupce WFS), nebude jedinečné ID pro Lizmap použitelné a některé funkce atributové tabulky nebudou fungovat správně.

  5. Nechte Pivot table nezaškrtnutý. To je určeno pro relaci.

  6. Nechte zaškrtnutou volbu Skrýt v podřízených panelech. To je pro relaci.

  7. Nechte zaškrtnutou volbu Skrýt vrstvu v seznamu. To je určeno pro relaci.

  • Chcete-li upravit vrstvu v tabulce, vyberte ji a klikněte na tlačítko edit_layer_svg nebo dvakrát klikněte na řádek.

  • Chcete-li vrstvu z tabulky odstranit, vyberte ji a klikněte na tlačítko remove_layer_svg.

  • Chcete-li vrstvu přesunout nahoru nebo dolů, vyberte ji a klikněte na tlačítka down_layer_svg nebo up_layer_svg. Pořadí se změní i v aplikaci Lizmap.

  • Pole se zobrazí se svým aliasem, pokud je definován. Viz Přidání aliasu k poli.

Na úrovni projektu

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

Pořadí polí

Lizmap znovu používá pořadí polí definovaných v atributové tabulce.

  1. Otevřete tabulku atributů.

  2. Klikněte pravým tlačítkem myši na záhlaví sloupce.

  3. Klikněte na seřadit Sloupce…

  4. Sloupce přetáhněte myší.

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

Při definování vlastního pořadí by se mělo automaticky změnit zaškrtávací políčko s názvem Vlastní konfigurace.

Stáhnout data

Přidáním vrstvy v nástroji atributové tabulky se také aktivuje možnost stahování této vrstvy. Ve výchozím nastavení jsou k dispozici pouze soubory GeoJSON a GML. Instalací doplňku WfsOutputExtension na server QGIS můžete přidat další formáty, například Geopackage, ODS, CSV, XLSX ….. Přečtěte si https://github.com/3liz/qgis-wfsOutputExtension

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

Použití s relacemi

V QGIS můžete nastavit vztahy mezi vrstvami v dialogovém okně vlastnosti projektu. Pokud v nástroji Lizmap publikujete více než jednu vrstvu v atributových vrstvách a pokud jsou některé vrstvy součástí vztahu, koncový uživatel bude moci pod tabulkou nadřazené vrstvy vidět podřízené tabulky a kliknutí na jeden řádek v nadřazené tabulce spustí filtr obsahu podřízených tabulek.

Můžete mít například vrstvu měst a podřazenou vrstvu veřejných budov. Kliknutím na jedno město v atributové tabulce se obsah podřízené tabulky veřejných budov obnoví pouze o veřejné budovy kliknutého města.

Vztahy „mnoho k mnoha“ (N:M) můžete v QGIS používat od verze 2.14, ale Lizmap je zatím nepoužívá automaticky. Vztahy musíte definovat také v zásuvném modulu Lizmap. V mnoha případech jsou vztahy N:M velmi užitečné. V projektu můžete mít například tři následující vektorové vrstvy:

  • Tramvajové linky: tato vrstva s názvem „ Linky“ obsahuje jeden prvek pro každou tramvajovou linku a má jedinečné pole ID tram_id.

  • Tramvajové zastávky: tato vrstva s názvem „Zastávky“ obsahuje jeden prvek pro každou tramvajovou zastávku s jedinečným ID polem nazvaným stop_id.

  • Korelační tabulka mezi linkami a zastávkami: tato vrstva s názvem „Pivot“ je kontingenční tabulkou mezi tramvajovými linkami a zastávkami, protože zastávka může být použita pro více než jednu linku a linka obsluhuje mnoho zastávek. Obsahuje následující pole: tram_id, stop_id a order, které určuje pořadí zastávky na lince.

Ve vlastnostech projektu QGIS můžete přidat 2 vztahy: jeden mezi Linky a Pivot pomocí pole tram_id a jeden mezi Zastávky a Pivot pomocí pole stop_id.

V aplikaci Lizmap jsme přidali jednoduchý způsob konfigurace vztahu N:M. Můžete jednoduše

  • Vytvořte dva výše popsané vztahy v dialogovém okně vlastností projektu QGIS, záložka Vztahy.

  • Přidání vrstev Linky a Zastávky v nástroji Vrstvy atributů

  • Přidejte vrstvu Pivot v nástroji Vrstvy atributů se zaškrtnutou možností Kontingenční tabulka.

Lizmap Web Client pak zpracuje relaci jako relaci N:M:

  • Kontingenční tabulka se zobrazí pod každou nadřazenou atributovou tabulkou a zobrazí pouze odpovídající podřazené.

  • Funkce filtru založená na vrstvách atributů spustí kaskádový filtr pivotu a druhého nadřazeného prvku. Pokud například uživatel použije filtr pro zobrazení pouze jedné tramvajové linky, Lizmap zobrazí také pouze odpovídající zastávky v mapě a v tabulkách atributů Zastávky.

Tipy

Pokud jedno z polí obsahuje cestu k médiu, například media/a_folder/my_image.jpg, zobrazí Lizmap odkaz umožňující uživateli otevřít mediální soubor (obrázek, video, PDF atd.) na nové kartě prohlížeče.

Pokud médium odkazuje na obrázek (soubor JPG nebo PNG), můžete přidat nový sloupec zobrazující malý náhled zdrojového obrázku přidáním nového virtuálního pole ve vektorové vrstvě s tímto výrazem. V příkladu níže je pole obsahující cestu k médiu media_path a virtuální pole se jmenuje 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\')}`;">'
)

Výsledek bude vypadat takto:

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