GRASS GIS / Atributové dotazy
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)
- z kontextového menu správce vrstev (aktuálně vybraná mapová vrstva musí být vektorová mapa)
- z příkazové řádky jako modul g.gui.dbmgr
g.gui.dbmgr map=obce
Dialog správce atributových dat má tři základní záložky:
- 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
.
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ě.
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).
Výsledný dotaz lze sestavit pomocí SQL builderu, tlačítkoEditace atributových dat
Správce atributových dat umožňuje kromě dotazování i data modifikovat.
db.execute sql="update urbanarea set UA_TYPE = 'UA (edited)' WHERE cat = 3"
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.
db.execute sql="insert into urbanarea values (109, 109, 29306, 'Farmville', 'UA')"
Vybrané záznamy lze z atributové tabulky odstranit.
db.execute sql="delete from urbanarea where cat = 109"
Numerická atributy mohou být také vypočítány na základě zvolené funkce.
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).
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.
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) |
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ů) |