GRASS GIS / Import geodat

Z FreeGIS portál
Přejít na: navigace, hledání

Většina rastrových formátů může být naimportována modulem r.in.gdal, pro vektorová data existuje modul v.in.ogr. wxGUI disponuje specializovanými nástroji pro hromadný import dat (viz níže).

Rastrová data

Nástroj pro import rastrových dat je dostupný z menu File → Import raster data → Common formats import nebo nástrojové lišty správce vrstev.

Nástroj pro import rastrových dat

V dialogu pro import rastrových dat určíme:

  1. typ zdroje
  2. formát dat
  3. adresář s daty
  4. seznam vrstev k importu
  5. spustíme import
Určení rastrových dat (PNG) k importu
Průběh importu
Zobrazení naimportovaných dat
Import rastrových dat z příkazové řádky
r.in.gdal input=/opt/grassdata/gis1-data-xy/dmt.tif output=dmt
Import rastrových dat jako skript v jazyce Python (ke stažení jako r.in.gdal.all)
# import rastrových dat z aktuálního adresáře (formáty GIF, PNG, JPG, TIF)

import os
import grass.script as grass

for fname in os.listdir("."):
    name, ext = os.path.splitext(fname)
    if ext in ('.png', '.tif', '.jpg', '.gif'):
        grass.run_command('r.in.gdal', input = fname, output = name)

Vektorová data

Nástroj pro import vektorových dat je dostupný z menu File → Import vector data → Common formats import nebo nástrojové lišty správce vrstev.

Nástroj pro import vektorových dat

V dialogu pro import vektorových dat určíme:

  1. typ zdroje
  2. formát dat
  3. adresář s daty
  4. seznam vrstev k importu
  5. spustíme import
Určení vektorových dat (Esri Shapefile) k importu
Průběh importu
Zobrazení naimportovaných dat
Import vektorových dat z příkazové řádky
v.in.ogr dsn=/opt/grassdata/gis1-data-sjtsk/ layer=lesy
Import vektorových dat jako skript v jazyce Python (ke stažení jako v.in.ogr.all)
# import vektorových dat z aktuálního adresáře
# (všechny formáty, které podporuje knihovna OGR v režimu čtení)

import grass.script as grass

layers = grass.read_command('v.in.ogr', flags = 'l', dsn='.').splitlines()
for fname in layers:
    grass.run_command('v.in.ogr', dsn = '.', layer = fname)

Poznámky k importu vektorových dat

Při importu vektorových dat provádí v.in.ogr konverzi vektorových dat z reprezentace simple features do topologického formátu systému GRASS:

  • pro body (point) a lomené čáry (linestring) nedochází ke změně povahy vektorového prvku, v topologickém formátu GRASS jsou vyjádřeny jako points a lines
  • polygony jsou rozloženy na hraniční linie (boundary) a centroidy (centroid), externí ring polygonu je převeden na hraniční linie (hraniční linie sousedících polygonů je uložena pouze jednou)
  • pro každý polygon je vypočten centroid, tj. bod ležící uvnitř plochy
  • polygon je vyjádřen v topologickém modelu systému GRASS jako plocha (area)
  • případné díry v polygonu jsou uloženy jako plochy, které tvoří tzv. ostrovy (isle)

Například dva sousedící polygony (jeden s otvorem) jsou v topologickém modulu systému GRASS vyjádřeny čtyřmi hraničními liniemi a dvěma centroidy. Polygony a otvor v druhém polygonu tvoří tři plochy. Otvor v druhém polygonu a prostor vně polygonu definuje dva ostrovy.

 |   Number of points:       0               Number of centroids:  2          |
 |   Number of lines:        0               Number of boundaries: 4          |
 |   Number of areas:        3               Number of islands:    2          |
Topologická reprezentace dvou polygonů (druhý polygon s otvorem)

Modul v.in.ogr provádí při importu operace, které by měly odstranit případné topologické chyby v datech, které při konverzi z reprezentace simple features do topogického formátu systému GRASS mohou vzniknout. Případné topologické chyby, které nemohou být z nejrůznějších důvodů během importu odstraněny, je možné napravit pomocí modulu v.clean.

Některá vektorová data (např. vrstvu obce je po importu z formátu Esri Shapefile nutné ještě dále zpracovat, více na stránce konzistence vektorových dat.

Kódování atributových dat

Při importu dat ve formátu Esri Shapefile je nutné nastavit správné kódování pro atributová data. Atributy obsahující diakritiku jsou často kódována ve znakové sadě Windows-1250 (kód cp1250). Hodnotu kódování lze nastavit pomocí parametru encoding modulu v.in.ogr.

Příklad importu - znaková sada Windows-1250 z příkazové řádky
v.in.ogr dsn=/cesta/k/orp.shp encoding=cp1250
Poznámka pro GRASS GIS verze 6
Vzhledem k tomu, že modul v.in.ogr nemá parametr encoding, je nutné znakovou sadu určit pomocí proměnné prostředí SHAPE_ENCODING.

export SHAPE_ENCODING v.in.ogr dsn=/cesta/k/orp.shp encoding=cp1250 output=orp

Formát DGN

Formát DGN lze naimportovat pouze v případě, že je knihovna OGR zkompilována s podporou pro tento formát (viz stránky knihovny OGR). Bohužel knihovna OGR nepodporuje formát verze 8.0 a vyšší.

V případě formátu DGN lze doporučit jeho konverzi do formátu DXF a import do systému GRASS pomocí modulu v.in.dxf.

Poznámky k importu dat

Pokud se v mapovém okně nezobrazují žádná data, je nutné nastavit pohled na aktuálně vybranou mapu.
Nastavení pohledu mapového okna na vybranou mapovou vrstvu z kontextového menu správce vrstev
Nastavení pohledu mapového okna na vybranou mapovou vrstvu

Import dat nemá vliv na nastavení výpočetního regionu. Výpočetní region lze nastavit na základě naimportovaných dat z kontextového menu správce vrstev.

Nastavení výpočetního regionu na základě mapové vrstvy
Výpočetní region lze automaticky během importu rozšířit na základě importovaných dat.
Rozšíření výpočetního regionu na základě importovaných dat