Posso reprojetar um arquivo LAS em LidR
Estou trabalhando com 2 conjuntos de dados LAS 2014 adjacentes fornecidos em 2 projeções:

No entanto, quando eu digito espg (las) minha resposta retornada é 0
Se eu digitar resumo (las) meu coord.Ref .: NA

Desejo reprojetar ambos para NAD83 / UTM18 e processá-los juntos por meio do LiDR. Não estou certo se isso é possível fazer no LiDR. Qual a melhor forma de proceder? Tenho 1000 ladrilhos de 1km para lidar.
Respostas
Você pode atribuir um CRS ao seu objeto LAS com epsg()<-
epsg(las) <- 12345
Você pode reprojetar com, spTransform()
mas esta função está abaixo do ideal em sua implementação atual. Na verdade, ele transforma o LAS
em um SpatialPoints
, usa sp::spTransform()
e atualiza novamente o LAS
. Eu recomendo usar las2las
de LAStools
para este tipo de tarefas de processamento de arquivo LAS, mas para pequenos conjuntos de dados spTransform
pode ser 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 - antes que lidR 3.0.4
a função seja um pouco problemática. Se você verificar las2
, verá que não está mais em conformidade com as especificações. Foi corrigido em lidR 3.0.4
.
las_check(las2)