问题标签 [las]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
12 浏览

python - 根据python中的分类值生成点云的一部分

我有一个带有分类点云的 las 文件(假设我有 3 个类)。我想生成 3 个不同的 las 文件,每个文件只包含属于 3 个类中的每一个的点。我该怎么做?

0 投票
1 回答
78 浏览

python - 在python中计算一棵树的云点体积

如何以可接受的精度计算点云(las 文件)的体积?

树点云的可视化(CloudCompare):

我正在尝试使用凸包,但由于我有蒸汽和树叶,所以它是不一致的,因为该算法计算了一个错误的网格。

我的代码是:

通过凸包算法计算的网格的可视化:

为了以正确的方式计算体积,我可以实施哪种解决方案?

是否存在“凹壳”算法?我想它会更好地工作。

0 投票
0 回答
16 浏览

cloud - 根据距离测试将 LAS 点 ID 更改为不同的集群

我有一个果园的 LAS 文件,我正在尝试使用 {lidR} 库中的“segment_tree”函数来分割每棵树。我使用的算法是dalponte2016。

函数输出是每个点都有一个 ID=n,它表示该点是否是 n 树的一部分。结果非常好,但正如您所见,我有一些点转移到不同的树上(图中用白色箭头显示),并且与不同果园行中的错误树相关联。

树分割图。红点代表树梢,黑色背景代表地面。白色代表 N/A 点

我想为算法添加一个功能,以减少这些错误并将这些点关联到同一行中的树(在本例中为果园行)。我考虑过 kNN 算法,但有时到错误质心的距离更短,这让我陷入了死胡同。

也许可以为 LAS 文件“ROW_ID”创建一个新属性,以便每个“tree_ID”必须属于相同的“ROW_ID”。

关于如何实施它的任何想法?

0 投票
0 回答
21 浏览

three.js - Laz 文件和旋转平移坐标

早上好。

我有几个 .laz 文件(从 .ptx 文件生成),我知道在每个文件的前 10 行中,它存在旋转翻译的坐标。像这样:

8975

3365

268.873 606.935 45.2891

-0.983491 -0.180957 0

0.180957 -0.983491 0

0 0 1 -0.983491 -0.180957 0 0

0.180957 -0.983491 0 0

0 0 1 0

268.873 606.935 45.2891 1

......

当我将 PotreeConverter(2.1) 与这些文件一起使用时,然后我在 Potree Viewer(1.8) 中加载这些云时,所有的云都是重叠的。我认为问题在于,当我使用 PotreeConverter 时,不会解释旋转平移坐标的行。

我不知道如何读取 .laz 文件的内容,但如果将文件 .laz 转换为文件 .PTX,那么我可以再次看到文件的首字母行上提供旋转翻译坐标。

有没有办法在 Potree Viewer 中使用旋转平移坐标加载云?

先感谢您。

0 投票
0 回答
8 浏览

arrays - 如何在点云(las文件)中选择比python中的表面(tif)高的点

我在 .las 文件中有一个点云,带有 x、y、z 和强度值。我也有 .tif 格式的 DTM。

我的目标是选择距离地面 10 米的点云点。

如何执行此任务?

0 投票
0 回答
19 浏览

python - 运行回溯错误和缺少文档

我是 Python 的初学者,发现了一些我想测试的代码,因为似乎没有什么对我有用:

在大多数情况下,我的 IDE 似乎没有抛出任何错误。但是说它缺少 .copy .points 等的一些文档。另外,当我运行代码时,我得到:

和:

我究竟做错了什么?我试图适应的代码:https ://gis.stackexchange.com/questions/277317/visualizing-las-with-matplotlib

0 投票
0 回答
11 浏览

r - 如何使用 lidR::clip_circle() 获取具有特定区域的 las 数据集的圆形子集?

要获得具有特定区域的 las 数据集的圆形子集,我想使用 lidR::clip_circular()。为此,我首先计算我的 las 数据集的中心点,然后定义我想要使用的半径,以从我的 las 数据集的质心获得正好 500m^2 的子集。该操作有效并且不会引发任何错误,但是结果不正确,请参阅我的短代码片段末尾的 base::print() 。

我也尝试使用 lidR::clip_roi() ,提供一个代表我感兴趣的区域的多边形,但得到了相同的错误结果。现在我不知道如何继续下去。我可以想象,这是关于我正在使用的 crs (EPSG:25832)或者因为该区域是圆形而不是矩形......

(请注意,由于隐私问题,我已将研究区域的确切位置涂黑。但是,我使用的是 EPSG:25832,这是德国使用的公制 CRS。)