【问题标题】:How to bring las/laz-file to user defined point density [points per squaremeter] using lidR?如何使用lidaR将las / laz文件带入用户定义的点密度[每平方米点数]?
【发布时间】:2022-06-20 06:46:38
【问题描述】:

我有一个点密度为 72.91 点/平方米的 las/laz 文件,我想使用包 {lidR} 中的 lidR::voxelize() 将其点密度设置为 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

【问题讨论】:

    标签: r voxel lidar las lidr


    【解决方案1】:

    您希望通过在 3D 中抽取/体素化来达到以 pts/m² 表示的密度。它认为这甚至是不可能的。如果您想达到 4 pts/m²,请使用专为此目的设计的 decimate_points()

    如果您真的想要体素化达到 4 pts/m²,您必须考虑 3D。估计每立方米的密度。假设你有均匀的 20 m 高的树和 800 m²,这意味着你有大约 16000 m³。您想要 4 pts/m² 所以 4×800 = 3200 个点或 16000 m³ 中的体素。进行数学计算以估计近似解决问题的体素分辨率。

    对于改动过的地方想一想你会发现这是意料之中的

    【讨论】:

      猜你喜欢
      • 2019-04-11
      • 2019-10-03
      • 2020-06-14
      • 2020-08-26
      • 2013-03-28
      • 2015-12-21
      • 2010-11-23
      • 2016-08-29
      • 2021-02-10
      相关资源
      最近更新 更多