Me gustaría convertir esta nube de puntos de pies estadounidenses a metros. Metadatos de la nube de puntos aquí .
Primero pensé en convertirlo correctamente reproyectando a un CRS métrico pero esto me causó muchos problemas. Ver los siguientes posts (en su orden de publicación) :
- Transformación no finita detectada - lidR spTransform
- "Transformación no finita detectada" usando sp R
- Reproyección mediante WKT sólo para el SIR horizontal
Pero básicamente, lo que quiero son nubes de puntos métricas. Así que se me ocurrió la idea de convertir simplemente las coordenadas XYZ de la nube de puntos utilizando las_rescale()
de lidR
R
paquete:
library(lidR)
tmp_las <- readLAS('./USGS_LPC_CA_FEMA_R9_Russian_2017_LAS_2018.laz')
tmp_las_RS <- las_rescale(tmp_las,xscale = 0.3048 , yscale = 0.3048, zscale = 0.3048)
#> X coordinates were moved by 0.0762 on average
#> Y coordinates were moved by 0.0762 on average
#> Z coordinates were moved by 0.0762 on average
Pero las cabeceras no lo tienen en cuenta
tmp_las_RS
#> class : LAS (v1.2 format 3)
#> memory : 618.7 Mb
# extent : 6268117, 6270217, 1998802, 2000902 (xmin, xmax, ymin, ymax)
#> coord. ref. : +proj=lcc +lat_0=37.6666666666667 +lon_0=-122 +lat_1=39.8333333333333 +lat_2=38.3333333333333 +x_0=2000000.0001016 +y_0=500000.0001016 +ellps=GRS80 +units=us-ft +no_defs
#> area : 4.41 kus-ft²
#> points : 7.05 million points
#> density : 1.6 points/us-ft²
¿Hay alguna forma mejor de hacerlo a través de lidR?