Get or set the projection of a LAS* object
Get or set the projection of a LAS* object.
epsg(object, ...) epsg(object) <- value ## S4 method for signature 'LASheader' epsg(object, ...) ## S4 replacement method for signature 'LASheader' epsg(object) <- value ## S4 method for signature 'LAS' epsg(object) ## S4 replacement method for signature 'LAS' epsg(object) <- value wkt(object) <- value ## S4 method for signature 'LASheader' wkt(obj) ## S4 replacement method for signature 'LASheader' wkt(object) <- value ## S4 method for signature 'LAS' wkt(obj) ## S4 replacement method for signature 'LAS' wkt(object) <- value ## S4 method for signature 'LASheader' projection(x, asText = TRUE) ## S4 method for signature 'LAS' projection(x, asText = TRUE) ## S4 replacement method for signature 'LAS' projection(x) <- value ## S4 method for signature 'LAScatalog' projection(x, asText = TRUE) ## S4 method for signature 'LASheader' crs(x, asText = FALSE) ## S4 method for signature 'LAS' crs(x, asText = FALSE) ## S4 replacement method for signature 'LAS' crs(x, ...) <- value ## S4 method for signature 'LAScatalog' crs(x, asText = FALSE)
object, x, obj |
An object of class LAS or eventually LASheader (regular users don't need to manipulate LASheader objects). |
... |
Unused. |
value |
A |
asText |
logical. If TRUE, the projection is returned as text. Otherwise a CRS object is returned. |
There are two ways to store the CRS of a point cloud in a LAS file:
Store an EPSG code (for LAS 1.0 to 1.3)
Store a WTK string (for LAS 1.4)
On the other hand, R sptial packages use a proj4string
to store the CRS (but
the ecosystem is moving to WKT). This is why the CRS is duplicated in a LAS object.
The information belongs within the header in a format that can be written in a
LAS file and in the slot proj4string
in a format that can be understood by R
packages.
projection<-
: assigns a CRS from a CRS
(sp
), a crs
(sf
), a WKT
string, a proj4string or an epsg code. It updates the header of the LAS
object either with the EPSG code for LAS formats < 1.4 or with a WKT string
for LAS format 1.4 and updates the proj4string
slot.
projection
: returns the CRS in sp
format
crs
and crs<-
are equivalent to projection
and projection<-
epsg<-
, wkt<-
: legacy functions superseded by projection<-
sf::st_crs
return the CRS in sf
format.
epsg
: reads the epsg code from the header.
wkt
: reads the WKT string from the header.
LASfile <- system.file("extdata", "Megaplot.laz", package="lidR") las <- readLAS(LASfile) # Get the EPSG code stored in the header (returns 0 if not recorded) epsg(las) # Get the WKT string stored in the header (LAS >= 1.4) wkt(las) if (rgdal::new_proj_and_gdal()) { # Get the WKT of the CRS sp::wkt(crs(las)) # Recorded CRS is "NAD83 / UTM zone 17N" sf::st_crs(las)$input } # Overwrite the CRS (but does not reproject) crs <- sp::CRS("+init=epsg:26918") projection(las) <- crs sf::st_crs(las)$input # Uses the EPSG code projection(las) <- 26919 sf::st_crs(las)$input # Uses a crs from sf crs <- sf::st_crs(3035) projection(las) <- crs
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.