我正在尝试学习如何在 R 中的 lidR 包中使用 catalog() 的选项。我想直接保存处理过的文件,例如,在目录上使用 grid_terrain() 函数并保存保持文件名的文件原始 LAZ/LAS 文件。
正如您在包指南中看到的那样,目录可以选择使用 {XBOTTOM}_{ID} 之类的内容保存文件:
# Internal engine will not return results into R. Instead it will write results in files.
opt_output_files(ctg) <- "/path/to/folder/templated_filename_{XBOTTOM}_{ID}
我想使用相同的文件名保存文件,但是,我不知道如何在 opt_output_files() 选项中使用 {} 配置该部分。我尝试了几件事,例如:opt_output_files(cat) <- paste0(output,"/{data$filename}")
但是,它不起作用。
lasdir <- "C:/lazfiles"
output <- "C:/output"
cat <- catalog(lasdir)
lasfiles <- cat@data$filename #with this you can see the filenames
opt_progress(cat) <- TRUE
opt_output_files(cat) <- paste0(output,"/{data$filename}")
opt_cores(cat) <- 3
opt_chunk_buffer(cat) <- 20
#function that I want to use over the catalog files
mdt <- grid_terrain(cat, res = 5, algorithm = "knnidw"(k = 5, p = 2))