Databázové funkce v Tcl/Tk GUI nejsou podporovány (kromě standardního rozhraní k db.* modulům.
Výpis aktuálního spojení:
GRASS> db.connect -p
driver:dbf
database: $GISDBASE/$LOCATION\_NAME/$MAPSET/dbf/
schema:(null)
group:(null)
Spojení vektorové mapy s tabulkou
GRASS> v.db.connect -p pudy
Vector map <pudy> is connected by:
layer <1> table <pudy> in database
</home/jachym/grassdata/spearfish60/jachym/dbf/> through driver <dbf> with key <cat>
Vypsání ve formátu zpracovávatelném ve skriptech:
GRASS> v.db.connect -g pudy
1 pudy cat /home/jachym/grassdata/spearfish60/jachym/dbf/ dbf
Přepsání spojení [1]
GRASS> v.db.connect -o map=pudy table=pudy_legenda
database=pudy_legenda.db driver=sqlite key=id
Poznámka
Pracujte na kopii mapy soils jménem pudy
GRASS> d.what.vect pudy
Vytvářím prostorový index ...
100 %
Tlačítka
Levé: copak je tu
Pravé: ukončit
GUI používá na pozadí modul v.what
Pro výběr hodnot z atributové tabulky slouží modul db.select. Od GRASSu 6.3 je možné použít modul v.db.select, který vybere data z atributové tabulky spojené s vektorovou mapou.
Pro db.select můžeme použít tzv. Unix piping:
GRASS> echo "SELECT * FROM pudy"|db.select
nebo parametr:
GRASS> db.select sql="SELECT * FROM pudy"
v.db.select je přímočařejší:
GRASS> v.db.select map=pudy
cat|label
1|Aab
2|Ba
3|Bb
4|BcB
...
Tvorba náhodného bodového pole:
GRASS> v.random out=vzorky n=1000
kategorie a proto ji nelze připojit k atributové tabulce. Kategorie přidáme module v.category:
GRASS> v.category vzorky option=add out=vzorkycat
Spojení s databází ale nebylo definováno:
GRASS> v.db.connect -p vzorkycat
CHYBA: Spojení s databází pro mapu <vzorkycat@jachym>nebylo definováno v
DB souboru
Vytvoříme tabulku vzorkycat se sloupečky
pomocí db.execute
GRASS> echo "CREATE TABLE vzorkycat (cat integer, raster double, vector double)"|db.execute GRASS> v.db.connect map=vzorkycat table=vzorkycatpomocí v.db.addtable, o spojení se již nemusíme starat:
GRASS> v.db.addtable map=vzorkycat layer=1 'columns=cat integer, raster double, vector double'
potřebujeme naplnit její sloupeček cat identifikátorem vektorových prvků. Modul v.to.db umí uložit rozličné vlastnosti vektorových dat do databáze:
GRASS> v.to.db map=vzorkycat column=cat option=cat
GRASS> v.db.select vzorkycat
Zobrazte mapu vzorkycat, resp. její kategorie:
GRASS> d.vect vzorkycat display=cat
účelu se použije modul v.what.rast:
GRASS> v.what.rast --help
GRASS> v.what.rast vect=vzorkycat raster=elevation.dem column=raster
GRASS> v.db.select vzorkycat
cat|raster
1|1231
2|1240
3|1344
4|1537
5|1172
6|1316
7|1408
8|1287
...
Modul v.what.vect funguje podobně, jako v.what.rast:
GRASS> v.what.vect --help
GRASS> v.what.vect vect=vzorkycat qvect=pudy column=vector qcolumn=plocha
GRASS> v.db.select vzorkycat
[1] | Databáze SQLite musí být nainstalována a GRASS musí být zkompilován s její podporou |