我在r中使用lidR包分割了树。分割后的树有一个id与它们相关联。我想知道每棵树有多少个点。我使用while循环来获取每棵树的点,但我只从第一个treeId中获取点。
las <-
segment_trees(las, watershed(
chm,
th_tree = 1,
tol = 0.5,
ext = 2
))
pointlist <- list()
i = 1
while (i < 1000) {
las <- filter_poi(las, treeID == i)
x <- header(las)
y <- x@PHB
points <- y$`Number of point records`
pointlist <- append(pointlist, points)
i <- i + 1
}
pointlist
1条答案
按热度按时间q3aa05251#
你在
while
循环中用las <- filter_poi(las, treeID == i)
覆盖了你原来的las
。如果你把它赋给其他的东西,它能工作吗?