问题标签 [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.
python - 根据python中的分类值生成点云的一部分
我有一个带有分类点云的 las 文件(假设我有 3 个类)。我想生成 3 个不同的 las 文件,每个文件只包含属于 3 个类中的每一个的点。我该怎么做?
python - 在python中计算一棵树的云点体积
如何以可接受的精度计算点云(las 文件)的体积?
树点云的可视化(CloudCompare):
我正在尝试使用凸包,但由于我有蒸汽和树叶,所以它是不一致的,因为该算法计算了一个错误的网格。
我的代码是:
通过凸包算法计算的网格的可视化:
为了以正确的方式计算体积,我可以实施哪种解决方案?
是否存在“凹壳”算法?我想它会更好地工作。
cloud - 根据距离测试将 LAS 点 ID 更改为不同的集群
我有一个果园的 LAS 文件,我正在尝试使用 {lidR} 库中的“segment_tree”函数来分割每棵树。我使用的算法是dalponte2016。
函数输出是每个点都有一个 ID=n,它表示该点是否是 n 树的一部分。结果非常好,但正如您所见,我有一些点转移到不同的树上(图中用白色箭头显示),并且与不同果园行中的错误树相关联。
树分割图。红点代表树梢,黑色背景代表地面。白色代表 N/A 点
我想为算法添加一个功能,以减少这些错误并将这些点关联到同一行中的树(在本例中为果园行)。我考虑过 kNN 算法,但有时到错误质心的距离更短,这让我陷入了死胡同。
也许可以为 LAS 文件“ROW_ID”创建一个新属性,以便每个“tree_ID”必须属于相同的“ROW_ID”。
关于如何实施它的任何想法?
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 中使用旋转平移坐标加载云?
先感谢您。
arrays - 如何在点云(las文件)中选择比python中的表面(tif)高的点
我在 .las 文件中有一个点云,带有 x、y、z 和强度值。我也有 .tif 格式的 DTM。
我的目标是选择距离地面 10 米的点云点。
如何执行此任务?
python - 运行回溯错误和缺少文档
我是 Python 的初学者,发现了一些我想测试的代码,因为似乎没有什么对我有用:
在大多数情况下,我的 IDE 似乎没有抛出任何错误。但是说它缺少 .copy .points 等的一些文档。另外,当我运行代码时,我得到:
和:
我究竟做错了什么?我试图适应的代码:https ://gis.stackexchange.com/questions/277317/visualizing-las-with-matplotlib
r - 如何使用 lidR::clip_circle() 获取具有特定区域的 las 数据集的圆形子集?
要获得具有特定区域的 las 数据集的圆形子集,我想使用 lidR::clip_circular()。为此,我首先计算我的 las 数据集的中心点,然后定义我想要使用的半径,以从我的 las 数据集的质心获得正好 500m^2 的子集。该操作有效并且不会引发任何错误,但是结果不正确,请参阅我的短代码片段末尾的 base::print() 。
我也尝试使用 lidR::clip_roi() ,提供一个代表我感兴趣的区域的多边形,但得到了相同的错误结果。现在我不知道如何继续下去。我可以想象,这是关于我正在使用的 crs (EPSG:25832)或者因为该区域是圆形而不是矩形......
(请注意,由于隐私问题,我已将研究区域的确切位置涂黑。但是,我使用的是 EPSG:25832,这是德国使用的公制 CRS。)