GRASS/R: Porovnání verzí

Z GeoWikiCZ
m (Obsah stránky nahrazen textem „{{freegis|GRASS GIS / Propojení s R}}“)
 
(Není zobrazeno 47 mezilehlých verzí od stejného uživatele.)
Řádek 1: Řádek 1:
{{Upravit}}
{{freegis|GRASS GIS / Propojení s R}}
Tato stránka je věnována propojení [[GRASS GIS]] a [http://www.r-project.org R].
 
[[Image:Rlogo.png|100px|left]]
[http://www.r-project.org R] je programovací jazyk a prostředí určené pro ''statistickou analýzu dat a jejich grafické zobrazení''. Jde o implementaci programovacího jazyka [http://en.wikipedia.org/wiki/S_(programming_language) 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 [http://en.wikipedia.org/wiki/RKWard RKWard], [http://en.wikipedia.org/wiki/R_Commander R Commander] nebo rozšíření do OpenOffice.org Calcu [http://extensions.services.openoffice.org/project/R4Calc R4Calc].
 
R bývá také propojováno či využíváno v komerčních softwarech, např. v prostředí [http://cs.wikipedia.org/wiki/PASW PASW] mohou uživatelé přímo psát a spouštět programy v jazyce R nad otevřenými daty.
 
Další informace na [http://en.wikipedia.org/wiki/R_(programming_language) wikipedii].
__TOC__
== Balíčky pro analýzu geoprostorových dat ==
 
R nabízí až více než [http://cran.mirroring.de/web/packages/ 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.
 
* '''[http://cran.mirroring.de/web/packages/sp/index.html sp]''' - základní balíček definující třídy a metody pro práci s prostorovými daty
 
* [http://cran.mirroring.de/web/packages/maptools/index.html maptools] - manipulace s prostorovými objekty
 
* [http://cran.mirroring.de/web/packages/maps/index.html maps] - vykreslování map
 
* [http://cran.mirroring.de/web/packages/spatial/index.html spatial] - Kriging
 
* [http://cran.mirroring.de/web/packages/spatstat/index.html spatstat] - analýza bodových výskytů
 
* [http://cran.mirroring.de/web/packages/splancs/index.html splancs] - analýza bodových výskytů v čase
 
* [http://cran.mirroring.de/web/packages/spdep/index.html spdep] - autokorelace prostorových objektů
 
* [http://cran.mirroring.de/web/packages/gstat/index.html gstat] - geostatistické modelování
 
* [http://cran.mirroring.de/web/packages/geoR/index.html geoR] - analýza geostatistických dat
 
* [http://cran.mirroring.de/web/packages/fields/index.html fields] - analýza geoprostorových dat
 
* [http://cran.mirroring.de/web/packages/spatialCovariance/index.html spatialCovariance] - výpočet kovariační matice prostorových dat
 
* [http://cran.mirroring.de/web/packages/RArcInfo/index.html RArcInfo] - import dat ve formátu ArcInfo Coverage
 
* [http://cran.mirroring.de/web/packages/shapefiles/index.html shapefiles] - čtení a zápis ESRI Shapefile
 
* [http://cran.mirroring.de/web/packages/RColorBrewer/index.html RColorBrewer] - tabulky barev optimalizované pro tématické mapy
 
* '''[http://cran.mirroring.de/web/packages/spgrass6/index.html spgrass6]''' - rozhraní pro GRASS GIS 6+
 
* '''[http://cran.mirroring.de/web/packages/rgdal/index.html rgdal]''' - rozhraní pro knihovnu [[GDAL/OGR|GDAL]]
 
<center>
{|class="border"
|+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
|-
|}
</center>
 
== spgrass6 ==
 
[http://cran.mirroring.de/web/packages/spgrass6/index.html Spgrass6] je rozšířením balíčku [http://cran.mirroring.de/web/packages/sp/index.html 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 [http://cran.mirroring.de/web/packages/rgdal/index.html 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)
 
<pre>
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
</pre>
 
Pro spuštění GRASS modulů se používá funkce <code>system</code>, např.
 
> system('g.region -p')
 
<pre>
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
</pre>
 
== 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 <code>summary()</code>.
 
> summary(elev)
 
<pre>
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
</pre>
 
V případě klasifikovaných rastrových dat použijeme parametr 'CAT', např.
 
> lu <- readRAST6('landuse96_28m', cat = TRUE)
> summary(lu)
 
<pre>
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
</pre>
 
Poznámka: Statistika kategorií odpovídá příkazu <code>r.stats -lc</code>.
 
> system('r.stats -lc input=landuse96_28m --q')
 
<pre>
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
</pre>
 
== Přístup k vektorovým datům ==
 
== Externí odkazy ==
* [http://www.stanford.edu/~cengel/spatialanthro/archives/R_GRASS_Spatial.pdf R, GRASS, and Spatial Analysis]
* [http://grass.osgeo.org/newsletter/GRASSNews_vol3.pdf GRASS Newsletter vol. 3]
** Roger Bivand: Interfacing GRASS 6 and R
 
{{GFOSS}}
{{GRASS}}

Aktuální verze z 10. 9. 2013, 20:08