Posso riprogettare un file LAS in LidR
Sto lavorando con 2 dataset LAS 2014 adiacenti forniti in 2 proiezioni:

Tuttavia, quando digito espg (las) la mia risposta restituita è 0
Se digito riepilogo (las) il mio rif. Coord .: NA

Desidero riproiettare entrambi su NAD83 / UTM18 ed elaborarli insieme tramite LiDR. Non sono chiaro se è possibile farlo in LiDR? Qual è il modo migliore per procedere? Ho 1000 tessere da 1 km da affrontare.
Risposte
Puoi attribuire un SR al tuo oggetto LAS con epsg()<-
epsg(las) <- 12345
È possibile riprogettare con spTransform()
ma questa funzione non è ottimale nella sua implementazione corrente. In realtà trasforma il LAS
in un SpatialPoints
, utilizza sp::spTransform()
e aggiorna il file LAS
. Consiglio di utilizzare las2las
da LAStools
per questo tipo di attività di elaborazione dei file LAS, ma per piccoli set di dati spTransform
può essere conveniente.
library(lidR)
LASfile <- system.file("extdata", "Megaplot.laz", package="lidR")
las = readLAS(LASfile)
las
#> class : LAS (v1.2 format 1)
#> memory : 6.2 Mb
#> extent : 684766.4, 684993.3, 5017773, 5018007 (xmin, xmax, ymin, ymax)
#> coord. ref. : +proj=utm +zone=17 +datum=NAD83 +units=m +no_defs
#> area : 53112.69 m²
#> points : 81.6 thousand points
#> density : 1.54 points/m²
las2 = spTransform(las, sp::CRS(SRS_string = "EPSG:26918"))
las2
#> class : LAS (v1.2 format 1)
#> memory : 6.2 Mb
#> extent : 214261.7, 214504.9, 5021517, 5021767 (xmin, xmax, ymin, ymax)
#> coord. ref. : +proj=utm +zone=18 +datum=NAD83 +units=m +no_defs
#> area : 53174.62 m²
#> points : 81.6 thousand points
#> density : 1.53 points/m²
Nota : prima che lidR 3.0.4
la funzione sia un po 'buggata. Se controlli las2
vedrai che non è più strettamente conforme alle specifiche. È stato risolto in lidR 3.0.4
.
las_check(las2)