Vlastnosti vektorové geometrie

K ukládání geometrických vlastní do databáze slouží modul v.to.db:

GRASS> v.to.db --help
cat
kategorie vektorového objektu
area
plocha
compact
kompaktnost plochy, počítaná jako kompaktnost = obvod / (2 * sqrt(PI * plocha))
fd
fraktální dimenze hranic, definujících polygon fd = 2 * (log(obvod) / log(plocha))
perimeter
obvod plochy
length
délka liniie
count
počet prvků dané kategorie
coor
souřadnice bodu, X,Y nebo X,Y,Z
start
souřadnice počáteního bodu linie/hranice X,Y nebo X,Y,Z
end
souřadnice koncového bodu linie/hranice, X,Y nebo X,Y,Z
sides
kateogrie ploch naleov aa napravo od hranice
slope
sklon vektorové linie
sinuous
sinusoidiate linie, délka / vzdálenost mezi koncovými body

Příklad použití

Poznámka

Pracujte na kopii mapy roads se jmenem cesty g.copy vect=roads,cesty

Přidat sloupeček foo k atributové tabulce. Do něj budeme ukládat různé geometrické vlastnosti:

GRASS> v.db.addcol map=cesty columns='foo double'

Uložit délku linie do databáze:

GRASS> v.to.db -p map=roads type=line option=length column=foo

Reading features...
100%
Aktualizace databáze ...
100%
5 categories read from vector map (layer 1)
6 records selected from table (layer 1)
5 categories read from vector map exist in selection from table
5 records updated/inserted (layer 1)

Výpis atributové tabulky:

GRASS> v.db.select cesty

cat|label|foo
0|no data|
1|interstate|47106.905151
2|primary highway, hard surface|28460.951353
3|secondary highway, hard surface|29073.064052
4|light-duty road, improved surface|151211.909392
5|unimproved road|136313.999118

Geometrickou vlastnost lze i pouze vytisknout na výstup:

GRASS> v.to.db -p map=soils option=area

Reading areas...
100%

cat|area
48|45810168.7045008
49|16913437.6313008
13|41969583.8172
9|34046495.0770997
...

Barevné znázornění podle geometrické vlastnosti

Skript d.vect.thematic umí uložit do atributové tabulky barevnou hodnotu, spočítanou na základě geometrické charakteristiky.

Poznámka

pracujte na kopii mapy soils, s nazvem pudy: g.copy vect=soils,pudy --o

Přidat sloupeček GRASSRGB (standardní název pro sloupeček s barvou) a plocha:

GRASS> v.db.addcol map=pudy columns='GRASSRGB VARCHAR(11),plocha DOUBLE'

Uložení plochy do databáze:

GRASS> v.to.db map=pudy option=area column=plocha

Ověření, je-li všechno v pořádku:

GRASS> v.db.select pudy

Přidání barev do databáze na základě velikosti plochy. Barevné schéma je zelená-modrá:

GRASS> d.vect.thematic -ful map=pudy type=area column=plocha nint=10 colorscheme=green-blue
../_images/d_vect_thematic.png