如何使用LIDR将LAS/LAZ-FILE带到用户定义的点密度[每平方计的点]?
我有一个LAS/LAZ-FILE,点密度为72.91分/m²,我想使用lidr :: voxelize()
从软件包,我想将其达到4分/m²的点密度/m² “ https://www.rdocumentation.org/packages/lidr/versions/4.0.1” rel =“ nofollow noreferrer”> {lidr}
。
但是,我不知道如何使用给定参数< 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
I have a las/laz-file with a point density of 72.91 points/m² which I want to bring to point density of 4 points/m² using lidR::voxelize()
from package {lidR}
.
However, I do not know how to achieve that with the given argument <res = >
.
What I have tried so far:
# 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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您想通过在3D中衰减/脱氧来达到以PTS/m²表示的密度。它甚至不可能。如果要达到4 pts/m²,则使用
decimate_points()
是为此目的而设计的。如果您真的想在3D中考虑Voxelize 和达到4 pts/m²。估计每立方米的密度。假设您的高度树高和800平方米,则意味着您拥有大约16000立方米。您需要4分/平方米,因此4×800 = 3200点或16000立方米的体素。进行数学以估算大约解决问题的体素分辨率。
对于改变的区域,请考虑一下,您会发现它可以预期
You want to reach a density expressed in pts/m² by decimating/voxelizing in 3D. It don't think it is even possible. If you want to reach 4 pts/m² use
decimate_points()
which is designed for such purpose.If you really want to voxelize and reach 4 pts/m² you must think in 3D. Estimate the density per m³. Assuming you have homogeneously 20 m height trees and 800 m² it means you have approx 16000 m³. You want 4 pts/m² so 4×800 = 3200 points or voxels in 16000 m³. Do the math to estimate a voxel resolution that solve approximately the problem.
For the altered area think about it a bit you will find that it is expected