Learn R Programming

tidyterra (version 1.3.0)

as_sf: Coerce a SpatVector to a sf object

Description

as_sf() coerces a SpatVector into an sf object. It wraps sf::st_as_sf() and preserves groups created with group_by.SpatVector().

Usage

as_sf(x, ...)

Value

A sf object with an additional tbl_df class for pretty printing.

Arguments

x

A SpatVector created with terra::vect().

...

Additional arguments passed to sf::st_as_sf().

See Also

Coercing objects: as_coordinates(), as_spatraster(), as_spatvector(), as_tibble.Spat, fortify.Spat, tidy.Spat

Examples

Run this code

library(terra)

f <- system.file("extdata/cyl.gpkg", package = "tidyterra")
v <- terra::vect(f)

# The input is ungrouped.
v
is_grouped_spatvector(v)

# Get ungrouped data.
a_sf <- as_sf(v)

dplyr::is_grouped_df(a_sf)

# Grouped

v$gr <- c("C", "A", "A", "B", "A", "B", "B")
v$gr2 <- rep(c("F", "G", "F"), 3)

gr_v <- group_by(v, gr, gr2)

gr_v
is_grouped_spatvector(gr_v)

group_data(gr_v)

# An sf object.

a_gr_sf <- as_sf(gr_v)

dplyr::is_grouped_df(a_gr_sf)

group_data(a_gr_sf)

Run the code above in your browser using DataLab