Czy mogę ponownie wyświetlić plik LAS w LidR

Aug 16 2020

Pracuję z 2 sąsiednimi zbiorem danych LAS z 2014 r. Podanymi w 2 rzutach:

Jednak kiedy wpisuję espg (las), moja odpowiedź to 0

Jeśli wpiszę podsumowanie (las) mój koordynator Ref .: NA

Chciałbym ponownie zaprojektować oba te elementy na NAD83 / UTM18 i przetworzyć je razem za pomocą LiDR. Nie jestem pewien, czy można to zrobić w LiDR? Jak najlepiej postępować? Mam 1000 płytek o długości 1 km.

Odpowiedzi

3 JRR Aug 17 2020 at 04:02

Możesz przypisać CRS do obiektu LAS za pomocą epsg()<-

epsg(las) <- 12345

Możesz ponownie projektować za pomocą, spTransform()ale ta funkcja jest nieoptymalna w swojej obecnej implementacji. W rzeczywistości przekształca LASplik w a SpatialPoints, używa sp::spTransform()i aktualizuje plik LAS. Polecam używać las2lasz LAStoolsdo tego rodzaju zadań przetwarzania plików LAS, ale dla małych zbiorów danych spTransformmoże być wygodne.

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²

Uwaga - zanim lidR 3.0.4funkcja jest trochę błędna. Jeśli sprawdzisz las2, zobaczysz, że nie jest już ściśle zgodny ze specyfikacjami. Zostało to naprawione w lidR 3.0.4.

las_check(las2)