Připojení tabulkových dat

V této kapitole si ukážeme funkci join Připojení resp. její využití k připojení tabulkových dat k atributové tabulce vrstvy, kterou máme v projektu. Funkce připojení umožňuje na základě shodných hodnot jednoho atributu připojit atributovou tabulku k vektorové vrstvě. Takto k sobě můžeme připojit atributové tabulky dvou vektorových vrstev. Díky knihovně GDAL však lze jako atributovou tabulku nahrát i tabulková data bez geometrie (formáty *.csv, *.dbf, *.ods, *.xls aj.). To má využití zejména pokud potřebujeme připojit získané tabulky s informacemi o prvcích ve vektorové vrstvě nebo pokud potřebujeme připojit data naměřená v terénu ke známým prvkům nebo např. naměřeným GPS bodům.

Postup si ukážeme na připojení tabulky získané z databáze chráněných území (http://drusop.nature.cz) k vektorové vrstvě velkoplošných zvláště chráněných území (AOPK). Připojením získáme informaci, pod jaké orgány ochrany přírody spadají jednotlivá území.

Postup připojení

Nejprve je vhodné převést naši tabulku na data s oddělenými hodnotami, např. formát CSV, což provedeme přímo v tabulkovém procesoru - při ukládání nebo exportu vybereme formát *.csv.

Existují dva hlavní způsoby jak nahrát tabulková data jako vrstvu do QGIS:

1. Stejně jako vektorovou vrstvu, přetažením z prohlížeče nebo pomocí mActionAddOgrLayer Přidat vektorovou vrstvu.

+ lze editovat přímo v QGIS

- interpretuje všechny atributy jako text, lze ošetřit vytvořením doplňujícího textového souboru *.csvt

  • *.csvt soubor musí být umístěn ve stejném adresáři a mít stejný název jako přidávaný *.csv soubor. Dále musí obsahovat pouze jeden řádek, ve kterém jsou uvedeny typy atributů k odpovídajícím sloupcům *.csv ("Integer","Real","String").
../_images/join_csvt.png

Obrázek 1: Ukázka tabulkových dat ve formátu *.csv (vlevo) a odpovídající soubor *.csvt (vpravo)

2. Pomocí mActionAddDelimitedTextLayer Přidat vrstvu s odděleným textem, kde bychom zvolili radiobuttonon Žádna geometrie (pouze atributová tabulka)

- nelze editovat přímo v QGIS

+ rozpozná typ atributu (text, :option: Celé číslo atd.)

../_images/join_layer.png

Obrázek 2: Zobrazení tabulkových dat v seznamu vrstev.

../_images/join_atribut.png

Obrázek 3: Atributové tabulky vektorové vrstvy (nahoře) a importované tabulky (dole). V tomto případě budeme připojovat pomocí atributů "kod" a "Kód", které jsou souhlasné.

Jakmile máme přidána tabulková data, otevřeme vlastnosti vektorové vrstvy, ke které chceme tabulku připojit, zvolíme záložku join Připojení a přidáme nové připojení pomocí tlačítka symbologyAdd. V dialogovém okně (obr. 4) potom nastavíme parametry připojení.

../_images/join1.png

Obrázek 4: Okno přidání připojení.

  • Připojit vrstvu selectstring - vybereme vrstvu (.csv tabulku)

  • Připojit pole selectstring - vybereme atribut (týká se tabulky .csv), přes který chceme data připojit

  • Cílové pole selectstring - vybereme souhlasný atribut (vektorové vrstvy), ke kterému se bude tabulka připojovat

  • checkbox Kešovat připojenou vrstvu ve virtuální paměti - pro rychlejší práci s daty

  • checkbox Choose which fields are joined - zaškrtneme, pokud chceme připojit pouze některé atributy

  • checkbox Custom field name prefix - zde můžeme zvolit vlastní předponu názvů připojených atributů (jejich sloupců)

  • po přidání se připojení objeví v seznamu

    • pomocí tlačítka symbologyEdit lze připojení editovat
    • pomocí tlačítka symbologyRemove lze připojení zručit
  • zavřeme vlastnosti a můžeme překontrolovat připojení zobrazením atributové tabulky vrstvy. Připojené atributy se zobrazí na konci tabulky.

../_images/join_priklad.png

Obrázek 5: Výsledek spojení tabulek.

  • s takto připojenou tabulkou můžeme dále pracovat stejně, jako by byla přímo ve vektorové vrstvě (např. měnit symbol, provádět dotazování a analýzy)

Poznámka

Při připojení se zdrojová data (vektorové vrstvy ani připojené tabulky) nemění. Data z tabulky jsou připojením pouze odkazována k odpovídajícím prvkům atributové tabulce vrstvy.

  • po odebrání tabulky ze seznamu vrstev, nebo přímo vymazání souboru .csv se připojení zruší
  • pro trvalé uložení připojených dat do vektorové vrstvy lze použít funkci exportu vrstvy (Uložit jako...)