0

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

segmented_trees_las_silva <- lidR::segment_trees(nlas_trees,
                             silva2016(chm,ttops, max_cr_factor = 1.2,
                             ID = "treeID"))

segmented_plot = plot(segmented_trees_las_silva, color = "treeID")
add_treetops3d(segmented_plot, ttops)

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

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

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

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

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

4

0 回答 0