我试图使用LiDAR数据(1.7GB对象)和tree tops对象通过locate_trees函数手动识别/更正树。问题的一部分是:
4 GB Nvidia 3050应该能够处理它。rgl是自动使用GPU还是默认为主板上的集成图形?有办法加快渲染速度吗?
我的其他系统规范是Corei9 (14个线程)和64 GB内存。此外,我使用的是R 4.2.1。
代码:
library(lidR)
# Import LiDAR data
LiDAR_File = readLAS("path/file_name.las")
# Find tree tops
TTops = find_trees(LiDAR_File , lmf(ws = 15, hmin = 5))
# Manually correct tree identification
TTops_Manual = locate_trees(LiDAR_File , manual(TTops)) # This is where rgl rendering becomes too slow if there are too many points involved. 发布于 2022-08-04 19:31:58
这里有两个问题。首先,用于选择树的lidR::manual()函数有一个循环,其中为每个树绘制一个球。默认情况下,rgl会在每次更改后重新绘制整个场景;这应该被抑制。https://github.com/r-lidar/lidR/pull/611中的修补程序修复了这个问题。您可以将此修补程序的版本安装为
remotes::install_github("r-lidar/lidR")其次,rgl在绘制数据的初始点云时有些效率低下,不必要地重复数据。当你有数千万的点数时,这会耗尽所有的R内存,并且事情会缓慢地爬行。rgl的开发版本修复了这个问题。它可以通过
remotes::install_github("dmurdoch/rgl")LiDAR图像非常大,因此您可能会发现即使在这些更改中仍然存在问题。获得更多的常规RAM将有助于R:如果第一次显示的时间太长,您可能需要这样做。在第一次显示之后,几乎所有的工作都是在图形系统中完成的;如果事情仍然太慢,您可能需要一个更快的显卡(或更多的内存)。
发布于 2022-08-03 22:34:54
rgl很难显示太多的点。plot函数在lidR中是方便的,允许生成现成的发布插图,但不能代替大点云的真正点云查看器。我的电脑上没有GPU,我也不知道rgl是否以及如何利用GPU。
在您正在讨论的lidR函数的文档中,您可以看到:
这只适用于小型地块
https://stackoverflow.com/questions/73225889
复制相似问题