Extract the WKT version of the CRS associated to a string, number of sf/Spat* object.
The Well-known text (WKT) representation of coordinate reference systems (CRS) is a character string that identifies precisely the parameters of each CRS. This is the current standard used on sf and terra packages.
Arguments
- .data
Input potentially including or representing a CRS. It could be a
sf/sfc
object, aSpatRaster/SpatVector
object, acrs
object fromsf::st_crs()
, a character (for example a proj4 string) or a integer (representing an EPSG code).- ...
ignored
Details
Although the WKT representation is the same, sf and terra API slightly differs. For example, sf can do:
sf::st_transform(x, 25830)
While sf equivalent is:
terra::project(bb, "epsg:25830")
Knowing the WKT would help to smooth workflows when working with different packages and object types.
Internals
This is a thin wrapper of sf::st_crs()
and terra::crs()
.
See also
terra::crs()
, sf::st_crs()
for knowing how these packages handle
CRS definitions.
Other helpers:
compare_spatrasters()
,
is_grouped_spatvector()
,
is_regular_grid()
Examples
# sf objects
sfobj <- sf::st_as_sfc("MULTIPOINT ((0 0), (1 1))", crs = 4326)
fromsf1 <- pull_crs(sfobj)
fromsf2 <- pull_crs(sf::st_crs(sfobj))
# terra
v <- terra::vect(sfobj)
r <- terra::rast(v)
fromterra1 <- pull_crs(v)
fromterra2 <- pull_crs(r)
# integers
fromint <- pull_crs(4326)
# Characters
fromchar <- pull_crs("epsg:4326")
all(
fromsf1 == fromsf2,
fromsf2 == fromterra1,
fromterra1 == fromterra2,
fromterra2 == fromint,
fromint == fromchar
)
#> [1] TRUE
cat(fromsf1)
#> GEOGCRS["WGS 84",
#> ENSEMBLE["World Geodetic System 1984 ensemble",
#> MEMBER["World Geodetic System 1984 (Transit)"],
#> MEMBER["World Geodetic System 1984 (G730)"],
#> MEMBER["World Geodetic System 1984 (G873)"],
#> MEMBER["World Geodetic System 1984 (G1150)"],
#> MEMBER["World Geodetic System 1984 (G1674)"],
#> MEMBER["World Geodetic System 1984 (G1762)"],
#> MEMBER["World Geodetic System 1984 (G2139)"],
#> ELLIPSOID["WGS 84",6378137,298.257223563,
#> LENGTHUNIT["metre",1]],
#> ENSEMBLEACCURACY[2.0]],
#> PRIMEM["Greenwich",0,
#> ANGLEUNIT["degree",0.0174532925199433]],
#> CS[ellipsoidal,2],
#> AXIS["geodetic latitude (Lat)",north,
#> ORDER[1],
#> ANGLEUNIT["degree",0.0174532925199433]],
#> AXIS["geodetic longitude (Lon)",east,
#> ORDER[2],
#> ANGLEUNIT["degree",0.0174532925199433]],
#> USAGE[
#> SCOPE["Horizontal component of 3D system."],
#> AREA["World."],
#> BBOX[-90,-180,90,180]],
#> ID["EPSG",4326]]