Prostorové funkce

Příklad základních prostorových funkcí (buffer, clip, erase) v kombinaci s atributovými dotazy.

Atributový výběr

Vybírat geoprvky z vektorové mapy můžeme selektivně podle jejich kategorií a atributů, viz kapitola Atributové dotazy. Nástroj pro výběr v.extract je dostupný z menu Vector ‣ Feature selection ‣ Select by attributes.

Tip

Ujistěte se, že máte v pracovní cestě přidány všechny mapsety tak, abyste mohli pracovat s daty v nich obsaženými.

V následující ukázce vybereme z vektorové mapy silnice (mapset osm) všechny dálnice (splňující podmínku typ = 1). Výsledek uložíme do vektorové mapy dalnice.

../_images/v-extract.svg

Obr. 134 Vytvoření tématické vektorové mapy dalnice.

Obalová zóna

Obalovou zónu pro vektorová data vytváří modul v.buffer (Vector ‣ Buffer vector).

Příklad vytvoření obalové zóny kolem dálnic s šířkou 5 km.

v.buffer input=dalnice output=hluk distance=5000
../_images/v-buffer-result.png

Obr. 135 Příklad obalové zóny 5 km okolo dálnic.

Tip

Výpočet může trvat delší dobu jelikož je dálnice reprezentována vždy dvěma pruhy. Pomocí modulu v.clean můžeme reprezentaci dálnice převést pouze na jednu lomenou čáru tím, že jeden z pruhů sloučíme s druhým.

v.clean input=dalnice output=dalnice1 tool=snap threshold=100

Operace překrytí

Tyto operace zajišťuje modul v.overlay (Vector ‣ Overlay vector maps ‣ Overlay vector maps).

Sjednocení (union)

V našem případě vytvoříme vektorovou mapu chranena_uzemi (4) sjednocením (3) velkoplošných (2) a maloplošných chráněných území (1).

../_images/v-overlay-01.svg

Obr. 136 Vytvoření mapy maloplošných a velkoplošných chráněných území.

Spuštění z příkazové řádky

v.overlay ainput=maloplosna_uzemi binput=velkoplosna_uzemi_zonace operator=or output=chranena_uzemi

K výsledné vektorové mapě je přiřazena atributová tabulka, která je spojena z obou vstupních vektorových map. Atributy první vektorové mapy (ainput) jsou označeny prefixem a_, atributy druhé (binput) prefixem b_.

../_images/v-overlay-01-table.png

Obr. 137 Atributová tabulka výsledné vektorové mapy chranene_uzemi.

Průnik (intersection)

V tomto případě zjistíme, jak obalová zóna dálnic (2) zasahuje do chráněných území (1). Opět spustíme modul v.overlay a použijeme operaci průnik (operátor and - (3)).

../_images/v-overlay-02.svg

Obr. 138 Dálniční obalová zóna procházející chráněným územím.

Spuštění z příkazové řádky

v.overlay ainput=chranena_uzemi binput=hluk operator=and output=dalnice_chranena_uzemi
../_images/dalnice500buffer_chranena_uzemi-01.png

Obr. 139 Hluková oblast zasahující chráněné území České středohoří před dostavbou úseku vedoucího přes toto území.

Spojení vektorových map (merge)

Spojení vektorových prvků ze vstupních map umožňuje modul v.patch (Vector ‣ Overlay vector maps ‣ Patch vector maps). Na rozdíl od v.overlay tento modul neprovádí překryvnou operaci ale nýbrž prosté uložení prvků ze dvou a více vstupních map do výstupní mapy.

../_images/v-patch-01.png

Obr. 140 Příklad vytvoření nové vektorové mapy doprava, která je složena z prvků vstupních vektorových map silnice a zeleznice.

Spuštění z příkazové řádky

v.patch input=silnice,zeleznice output=doprava

Generalizace vektorových prvků

Proces generalizace vektorových prvků umožňuje modul v.generalize. Kromě generalizace (zobecnění, zjednodušení - simplification) lze tento modul použít i pro opačný proces, tj. vyhlazení (smoothing). Modul podporuje celou řadu generalizačních algoritmů, viz dokumentace modulu. V následujících ukázkách je použit algoritmus Ramer–Douglas–Peucker algorithm.

Následuje příklad generalizace liniových prvků. Příkaz vypisuje procento zachovaných lomových bodů.

v.generalize input=zeleznice output=zelenice_g method=douglas threshold=100
v.generalize complete. Number of vertices for selected features reduced
from 409477 to 85018 (20% remaining)
../_images/generalize-line.png

Obr. 141 Příklad generalizace linových vektorových prvků železnic (původní prvek černou barvou, generalizovaný červeně).

Vzhledem k tomu, že je GRASS GIS topologický GIS, tak proces generalizace plošných prvků automaticky zachovává prostorovou topologii prvků, viz příklad generalizace vrstvy obcí.

v.generalize input=obce@ruian output=obce_g method=douglas threshold=20
../_images/generalize-area.png

Obr. 142 Příklad generalizace plošných vektorových prvků obcí (vlevo původní prvky, vpravo generalizované).