我有一个las/laz文件,它的点密度为72.91点/平方米,我想使用来自包lidR::voxelize()的{lidR}实现4分/平方米的点密度。
但是,我不知道如何使用给定的参数<res = >来实现这一点。
到目前为止,我已经尝试过:
# original las dataset
original_las
class : LAS (v1.4 format 6)
memory : 5.3 Mb
extent : ??????.?, ??????.?, ???????, ??????? (xmin, xmax, ymin, ymax)
coord. ref. : ETRS89 / UTM zone 32N
area : 828 m²
points : 60.4 thousand points
density : 72.91 points/m²
density : 36.43 pulses/m²
lowres_las <- lidR::voxelize_points(las = original_las,
res = lidR::density(original_las)/18.2275)
# 72.91 points/m² divided by 4 points/m² should bring me
# to a resolution argument of ~18.2275
lowres_las
class : LAS (v1.4 format 6)
memory : 23.9 Kb
extent : ??????.?, ??????.?, ???????, ??????? (xmin, xmax, ymin, ymax)
coord. ref. : ETRS89 / UTM zone 32N
area : 767.9623 m²
points : 304 points
density : 0.4 points/m²
# however, I do not only get the wrong points/m², but also an altered area发布于 2022-06-01 15:30:56
你想要通过在3D中抽取/体化来达到以像素/平方米表示的密度。它认为这是不可能的。如果你想达到每平方米4点,使用decimate_points(),这是为此目的而设计的。
如果你真的想要对和进行体素化,那么你必须用3D来思考。估计每立方米的密度。假设你有20米高的树木和800平方米,这意味着你有大约16000立方米。你想要4分/平方米,所以4×800 = 3200点,或者16000立方米的体素。做数学来估计一个近似解决问题的体素分辨率。
对于改变的区域,稍微考虑一下,你会发现它是预期的。
https://stackoverflow.com/questions/72462228
复制相似问题