Extract values from a SpatRaster, SpatVector or SpatExtent
subset_single.Rd
Extract values from a SpatRaster; a subset of records (row) and/or variables (columns) from a SpatVector; or a number from a SpatExtent.
You can use indices (row, column, layer or cell numbers) to extract. You can also use other Spat* objects.
Usage
# S4 method for class 'SpatRaster,ANY,ANY,ANY'
x[i, j, k]
# S4 method for class 'SpatVector,numeric,numeric'
x[i, j, drop = FALSE]
# S4 method for class 'SpatVector,SpatVector,missing'
x[i, j]
# S4 method for class 'SpatExtent,numeric,missing'
x[i, j]
Arguments
- x
SpatRaster, SpatVector or SpatExtent
- i
if
x
is aSpatRaster
: numeric, logical or missing to select rows or, ifj
is missing, to select cells numbers.if
x
is aSpatVector
: numeric or missing to select rows. ifi
is another SpatVector: get a new SpatVector with the geometries that intersect.if
x
is aSpatExtent
: integer between 1 and 4.- j
numeric, logical, or missing to select columns
- k
numeric, character, or missing to select layers
- drop
logical. If
FALSE
an object of the same class asx
is returned
Examples
### SpatRaster
f <- system.file("ex/elev.tif", package="terra")
r <- rast(f)
r[3638]
#> elevation
#> 1 473
rowColFromCell(r, 2638)
#> [,1] [,2]
#> [1,] 28 73
r[39, 28]
#> elevation
#> 1 473
x <- r[39:40, 28:29, drop=FALSE]
as.matrix(x, wide=TRUE)
#> [,1] [,2]
#> [1,] 473 429
#> [2,] 430 436
### SpatVector
v <- vect(system.file("ex/lux.shp", package="terra"))
v[2:3,]
#> class : SpatVector
#> geometry : polygons
#> dimensions : 2, 6 (geometries, attributes)
#> extent : 5.746118, 6.315773, 49.69933, 49.98745 (xmin, xmax, ymin, ymax)
#> coord. ref. : lon/lat WGS 84 (EPSG:4326)
#> names : ID_1 NAME_1 ID_2 NAME_2 AREA POP
#> type : <num> <chr> <num> <chr> <num> <int>
#> values : 1 Diekirch 2 Diekirch 218 32543
#> 1 Diekirch 3 Redange 259 18664
v[1:2, 2:3]
#> class : SpatVector
#> geometry : polygons
#> dimensions : 2, 2 (geometries, attributes)
#> extent : 5.826232, 6.315773, 49.78479, 50.18162 (xmin, xmax, ymin, ymax)
#> coord. ref. : lon/lat WGS 84 (EPSG:4326)
#> names : NAME_1 ID_2
#> type : <chr> <num>
#> values : Diekirch 1
#> Diekirch 2
v[1:2, 2:3, drop=TRUE]
#> NAME_1 ID_2
#> 1 Diekirch 1
#> 2 Diekirch 2