提问人:Kong_746 提问时间:11/8/2023 最后编辑:Kong_746 更新时间:11/14/2023 访问量:44
如何使用 lidR 均匀化点以减少条纹伪影
How to homogenize points using lidR to reduce streaking artifacts
问:
我正在尝试对航空 LAS 目录进行均质化,以便在大型研究区域内实现一致的点密度。数据集的范围从每米不到 4 个点到每米大于 8 个点不等,许多区域在重叠的地带中具有极值点密度。我计算的某些栅格指标会生成条纹伪影,其中低值像素线出现在高点密度与低点密度的交汇处(请参阅输出 10m IQR 的屏幕截图)。我希望通过使用 中的均质化选项来稀释点以获得更均匀的一致性来解决这个问题。运行此函数时,遇到了另一个问题,即报告抽取成功,但输出文件与输入文件相同。lidR::decimate_points()
summary()
我尝试了多种密度和分辨率组合,以确保我不会犯简单的美英尺到米的转换错误。R 书中提到,试图实现比原始更高的点密度将导致创建相同的文件,但我尝试了一些相当适度的密度/分辨率,但没有运气。
为了确保我的输入切片不会重叠并创建重复点,我还尝试将 调整为更高和更低的值。opt_chunk_size
综上所述:
- 均质化可以消除重叠点边缘的条纹吗?
更新:均质化点没有多大帮助,我怀疑校准/后处理中存在错误
- 为什么 R 表示同质化成功,而输出文件保持不变?
更新:我通过简单地重新启动PC并使用不同的工作目录重新运行代码来解决此问题。
10m 四分位距 [IQR],边缘有条纹,点云叠加,并按 Global Mapper 中可视化的点密度着色
在 R 中:
library(lidR) #lidR version 4.0.4
library(future)
#load normalized LAZ tiles
ctg <- readLAScatalog("path/", filter = "-drop_class 2") #drop ground classes from normalized tiles
opt_chunk_buffer(ctg)<- 200
opt_chunk_size(ctg)<- 0 #maintain chunk size 750m = 2460.63ft
summary(ctg) #input catalog
class : LAScatalog (v1.1 and 1.2 format 1)
extent : x1, x2, y1, y2 (xmin, xmax, ymin, ymax)
coord. ref. : NAD83 / New York Central (ftUS)
area : 2275.8 kus-ft²
points : 10.74 billion points
density : 4.7 points/us-ft²
density : 2.5 pulses/us-ft²
num. files : 422
proc. opt. : buffer: 200 | chunk: 0
input opt. : select: * | filter: -drop_class 2
output opt. : on disk | w2w guaranteed | merging enabled
plan(multisession, workers = 3L)
opt_output_files(ctg)<- paste0("path/retile\_{XLEFT}\_{YBOTTOM}") # select output and naming for tiles
ctg_thinned = decimate_points(ctg, homogenize(density = 1, res= 10.76, use_pulse = FALSE)) #1 pt/~1m^2 in feet
summary(ctg_thinned) #output catalog
class : LAScatalog (v1.1 and 1.2 format 1)
extent : x1, x2, y1, y2 (xmin, xmax, ymin, ymax)
coord. ref. : NAD83 / New York Central (ftUS)
area : 2257.83 kus-ft²
points : 1.69 billion points
density : 0.7 points/us-ft²
density : 0.5 pulses/us-ft²
num. files : 421
proc. opt. : buffer: 5 | chunk: 0
input opt. : select: * | filter: -drop_class 2
答: 暂无答案
评论
opt_output_files(ctg)
grid_density()
ctg
ctg_thinned
summary()