st_crs2: Retrieve coordinate reference system from sf or sfc object

View source: R/st_crs2.R

st_crs2R Documentation

Retrieve coordinate reference system from sf or sfc object

Description

This function is a wrapper for sf::st_crs, unless threating numeric character strings as integers, and accepting also UTM timezones, paths of spatial files and paths of text files containing WKT like .prj (see details) .

Usage

st_crs2(x, ...)

Arguments

x

numeric, character, or object of class sf or sfc, being:

  • EPSG code: numeric (e.g. 32632) or character (in the form "32632" or "EPSG:32632");

  • UTM zone: numeric (e.g. 32, interpreted as 32 North) or character (e.g. "32" or "32N" for zone 32 North, "32S" for 32 South);

  • WKT test: passed as character string or as path of a text file containing it (e.g. the path of a .prj file);

  • PROJ.4 string, passed as character (e.g. "+proj=utm +zone=32 +datum=WGS84 +units=m +no_defs" (NOTE: this representation is deprecated with PROJ >= 6 – see http://rgdal.r-forge.r-project.org/articles/PROJ6_GDAL3.html – so a warning is returned using it, unless the string contains only the epsg code – e.g. "+init=epsg:32632", in which case the EPSG code is taken);

  • path of a spatial file (managed by sf::st_read or stars::read_stars), passed as character string of length 1;

  • spatial file of class sf or sfc.

...

other parameters passed to sf::st_crs.

Details

See sf::st_crs for details.

Value

An object of class crs of length 2.

Note

License: GPL 3.0

Author(s)

Luigi Ranghetti, phD (2019)

References

L. Ranghetti, M. Boschetti, F. Nutini, L. Busetto (2020). "sen2r": An R toolbox for automatically downloading and preprocessing Sentinel-2 satellite data. Computers & Geosciences, 139, 104473. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1016/j.cageo.2020.104473")}, URL: https://sen2r.ranghetti.info/.

Examples

## CRS from EPSG
st_crs2(32609)
st_crs2("EPSG:32609")

## CRS from UTM zone
st_crs2(9)
st_crs2("09")
st_crs2("9N")
st_crs2("09S")

## CRS from WKT (string or path)
(wkt_32n <- sf::st_as_text(sf::st_crs(32609)))
st_crs2(wkt_32n)
writeLines(wkt_32n, wkt_32n_path <- tempfile())
st_crs2(wkt_32n_path)

## Not run: 
## CRS from spatial file path
raster_path <- system.file(
  "extdata/out/S2A2A_20190723_022_Barbellino_BOA_10.tif", 
  package="sen2r"
)
vector_path <- system.file(
  "extdata/vector/barbellino.geojson", 
  package="sen2r"
)
try( st_crs2(raster_path) )
st_crs2(vector_path)

## CRS from spatial files
st_crs2(stars::read_stars(raster_path))
st_crs2(sf::read_sf(vector_path))

## CRS from PROJ.4 string
# (avoid using this with PROJ >= 6!)
st_crs2("+init=epsg:32609") # this makes use of the EPSG code
st_crs2("+proj=utm +zone=9 +datum=WGS84 +units=m +no_defs")
st_crs2(raster::raster(raster_path)) # st_crs(raster) uses the PROJ.4 as input

## End(Not run)

sen2r documentation built on Nov. 10, 2023, 9:08 a.m.