rgrass.Rd
Interpreted interface between GRASS geographical information system, versions 7 and 8, and R, based on starting R from within the GRASS environment, or on running R stand-alone and creating a throw-away GRASS environment from within R. The interface uses classes defined in the sp package to hold spatial data.
Index:
read_RAST read GRASS raster files
write_RAST write GRASS raster files
read_VECT read GRASS vector object files
write_VECT write GRASS vector object files
gmeta read GRASS metadata from the current LOCATION
getLocationProj return a WKT2 string of projection information
gmeta2grd create a GridTopology object from the GRASS region
vInfo return vector geometry information
vColumns return vector database columns information
vDataCount return count of vector database rows
vect2neigh return area neighbours with shared boundary length
Note that the examples now use the smaller subset North Carolina location: https://grass.osgeo.org/sampledata/north_carolina/nc_basic_spm_grass7.tar.gz
run <- FALSE
if (nchar(Sys.getenv("GISRC")) > 0 &&
read.dcf(Sys.getenv("GISRC"))[1,"LOCATION_NAME"] == "nc_basic_spm_grass7") run <- TRUE
Sys.setenv("_SP_EVOLUTION_STATUS_"="2")
run <- run && require("terra", quietly=TRUE) && require("sp", quietly=TRUE)
if (run) {
grd <- gmeta2grd(ignore.stderr=TRUE)
grd
}
#> X1 X2
#> cellcentre.offset 630005 215005
#> cellsize 10 10
#> cells.dim 1500 1350
if (run) {
elevation <- read_RAST("elevation", ignore.stderr=TRUE)
}
if (run) {
set.seed(1)
smple <- spatSample(ext(elevation), lonlat=is.lonlat(elevation), size=200,
method="random", as.points=TRUE)
values(smple) <- extract(elevation, smple)[,2]
smple
}
#> class : SpatVector
#> geometry : points
#> dimensions : 200, 1 (geometries, attributes)
#> extent : 630018.8, 644843.7, 215167.3, 228487.3 (xmin, xmax, ymin, ymax)
#> coord. ref. :
#> names : value
#> type : <num>
#> values : 107.2
#> 129.3
#> 118.3
if (run) {
write_VECT(smple, "sp_dem", flags=c("overwrite", "o"), ignore.stderr=TRUE)
}
#> Warning: GDAL Message 6: dataset /tmp/grass8-rsb-156212/RtmplaphF9/file270e6764cb132.gpkg does not support layer creation option ENCODING
#> WARNING: Vector map <sp_dem> already exists and will be overwritten
if (run) {
schoolsDF <- read_VECT("schools", ignore.stderr=TRUE)
summary(schoolsDF)
}
#> cat TAG NAMESHORT NAMELONG
#> Min. : 1.0 Length:167 Length:167 Length:167
#> 1st Qu.: 42.5 Class :character Class :character Class :character
#> Median : 84.0 Mode :character Mode :character Mode :character
#> Mean : 84.0
#> 3rd Qu.:125.5
#> Max. :167.0
#>
#> CORECAPACI MOBILEUNIT MOBILECAPA GLEVEL
#> Min. : 0.0 Min. : 0.000 Min. :0.00 Length:167
#> 1st Qu.: 498.5 1st Qu.: 0.000 1st Qu.:0.75 Class :character
#> Median : 586.0 Median : 6.000 Median :1.50 Mode :character
#> Mean : 763.7 Mean : 7.318 Mean :1.75
#> 3rd Qu.: 903.0 3rd Qu.:11.000 3rd Qu.:2.50
#> Max. :2294.0 Max. :49.000 Max. :4.00
#> NA's :23 NA's :19 NA's :163
#> LOGRADE HIGRADE CALENDAR HASBASE
#> Length:167 Length:167 Length:167 Length:167
#> Class :character Class :character Class :character Class :character
#> Mode :character Mode :character Mode :character Mode :character
#>
#>
#>
#>
#> ISMAGNET PHONE ADDRNUMBER ADDRPREFIX
#> Length:167 Length:167 Length:167 Length:167
#> Class :character Class :character Class :character Class :character
#> Mode :character Mode :character Mode :character Mode :character
#>
#>
#>
#>
#> ADDRROOT ADDRTYPE ADDRSUFFIX ADDRCITY
#> Length:167 Length:167 Length:167 Length:167
#> Class :character Class :character Class :character Class :character
#> Mode :character Mode :character Mode :character Mode :character
#>
#>
#>
#>
#> ADDRZIPCOD SPED STATUS NODEID
#> Length:167 Min. : NA Length:167 Length:167
#> Class :character 1st Qu.: NA Class :character Class :character
#> Mode :character Median : NA Mode :character Mode :character
#> Mean :NaN
#> 3rd Qu.: NA
#> Max. : NA
#> NA's :167
#> CAPACITYTO ESL BOARDDIS2 PROJ_CAP
#> Min. : 0.0 Length:167 Length:167 Min. : 0.0
#> 1st Qu.: 543.0 Class :character Class :character 1st Qu.: 497.0
#> Median : 761.0 Mode :character Mode :character Median : 722.0
#> Mean : 867.0 Mean : 793.1
#> 3rd Qu.: 992.5 3rd Qu.: 975.0
#> Max. :2294.0 Max. :2390.0
#> NA's :20 NA's :2
#> NOTES
#> Length:167
#> Class :character
#> Mode :character
#>
#>
#>
#>
if (run) {
vInfo("streams", ignore.stderr=TRUE)
}
#> nodes points lines boundaries centroids areas islands
#> 8645 0 8554 0 0 0 0
#> primitives map3d
#> 8554 0
if (run) {
vColumns("streams", ignore.stderr=TRUE)
}
#> storageType name
#> 1 INTEGER cat
#> 2 DOUBLE PRECISION FNODE_
#> 3 DOUBLE PRECISION TNODE_
#> 4 DOUBLE PRECISION LPOLY_
#> 5 DOUBLE PRECISION RPOLY_
#> 6 DOUBLE PRECISION LENGTH
#> 7 DOUBLE PRECISION FULL_HYDRO
#> 8 DOUBLE PRECISION FULL_HYD_1
#> 9 CHARACTER FTYPE
#> 10 INTEGER FCODE
#> 11 CHARACTER NAME
#> 12 CHARACTER RCH_CODE
#> 13 CHARACTER I_vs_P
#> 14 CHARACTER USGSstrm
if (run) {
vDataCount("streams", ignore.stderr=TRUE)
}
#> [1] 8554
if (run) {
streams <- read_VECT("streams", type="line", ignore.stderr=TRUE)
summary(streams)
}
#> cat FNODE_ TNODE_ LPOLY_
#> Min. : 40102 Min. : 42043 Min. : 42046 Min. :0.0000
#> 1st Qu.: 75598 1st Qu.: 79168 1st Qu.: 79172 1st Qu.:0.0000
#> Median : 83078 Median : 86896 Median : 86888 Median :0.0000
#> Mean : 77835 Mean : 81394 Mean : 81395 Mean :0.6937
#> 3rd Qu.: 95135 3rd Qu.: 99410 3rd Qu.: 99410 3rd Qu.:2.0000
#> Max. :101347 Max. :105801 Max. :105800 Max. :2.0000
#> RPOLY_ LENGTH FULL_HYDRO FULL_HYD_1
#> Min. :0.0000 Min. : 0.001 Min. : 40102 Min. : 84728
#> 1st Qu.:0.0000 1st Qu.: 60.370 1st Qu.: 75598 1st Qu.:163202
#> Median :0.0000 Median : 171.338 Median : 83078 Median :211732
#> Mean :0.6937 Mean : 293.022 Mean : 77835 Mean :186607
#> 3rd Qu.:2.0000 3rd Qu.: 395.517 3rd Qu.: 95135 3rd Qu.:228227
#> Max. :2.0000 Max. :3966.165 Max. :101347 Max. :234417
#> FTYPE FCODE NAME RCH_CODE
#> Length:8554 Min. :33400 Length:8554 Length:8554
#> Class :character 1st Qu.:33600 Class :character Class :character
#> Mode :character Median :46000 Mode :character Mode :character
#> Mean :43347
#> 3rd Qu.:46000
#> Max. :55800
#> I_vs_P USGSstrm
#> Length:8554 Length:8554
#> Class :character Class :character
#> Mode :character Mode :character
#>
#>
#>