Могу ли я перепроецировать файл LAS в LidR
Я работаю с двумя смежными наборами данных LAS за 2014 год, представленными в двух прогнозах:
Однако, когда я набираю espg (las), я возвращаю 0
Если я наберу резюме (las), мой координатор Ссылка: Н / Д
Я хочу перепроецировать их на NAD83 / UTM18 и обрабатывать их вместе с помощью LiDR. Мне непонятно, можно ли это сделать в LiDR? Как лучше действовать? У меня есть 1000 плиток длиной 1 км.
Ответы
Вы можете связать CRS с вашим объектом LAS с помощью epsg()<-
epsg(las) <- 12345
Вы можете перепроектировать, spTransform()но эта функция неоптимальна в текущей реализации. Он фактически преобразует LASобъект в файл SpatialPoints, использует sp::spTransform()и обновляет LAS. Я рекомендую использовать las2lasfrom LAStoolsдля такого рода задач обработки файлов LAS, но для небольших наборов данных spTransformможет быть удобно.
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²
Обратите внимание - раньше lidR 3.0.4функция немного глючная. Если вы проверите, las2то увидите, что он больше не соответствует спецификациям. Это было исправлено в lidR 3.0.4.
las_check(las2)