Atributová data¶
Editace atributových dat¶
Správce atributových dat umožňuje kromě dotazování (viz kapitola Atributové dotazy) atributová data modifikovat.

Poznámka
Editovat lze atributové data vektorových map pouze z aktualního mapsetu.
Kopírovat vektorové mapy do aktuálního mapsetu lze z kontextového menu stromu vrstev (Obr. 145) anebo pomocí nástoje ze záložky Data (Obr. 146).

Obr. 145 Vytvoření kopie vektorovové mapy v aktuálním mapsetu z kontextového menu správce vrstev.

Obr. 146 Kopírování vektorových map pomocí nástroje ze záložky Data.
Editace atributových dat z příkazové řádky
Nabízejí se dva moduly:
db.execute umožňující spustit jakýkoliv SQL příkaz typu
UPDATE
,ALTER
čiDELETE
db.execute sql="update obce set nespravny = '1' where kod = 569054"
anebo v.db.update jako frontend pro vektorové mapy
v.db.update map=obce column=nespravny value="1" where="kod = 569054"
Správce atributových dat umožňuje přidávat do atributové tabulky nové záznamy.

Obr. 147 Přidání nového záznamu do atributové tabulky.
Poznámka
Tato operace neznamená, že bude do vektorové mapy přidán nový prvek.
Vložení nového záznamu do atributové tabulky z příkazové řádky
db.execute sql="insert into obce_polygon(cat, nazev) values (6253, 'pokus')"
Vybrané záznamy lze z atributové tabulky odstranit.

Obr. 148 Odstranění záznamů z atributové tabulky.
Odstranění záznamů z atributové tabulky z příkazové řádky
db.execute sql="delete from obce where cat = 6253"
Důležité
Při odstranění či přidání záznamů do atributové tabulky dochází k modifikaci pouze popisné složky geoprvků. Např. při odstranění záznamu z atributové tabulky zůstává asociovaná geometrická složka popisu geoprvku ve vektorové mapě zachována.
Numerické atributy mohou být také vypočítány na základě zvolené funkce.

Obr. 149 Funkce pro výpočet numerických atributů.
Výpočet hodnoty atributu z příkazové řádky
v.to.db map=obce option=area columns=vymera
Příklad přidání nového atributu s výměrou a její výpočet (ve čtverečních mapových jednotkách).
Field Calculator¶
Field Calculator je nástroj, který umožňuje sestavit SQL UPDATE příkaz a pomocí něho modifikovat atributová data.

Obr. 150 Ukázka nástroje využití Field Calculator.
Pokročilé dotazování¶
Atributové dotazy umožňují dva moduly v.db.select a db.select.
Modul 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ě. Je dostupný z
menu . Pokud není zadána where
podmínka, tak modul vypíše
všechny záznamy z atributové tabulky.
Obr. 151 Atributový dotaz pomocí modulu v.db.select (zadání vektorové mapy).
Obr. 152 Atributový dotaz pomocí modulu v.db.select (volitelně zadání ‚where‘ podmínky).
Modul db.select¶
Modul db.select umožňuje provádět SQL dotazy (SELECT) nad libovolnými atributovými daty
dostupnými pomocí daného databázového ovladače. SQL dotazy mohou být uloženy v souboru (parametr
input
) anebo definovány jako parametr sql
. Tento
modul je dostupný z menu .

Obr. 153 Atributový dotaz pomocí modulu db.select (zadání SQL dotazu). Výpočet plošné zakulacenosti prvků (poměr kvadrátu obvodu vůči ploše).

Obr. 154 Atributový dotaz pomocí modulu db.select (výsledek SQL dotazu).
Důležité
Modul db.select pracuje s atributy uloženými v aktuální mapsetu (ve výchozím nastavení systém GRASS použivá pro uložení atributových dat SQLite databázi, každý mapset má svoji DB). Cestu k DB lze změnit pomocí atributu database.
Jednoduché atributové dotazu z příkazové řádky
db.select sql="select nazev,(shape_len*shape_len)/shape_area as zaku from maloplosna_uzemi where zaku > 3e3"

Obr. 155 Vícenásobný atributový dotaz pomocí modulu db.select (zadání SQL dotazů).
select nazev,(shape_len*shape_len)/shape_area as zaku from maloplosna_uzemi where zaku > 3e3;
select count(*) from maloplosna_uzemi;
select count(distinct kod) as pocet from maloplosna_uzemi;

Obr. 156 Vícenásobný atributový dotaz pomocí modulu db.select (výsledek SQL dotazů).
Poznámka
Pro ostatní SQL příkazy
(INSERT
, UPDATE
, DELETE
, ALTER
a další) je určen
modul db.execute.