GRASS/R: Porovnání verzí

Z GeoWikiCZ
Řádek 225: Řádek 225:
* [http://grass.osgeo.org/newsletter/GRASSNews_vol3.pdf GRASS Newsletter vol. 3]
* [http://grass.osgeo.org/newsletter/GRASSNews_vol3.pdf GRASS Newsletter vol. 3]
** Roger Bivand: Interfacing GRASS 6 and R
** Roger Bivand: Interfacing GRASS 6 and R
* [http://www.osgeo.org/files/journal/final_pdfs/OSGeoJournal_vol1.pdf OSGeo Journal Volume 1]
** Roger Bivand: Using R - GRASS interface


{{GFOSS}}
{{GFOSS}}
{{GRASS}}
{{GRASS}}

Verze z 28. 11. 2009, 20:36

Tato stránka je věnována propojení GRASS GIS a R.

R je programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení. Jde o implementaci programovacího jazyka S pod svobodnou licencí. R již předstihlo počtem uživatelů komerční S a stalo se faktickým standardem v řadě oblastí statistiky.

Používá se z příkazové řádky, existuje však několik frontendů s grafickým rozhraním jako RKWard, R Commander nebo rozšíření do OpenOffice.org Calcu R4Calc.

R bývá také propojováno či využíváno v komerčních softwarech, např. v prostředí PASW mohou uživatelé přímo psát a spouštět programy v jazyce R nad otevřenými daty.

Další informace na wikipedii.

Balíčky pro analýzu geoprostorových dat

R nabízí až více než 2000 různých rozšíření (tzv. balíčku) specializovaných na různé analýzy dat. My se zaměříme na balíčky určené pro práci s geoprostorovými (většinou obrazovými) daty.

  • sp - základní balíček definující třídy a metody pro práci s prostorovými daty
  • maptools - manipulace s prostorovými objekty
  • maps - vykreslování map
  • splancs - analýza bodových výskytů v čase
  • spdep - autokorelace prostorových objektů
  • gstat - geostatistické modelování
  • geoR - analýza geostatistických dat
  • fields - analýza geoprostorových dat
  • RArcInfo - import dat ve formátu ArcInfo Coverage
  • RColorBrewer - tabulky barev optimalizované pro tématické mapy
Tab. č. 1: Datové typy definované balíčkem sp
Datový typ Třída Rodičovská třída
body SpatialPoints Spatial
pixely SpatialPixels SpatialPoints
mřížka SpatialGrid SpatialPixels
linie SpatialLines Spatial, Line
hranice SpatialRings SpatialLines
polygon SpatialPolygons Spatial, Polygon

spgrass6

Spgrass6 je rozšířením balíčku sp a je koncipován jako rozhraní pro moduly GRASS GIS 6. Přístup k datům v nativním formátu GRASS je zajištěn balíčkem rgdal.

Instalace

$ R
> install.packages(c("sp", "rgdal", "spgrass6"), dependencies = TRUE)

Spuštění

Z příkazové řádky GRASS GIS spustíme interpret R.

GRASS 6.5.svn (nc_spm_08):~ > R

Dále nahrajeme balíček spgrass6 a všechny jeho závislosti.

> library(spgrass6)
Loading required package: sp
Loading required package: rgdal
Geospatial Data Abstraction Library extensions to R successfully loaded
Loaded GDAL runtime: GDAL 1.7.0dev, released 2008/11/26
Path to GDAL shared files: /usr/local/share/gdal
Loaded PROJ.4 runtime: Rel. 4.6.1, 21 August 2008
Path to PROJ.4 shared files: (autodetected)
Loading required package: XML
GRASS GIS interface loaded with GRASS version: 6.5.svn
and location: nc_spm_08

Pro spuštění GRASS modulů se používá funkce system, např.

> system('g.region -p')
projection: 99 (Lambert Conformal Conic)
zone:       0
datum:      nad83
ellipsoid:  a=6378137 es=0.006694380022900787
north:      227412.33194791
south:      223694.5675084
west:       635197.26282579
east:       639950.9754717
nsres:      9.99399043
ewres:      10.0078161
rows:       372
cols:       475
cells:      176700

Přístup k rastrovým datům

Nejprve nastavíme region.

> system('g.region rast=elevation')

Na základě rastrové vrstvy bude vytvořen objekt 'SpatialGridDataFrame'.

> elev <- readRAST6('elevation')

Základní informace o objektu poskytuje funkce summary().

> summary(elev)
Object of class SpatialGridDataFrame
Coordinates:
     min    max
x 630000 645000
y 215000 228500
Is projected: TRUE 
proj4string :
[+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334
+lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +no_defs +a=6378137
+rf=298.257222101 +towgs84=0.000,0.000,0.000 +to_meter=1]
Number of points: 2
Grid attributes:
  cellcentre.offset cellsize cells.dim
x            630005       10      1500
y            215005       10      1350
Data attributes:
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  55.58   94.79  108.90  110.40  126.80  156.30 

V případě klasifikovaných rastrových dat použijeme parametr 'CAT', např.

> lu <- readRAST6('landuse96_28m', cat = TRUE)
> summary(lu)
Object of class SpatialGridDataFrame
Coordinates:
     min    max
x 630000 645000
y 215000 228500
Is projected: TRUE 
proj4string :
[+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334
+lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +no_defs +a=6378137
+rf=298.257222101 +towgs84=0.000,0.000,0.000 +to_meter=1]
Number of points: 2
Grid attributes:
  cellcentre.offset cellsize cells.dim
x            630005       10      1500
y            215005       10      1350
Data attributes:
                      not classified             High Intensity Developed 
                                   9                               283200 
             Low Intensity Developed                           Cultivated 
                              309088                                17347 
            Managed Herbaceous Cover        Riverine/Estuarine Herbaceous 
                              205883                                  246 
                 Evergreen Shrubland                  Deciduous Shrubland 
                              133042                                 2596 
                     Mixed Shrubland                      Mixed Hardwoods 
                                 356                                64058 
Bottomland Hardwoods/Hardwood Swamps                 Southern Yellow Pine 
                              159491                               524056 
            Mixed Hardwoods/Conifers                         Water Bodies 
                              274120                                42854 
             Unconsolidated Sediment                                 NA's 
                                1610                                 7044 

Poznámka: Statistika kategorií odpovídá příkazu r.stats -lc.

> system('r.stats -lc input=landuse96_28m --q')
0 not classified 9
1 High Intensity Developed 283200
2 Low Intensity Developed 309088
3 Cultivated 17347
4 Managed Herbaceous Cover 205883
6 Riverine/Estuarine Herbaceous 246
7 Evergreen Shrubland 133042
8 Deciduous Shrubland 2596
9 Mixed Shrubland 356
10 Mixed Hardwoods 64058
11 Bottomland Hardwoods/Hardwood Swamps 159491
15 Southern Yellow Pine 524056
18 Mixed Hardwoods/Conifers 274120
20 Water Bodies 42854
21 Unconsolidated Sediment 1610
* no data 7044

Přístup k vektorovým datům

Externí odkazy