Ú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 Vlastnosti vrstvy ‣ Formulář atributů. 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 v Přizpůsobení formuláře pro editaci.

  • Vrstva 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 :

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í!

Jak vytvořit prostorovou vrstvu v databázi PostgreSQL se dozvíte v dokumentaci QGIS: https://docs.qgis.org/latest/en/docs/user_manual/managing_data_source/index.html.

../../_images/interface-add-edition-layer.jpg
  • Povolení vrstvy s možností editace:

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

    2. Vyberte vrstvu v rozevíracím seznamu

    3. Zaškrtněte akce, které chcete aktivovat:
      • Vytvořit

      • Upravit atributy

      • Upravit geometrii

      • Smazat

    4. Nepovinně můžete přidat seznam skupin, které je povoleno upravovat, oddělený čárkou.

    5. 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.

    6. Pokud je výše vybrána jedna vrstva, musí být použito alespoň jedno zaškrtávací políčko :
      • Vrcholy

      • Segmenty

      • Intersections

    7. Je možné nastavit toleranci přichycení.

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

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:

  • Konfigurace editace vrstvy s jedním nebo více poli s edit type Photo nebo File. Řekněme například, že název pole je foto.

  • Vytvořte složku v kořenovém adresáři souboru projektu QGIS : media/ a podsložku media/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 a upload_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říklad media/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/