Úpravy - úprava vrstvy z webového rozhraní
Princip
Uživatelům je možné umožnit úpravu prostorových a atributových dat z rozhraní Lizmap Web Client pro vrstvy PostgreSQL. Zásuvný modul Lizmap umožňuje přidat jednu nebo více vrstev a zvolit, jaké akce pro každou z nich bude možné provádět ve webovém rozhraní:
vytváření prvků
úprava atributů
úprava geometrie
mazání prvků
Webový formulář, který se uživateli zobrazí pro vyplnění tabulky atributů, podporuje editační nástroje dostupné na kartě pole ve vlastnostech vektorové vrstvy QGIS. Můžete nastavit rozbalovací seznam, skrýt sloupec, znemožnit jeho editaci, použít zaškrtávací políčko, textovou oblast atd. Veškerá konfigurace se provádí myší, v QGIS a v zásuvném modulu Lizmap.
Kromě toho Lizmap Web Client automaticky rozpozná typ sloupce (celé číslo, reálné číslo, řetězec atd.) a přidá do polí potřebné kontroly a ovládací prvky.
Příklady
Město si přeje, aby občané identifikovali viditelné problémy na silnicích: neodvezené odpadky, rozbité pouliční osvětlení, vraky k odstranění. Správce projektu QGIS vytvoří vrstvu určenou pro sběr dat a zobrazí je všem.
Inženýrská kancelář chce umožnit projektovým partnerům sledovat připomínky k projektovým oblastem. Umožňuje přidávat polygony ve vyhrazené vrstvě.
Předpoklady
Chcete-li povolit úpravy dat v aplikaci Lizmap Web Client, musíte:
Vektorová vrstva uložená v PostgreSQL.
Vektorová vrstva nesmí mít v názvech polí mezeru.
Nastavte nástroj pro úpravu vrstvy v Přizpůsobení formuláře pro editaci.
. Není to povinné, ale doporučuje se to kvůli kontrole dat zadávaných uživateli. Další informace o rozvržení, widgetech, výrazech a omezeních ve formuláři najdete vVrstva musí být publikována jako WFS (viz WFS/OAPI) a primární klíč musí být také publikován v Vlastnosti vrstvy.
Přestože chceme vrstvu upravovat, není třeba používat zaškrtávací políčka Update, Insert a Delete v tabulce WFS na kartě QGIS Server. Lizmap nepoužívá WFS-T. Lizmap provede úpravy přímo v datovém zdroji. Konfigurace se provádí pouze v panelu popsaném níže.
V důsledku výše uvedeného :
Pověření nesmí používat autentifikační systém poskytovaný QGIS pro vrstvu s možností editace. Pověření musí být buď v souboru projektu QGS, nebo v souboru služby PostgreSQL (doporučeno, je to bezpečnější, protože pověření nejsou uložena v projektu QGIS) :
Poznámka
Dávejte pozor, pokud vaše vrstva obsahuje některé hodnoty Z nebo M, Lizmap je bohužel při ukládání do databáze nastaví na „0“, což je výchozí hodnota.
Konfigurace nástroje
Zde jsou uvedeny podrobné kroky:
V případě potřeby vytvořte v databázi vrstvu s požadovaným typem geometrie (bod, linie, polygon atd.).
přemýšlejte o přidání primárního klíče: je to nezbytné!
sloupec primárního klíče musí být typu auto-inkrement. Například serial pro PostgreSQL.
přemýšlejte o přidání prostorového indexu: je to důležité pro výkon.
vytvořte tolik polí, kolik potřebujete pro atributy: pokud je to možné, používejte jednoduché názvy polí!
Prosím odkazujte se na dokumentaci QGIS, abyste zjistili, jak vytvořit prostorovou vrstvu v databázi PostgreSQL.
Povolení vrstvy s možností editace:
Klikněte na tlačítko .
Vyberte vrstvu v rozevíracím seznamu
- Zaškrtněte akce, které chcete aktivovat:
Vytvořit
Upravit atributy
Upravit geometrii
Smazat
Nepovinně můžete přidat seznam skupin, které je povoleno upravovat, oddělený čárkou.
- Přichycení lze aktivovat, pokud v seznamu vrstev vyberete alespoň jednu vrstvu.
Vrstva musí být publikována jako WFS (viz WFS/OAPI) a primární klíč musí být také publikován v Vlastnosti vrstvy.
- Pokud je výše vybrána jedna vrstva, musí být použito alespoň jedno zaškrtávací políčko :
Vrcholy
Segmenty
Intersections
Je možné nastavit toleranci přichycení.
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.
Konfigurace formuláře
Formulář v Lizmap je zděděný z Vlastnosti vrstvy. Přečtěte si Přizpůsobení formuláře pro editaci.
Opětovné použití dat vrstev edice
Vrstvy, které jste vybrali pro nástroj pro úpravy, jsou „vrstvy jako ostatní“, což znamená:
Na tyto vrstvy se aplikují styly a popisky QGIS. Můžete vytvořit styly a popisky, které závisí na hodnotě sloupce vrstvy.
Pokud chcete navrhnout nástroj pro úpravy, ale neumožňuje uživatelům prohlížet data z online vrstvy (a tedy ani doplňky jiných uživatelů): Můžete jednoduše skrýt editační vrstvy tím, že je umístíte do skrytého adresáře. Viz Maskování jednotlivých vrstev (skryté vrstvy).
Vrstvy jsou tisknutelné, pokud nejsou maskované.
Data jsou uložena ve vrstvě projektu. Správce může tato data načíst a následně je použít.
Poznámka
Použití mezipaměti: zda chcete pro úpravy vrstev použít mezipaměť serveru nebo klienta, udělejte to vědomě: data nebudou pro uživatele viditelná, dokud nevyprší platnost mezipaměti. Doporučujeme mezipaměť pro úpravy vrstev nepovolovat.
Přidávání souborů a obrázků pro funkce
Použijte složku media/upload vztaženou k projektu.
Během online úprav je možné nahrát soubory včetně obrázků pro každou funkci; k tomu je třeba:
Konfigurujte edici pro vrstvu s jedním nebo více poli s edit type
Photo
neboFile
. Například, předpokládejme, že název pole jephoto
.Vytvořte složku v kořenovém adresáři souboru projektu QGIS :
media/
a podsložkumedia/upload
(samozřejmě to musíte udělat lokálně v počítači a na straně serveru).Dejte uživateli webového serveru (obvykle www-data) oprávnění k zápisu do složky upload, aby mohl vytvářet soubory a složky v
media/upload
:chmod 775 -R media/upload && chown :www-data -R media/upload
Zkontrolujte
php.ini
, zda jsou proměnnépost_max_size
aupload_max_filesize
správně nastaveny (ve výchozím nastavení PHP umožňuje nahrávat pouze soubory do velikosti 2 MB).
Lizmap pak vytvoří složky pro ukládání dat v závislosti na názvu vrstvy, názvu pole atd. Například soubor bude uložen ve složce media/upload/PROJECT_NAME/LAYER_NAME/FIELD_NAME/FILE_NAME.EXT
a obrázek v media/upload/environment/observations/species_picture/my_picture.png
.
Je zřejmé, že tento obrázek (nebo jakýkoli jiný soubor) budete moci zobrazit ve vyskakovacím okně, protože bude uložen ve složce médií. Viz Použití ve vyskakovacích oknech
Použití konkrétní cílové složky
Výchozí cílovou složku media/upload/PROJECT_NAME/LAYER_NAME/FIELD_NAME/FILE_NAME.EXT
můžete zrušit ručním nastavením cesty, kam se má médium uložit, relativně k projektu. K tomu je třeba použít widget pro úpravu pole Externí zdroj a nakonfigurovat jej pomocí:
a Výchozí cesta zapsaná relativně k projektu. Například
../media/images/
, pokud chcete soubory tohoto pole uložit do složky media umístěné vedle složky projektu. Můžete také zvolit nastavení cesty uvnitř složky media projektu. Napříkladmedia/my_target_folder/
.zaškrtněte políčko Relativní cesta s výchozí volbou Relativní k cestě projektu.
pokud má pole ukládat obrázek, měli byste také zaškrtnout políčko Integrovaný prohlížeč dokumentů s typem Obrázek.
To umožňuje ukládat odeslané mediální soubory a obrázky do centralizované složky, například do adresáře media
na stejné úrovni jako složky úložišť Lizmap:
media
images <– pro uložení obrázků do této složky použijte
../media/images/
pdf
prostředí
trees.qgs
trees.qgs.cfg
media
tree_pictures/ <– pro uložení obrázků do této složky použijte:
media/tree_pictures/
Použijte vzdálené úložiště WebDAV.
Je možné uložit své soubory na vzdálený server, který podporuje protokol WebDAV (např. Nextcloud). K dosažení toho musíte:
Nakonfigurujte editační widget Přílohy pro vybrané pole následovně:
V poli Typ úložiště vyberte možnost WebDAV úložiště.
V sekci Externí úložiště` na poli URL úložiště přidejte výraz, který udává úplnou URL vzdálené cesty k souboru. Řetězec výrazu musí:
začínat s vzdálenou adresou URL úložiště root složky serveru WebDAV
zahrnovat nebo nezahrnovat jakoukoli cílovou podsložku
končit s výrazem
file_name(@selected_file_path)
Update the Authentication section with your
user name
andpassword
(optional, read below about authentication)
Například, pokud chcete nahrát soubor na svůj server WebDAV
https://webdav/dav
do podsložkypictures/2024/
, pak celý výraz bude:'https://webdav/dav/pictures/2024/'||file_name(@selected_file_path)
Můžete také nahrát soubor přímo do kořenové složky, jednoduše změňte výraz výše na
'https://webdav/dav/'||file_name(@selected_file_path)
Tip
Můžete konfigurovat různá pole ve stejné vrstvě nebo v různých vrstvách pro nahrávání souborů do vašeho vzdáleného úložiště do různých podadresářů.
Nakonfigurujte svou instalaci Lizmap tak, aby rozpoznávala vaše WebDAV úložiště. Proveďte to tak, že upravíte sekci
[webdav:default]
ve vašem souboruvar/config/profiles.ini.php
.[webdav:default] baseUri=https://webdav/dav/ enabled=1 user=mywebdavuser password=mywebdavpassword
kde:
baseUri
je kořenová složka vašeho serveru WebDAV. Musí končit/
a musí být stejná jako je uvedeno ve widgetu Přílohaenabled
nastavte na1
zapnout konfiguraci WebDAV nebo na0
vypnoutuser
, WebDAVbaseUri
autentizační uživatel, stejný jako je nastavený v sekci Authentifikace v sekci Externí úložištěpassword
, WebDAVbaseUri
authentication password, same as above
Poznámka
user
andpassword
fields are not mandatory, depends on how you intend to manage the WebDAV storage.Poznámka
Configure multiple WebDAV servers on the same Lizmap installation is not supported, so you can configure only one WebDAV endpoint per installation.
Varování
To get files from remote storage the
baseUri
will be exposed on the web client.Varování
If an user upload two files with the same name the first file could be overwritten. This behaviour cannot be controlled by Lizmap since it concerns the configuration and the structure of the WebDAV server.
Tip
To prevent files from being overwritten you can set the Store URL by placing a
uuid
in front of the file name, for example:'https://webdav/dav/pictures/2024/'||uuid('WithoutBraces')||'_'||file_name(@selected_file_path)
Po provedení dvou výše uvedených konfiguračních kroků budete schopni:
nahrát nový soubor z formuláře úpravy vrstvy
smazat existující soubor z formuláře vrstvy úprav
přistupovat k souboru přes tabulku atributů (viz Tabulka atributů - Konfigurace tabulky atributů a výběru vektorů)
přistupovat k souboru nebo získání náhledu obsahu souboru pomocí vyskakovacího okna (viz Použití ve vyskakovacích oknech)
Varování
Unfortunately, this feature is not yet compatible with Lizmap Cloud.