as_tibble.Spat {tidyterra} | R Documentation |
Coerce a SpatVector
or SpatRaster
object to data frames
Description
as_tibble()
methods for SpatRaster
and SpatVector
objects.
Usage
## S3 method for class 'SpatRaster'
as_tibble(x, ..., xy = FALSE, na.rm = FALSE, .name_repair = "unique")
## S3 method for class 'SpatVector'
as_tibble(x, ..., geom = NULL, .name_repair = "unique")
Arguments
x |
A |
... |
Arguments passed on to |
xy |
logical. If |
na.rm |
logical. If |
.name_repair |
Treatment of problematic column names:
|
geom |
character or NULL. If not NULL, either "WKT" or "HEX", to get the geometry included in Well-Known-Text or hexadecimal notation. If |
Value
A tibble
.
terra equivalent
Methods
Implementation of the generic tibble::as_tibble()
function.
SpatRaster
and SpatVector
The tibble is returned with an attribute including the crs of the initial
object in WKT format (see pull_crs()
).
About layer/column names
When coercing SpatRaster
objects to data frames, x
and y
names are
reserved for geographic coordinates of each cell of the SpatRaster
It
should be also noted that terra allows layers with duplicated
names.
In the process of coercing a SpatRaster
to a tibble, tidyterra
may rename the layers of your SpatRaster
for overcoming this issue.
Specifically, layers may be renamed on the following cases:
Layers with duplicated names.
When coercing to a tibble, if
xy = TRUE
, layers namedx
ory
would be renamed.When working with tidyverse methods (i.e.
filter.SpatRaster()
), the latter would happen as well.
tidyterra would display a message informing of the changes on the names of the layer.
The same issue happens for SpatVector
with names geometry
(when
geom = c("WKT", "HEX")
) and x
, y
(when geom = "XY"
). These are
reserved names representing the geometry of the SpatVector
(see
terra::as.data.frame()
). If geom
is not NULL
then the logic described
for SpatRaster
would apply as well for the columns of the SpatVector
.
See Also
tibble::as_tibble()
, terra::as.data.frame()
Coercing objects:
as_coordinates()
,
as_sf()
,
as_spatraster()
,
as_spatvector()
,
fortify.Spat
Examples
library(terra)
# SpatRaster
f <- system.file("extdata/cyl_temp.tif", package = "tidyterra")
r <- rast(f)
as_tibble(r, na.rm = TRUE)
as_tibble(r, xy = TRUE)
# SpatVector
f <- system.file("extdata/cyl.gpkg", package = "tidyterra")
v <- vect(f)
as_tibble(v)