GRASS GIS / Atributové dotazy

Z FreeGIS portál
Přejít na: navigace, hledání

Atributové dotazy lze provádět pomocí modulů db.select, v.db.select anebo pomocí správce atributových dat.

Správce atributových dat

Správce atributových dat je základním nástrojem pro práci s atributovými daty ve wxGUI. Spustit správce atributových dat lze několika způsoby:

  • z nástrojové lišty správce vrstev (aktuálně vybraná mapová vrstva musí být vektorová mapa)
Spuštění správce atributových dat z nástrojové lišty
  • z kontextového menu správce vrstev (aktuálně vybraná mapová vrstva musí být vektorová mapa)
Spuštění správce atributových dat z kontextového menu
Návod pro příkazovou řádku
g.gui.dbmgr map=obce

Dialog správce atributových dat má tři základní záložky:

Záložky správce atributových dat
  • Browse data - prohlížení, dotazování a editace atributových dat (záznamů v tabulce)
  • Manage tables - přidání, přejmenování, odebraní sloupce v atributové tabulce
  • Manage layers - správa atributových tabulek připojených k vektorové mapě

Dotazování ve správci atributových dat

Dotazování je dostupné z záložce Browse data v základním (simple) a pokročilém (advanced) módu.

Základní mód umožňuje definovat jednoduchou 'where' podmínku typu sloupec = hodnota.

Jednoduchý atributový doraz (krok 1 - výběr sloupce pro where podmínku)
Jednoduchý atributový doraz (krok 2 - výběr operátoru pro where podmínku)
Jednoduchý atributový doraz (krok 3 - určení hodnoty pro where podmínku)
Jednoduchý atributový doraz - zobrazení výsledku

Zvýraznění výběru v mapovém okně

Výsledek atributové dotazu je možné použít ke zvýraznění korespondujících vektorových prvků v mapovém okně.

Zvýraznění korespondujících vektorových prvků v mapovém okně
Zvýraznění vektorových prvků jako výsledek atributového dotazu

SQL Builder

Pokročilý (advanced) mód umožňuje psát SQL SELECT dotazy přímo (výběr se provede pro stisknutí klávesy Enter).

Pokročilé dotazování, SQL SELECT dotaz
Výsledný dotaz lze sestavit pomocí SQL builderu, tlačítko
SQL Builder
.
Spuštění SQL builderu ze správce atributových dat
Správce atributových dat a SQL builder
wxGUI SQL Builder - jednoduchá podmínka 'where'
wxGUI SQL Builder - výčet sloupců a jednoduchá podmínka 'where'

Editace atributových dat

Správce atributových dat umožňuje kromě dotazování i data modifikovat.

Editace záznamů v atributové tabulce
Editace atributových dat (db.execute) z příkazové řádky
db.execute sql="update urbanarea set UA_TYPE = 'UA (edited)' WHERE cat = 3"
Editace atributových dat (v.db.update) z příkazové řádky
v.db.update map=urbanarea column=UA_TYPE value="UA (edited)" where="cat = 3"

Správce atributových dat umožňuje přidávat do atributové tabulky nové záznamy.

Přidání nového záznamu do atributové tabulky
Vložení nového záznamu do atributové tabulky z příkazové řádky
db.execute sql="insert into urbanarea values (109, 109, 29306, 'Farmville', 'UA')"

Vybrané záznamy lze z atributové tabulky odstranit.

Odstranění záznamů z atributové tabulky
Odstranění záznamů s atributové tabulky z příkazové řádky
db.execute sql="delete from urbanarea where cat = 109"
Při odstranění či přidání záznamů do atributové tabulky dochází k modifikaci pouze popisné složky geoprostorových dat. Např. při odstranění záznamu z atributové tabulky zůstává asociovaný vektorový prvek ve vektorové mapě zachován.

Numerická atributy mohou být také vypočítány na základě zvolené funkce.

Funkce pro výpočet numerických atributů

Příklad přidání nového sloupce s výměrou a její výpočet (ve čtverečních mapových jednotkách).

Přidání nového sloupce do atributové tabulky a výpočet plochy
Výpočet atributu plochy z příkazové řádky
v.to.db map=urbanarea option=area columns=AREA

Field Calculator

Field Calculator je nástroj, který umožňuje sestavit SQL UPDATE příkaz a pomocí něho modifikovat data. Příklad výpočtu poměru obvodu a výměry plochy.

Výpočet poměru obvodu a výměry plochy pomocí Field Calculatoru

Atributové dotazy pomocí v.db.select

Modul v.db.select umožňuje provádět dotazy pouze nad atributovými daty připojenými k dané vektorové mapě. Modul v.db.select je dostupný z menu Database → Query → Query vector attribute data. Pokud není zadána where podmínka, tak modul vypíše všechny záznamy z atributové tabulky.

Atributový dotaz pomocí modulu v.db.select (zadání vektorové mapy)
Atributový dotaz pomocí modulu v.db.select (volitelně zadání 'where' podmínky)

SQL SELECT dotazy pomocí db.select

Modul db.select umožňuje provádět SQL dotazy (SELECT) nad libovolnými atributovými daty dostupnými pomocí daného databazového ovladače. SQL dotazy mohou být uloženy v souboru (parametr input) anebo jako parametr sql. Tento modul je dostupný z menu Database → Query → Query any table.

Atributový dotaz pomocí modulu db.select (zadání SQL dotazu)
Atributový dotaz pomocí modulu db.select (výsledek SQL dotazu)
"Jednoduchý atributový dotaz z příkazové řádky
db.select sql="SELECT COUNT(*) FROM obce WHERE ob01/ob91-1 >= 1"
Vícenásobný atributový dotaz pomocí modulu db.select (zadání SQL dotazů)
Vícenásobný atributový dotaz pomocí modulu db.select (výsledek SQL dotazů)
Pro ostatní SQL příkazy (INSERT, UPDATE, DELETE, ALTER, a další je určen modul db.execute.

Související tutoriály