extract,GRaster,GVector-method | R Documentation |
extract()
obtains the values of a GRaster
or GVector
associated with the locations of a set of points. The output depends on the input:
Case #1: x
is a numeric or integer GRaster
and y
is a points GVector
: Returns values of cells that have points. If xy
is TRUE
, also returns the coordinates of the points.
Case #2: x
is a categorical (factor) GRaster
and y
is a points GVector
: Same as case #1, but if cats
is TRUE
, returns category labels of cells that have points. If xy
is TRUE
, also returns the coordinates of the points.
Case #3: x
is a categorical GRaster
and y
is a lines or polygons GVector
: Returns a summary (e.g., mean, standard deviation, etc.) of all cells that overlap the line(s) or polygon(s).
Case #4: x
is a GVector
and y
is a points GVector
: Returns the data table row associated each point. If xy
is TRUE
, also returns the coordinates of the points.
Note that whenever a points GVector
is allowed for y
, a data.frame
, data.table
, matrix
, or numeric
values representing points can be used instead.
## S4 method for signature 'GRaster,GVector'
extract(
x,
y,
fun = "mean",
prob = 0.5,
overlap = TRUE,
xy = FALSE,
cats = TRUE,
verbose = FALSE,
...
)
## S4 method for signature 'GRaster,data.frame'
extract(x, y, xy = FALSE, cats = TRUE)
## S4 method for signature 'GRaster,data.table'
extract(x, y, xy = FALSE, cats = TRUE)
## S4 method for signature 'GRaster,matrix'
extract(x, y, xy = FALSE, cats = TRUE)
## S4 method for signature 'GRaster,numeric'
extract(x, y, xy = FALSE, cats = TRUE)
## S4 method for signature 'GVector,GVector'
extract(x, y, xy = FALSE, verbose = TRUE)
## S4 method for signature 'GVector,data.frame'
extract(x, y, xy = FALSE, verbose = TRUE)
## S4 method for signature 'GVector,data.table'
extract(x, y, xy = FALSE, verbose = TRUE)
## S4 method for signature 'GVector,matrix'
extract(x, y, xy = FALSE, verbose = TRUE)
## S4 method for signature 'GVector,numeric'
extract(x, y, xy = FALSE)
x |
A |
y |
A |
fun |
Character vector: Name(s) of function(s) to apply to values. This is used when
|
prob |
Numeric in the range from 0 to 1: Quantile which to calculate. The value of |
overlap |
Logical: If |
xy |
Logical: If |
cats |
Logical (extracting from a raster): If |
verbose |
Logical: If |
... |
Arguments to pass to |
A data.frame
or data.table
.
terra::extract()
, and modules r.what
and v.what
in GRASS
if (grassStarted()) {
# Setup
library(sf)
library(terra)
# Example data: elevation raster and points vector
madElev <- fastData("madElev") # raster
madCover <- fastData("madCover") # categorical raster
madDypsis <- fastData("madDypsis") # points vector
madRivers <- fastData("madRivers") # lines vector
madCoast4 <- fastData("madCoast4") # polygons vector
# Convert to fasterRaster formats:
elev <- fast(madElev) # raster
cover <- fast(madCover) # categorical raster
dypsis <- fast(madDypsis) # points vector
rivers <- fast(madRivers) # lines vector
coast <- fast(madCoast4) # polygons vector
# Get values of elevation at points where Dypsis species are located:
extract(elev, dypsis, xy = TRUE)
# Extract from categorical raster at points:
categories <- extract(cover, dypsis)
categoryValues <- extract(cover, dypsis, cats = FALSE)
categories
categoryValues
# Extract and summarize values on a raster across polygons:
extract(elev, coast, fun = c("sum", "mean", "countNonNA"), overlap = FALSE)
# Extract and summarize values on a raster across lines:
extract(elev, rivers, fun = c("sum", "mean", "countNonNA"), overlap = FALSE)
# Extract from a polygons vector at a points vector:
polysFromPoints <- extract(coast, dypsis, xy = TRUE)
head(polysFromPoints) # first 3 are outside polygons vector, next 3 are inside
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.