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
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:
Klikněte na tlačítko .
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.
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.
Pole, která je třeba skrýt: V tabulce publikovaných atributů můžete skrýt pole 2 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ě.
Nechte Pivot table nezaškrtnutý. To je určeno pro relaci.
Nechte zaškrtnutou volbu Skrýt v podřízených panelech. To je pro relaci.
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 nebo dvakrát klikněte na řádek.
Chcete-li vrstvu z tabulky odstranit, vyberte ji a klikněte na tlačítko .
Chcete-li vrstvu přesunout nahoru nebo dolů, vyberte ji a klikněte na tlačítka nebo . 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
Pořadí polí
Lizmap znovu používá pořadí polí definovaných v atributové tabulce.
Otevřete tabulku atributů.
Klikněte pravým tlačítkem myši na záhlaví sloupce.
Klikněte na seřadit Sloupce…
Sloupce přetáhněte myší.
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
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 Stops 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.
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 (which create an image with a data attribute containing the image path and a CSS class data-attr-thumbnail
). In the example below, the field containing the media path is media_path
and the virtual field is named vignette
:
concat(
'<img class="data-attr-thumbnail" data-src="',
"media_path" ,
'" src="/themes/default/css/img/logo_footer.png" style="height:60px;">'
)
Výsledek bude vypadat takto: