首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用lidR将las/laz文件带给用户定义的点密度[每平方米点数]?

如何使用lidR将las/laz文件带给用户定义的点密度[每平方米点数]?
EN

Stack Overflow用户
提问于 2022-06-01 12:50:29
回答 1查看 44关注 0票数 0

我有一个las/laz文件,它的点密度为72.91点/平方米,我想使用来自包lidR::voxelize(){lidR}实现4分/平方米的点密度。

但是,我不知道如何使用给定的参数<res = >来实现这一点。

到目前为止,我已经尝试过:

代码语言:javascript
复制
# 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
EN

回答 1

Stack Overflow用户

发布于 2022-06-01 15:30:56

你想要通过在3D中抽取/体化来达到以像素/平方米表示的密度。它认为这是不可能的。如果你想达到每平方米4点,使用decimate_points(),这是为此目的而设计的。

如果你真的想要对进行体素化,那么你必须用3D来思考。估计每立方米的密度。假设你有20米高的树木和800平方米,这意味着你有大约16000立方米。你想要4分/平方米,所以4×800 = 3200点,或者16000立方米的体素。做数学来估计一个近似解决问题的体素分辨率。

对于改变的区域,稍微考虑一下,你会发现它是预期的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72462228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档