我一直在使用FUSION和命令行FUSION Lidar Toolkit(LTK)来处理LiDAR数据。广泛的Google搜索(“ Lidar Python”)产生了libLAS和pyLAS作为Python LiDAR库,但是,这些库似乎仅提供对LAS数据的读写访问。
除了来自点云的冠层曲面模型之外,我对创建强度和密度图像特别感兴趣。Python中是否有一套公认的工具可以完成FUSION LTK能够完成的同类任务?
我一直在使用FUSION和命令行FUSION Lidar Toolkit(LTK)来处理LiDAR数据。广泛的Google搜索(“ Lidar Python”)产生了libLAS和pyLAS作为Python LiDAR库,但是,这些库似乎仅提供对LAS数据的读写访问。
除了来自点云的冠层曲面模型之外,我对创建强度和密度图像特别感兴趣。Python中是否有一套公认的工具可以完成FUSION LTK能够完成的同类任务?
Answers:
我最近发布了一个名为WhiteboxTools的开源(MIT)独立(即无依赖性)库,用于执行多种类型的地理空间分析,包括LiDAR数据处理。该库是用Rust编写的,并广泛支持基于Python的脚本。例如,以下Python脚本使用WhiteboxTools库在LAS文件中填充LiDAR点的RGB颜色数据:
from whitebox_tools import WhiteboxTools
wbt = WhiteboxTools()
wbt.work_dir = "/path/to/data/"
in_lidar = "lidar_data.las"
in_image = "airphoto.tif"
out_lidar = "colourized_lidar.las"
wbt.lidar_colourize(in_lidar, in_image, out_lidar)
WhiteboxTools的LiDAR专用处理工具包括以下功能:
此外,还有许多用于处理从LiDAR源数据中插入的DEM的工具(例如,保留特征的去噪,水电执法等)。详细信息可以在用户手册中找到。源代码可以发现这里和编译的二进制文件是Geomorphometry和Hydrogeomatics网站上,在这里。
GridMetrics
吗?使用LidarPointStats时,是否有任何文档可用于创建网格度量?
尽管不是严格意义上的“ Python”库,而是其他工具(尤其是GRASS)的一组包装器,但我编写了“ ARSF DEM脚本”:
https://github.com/pmlrsg/arsf_dem_scripts
目的之一是为不同的命令行工具(称为使用子进程)提供一组通用的Python函数,并带有method
用于指定工具的标志。
生成DSM,强度和密度图像的示例用法是:
from arsf_dem import dem_lidar
# DSM image (GRASS, points2grid, SPDLib, FUSION or licensed LAStools)
dem_lidar.las_to_dsm('in_las.las', 'out_dsm.tif',
method='points2grid')
# Intensity image (GRASS or licensed version of LAStools)
dem_lidar.las_to_intensity('in_las.las', 'out_intensity.tif',
method='GRASS')
# Density image (GRASS only)
dem_lidar.grass_lidar.las_to_density('in_las.las', 'out_density.tif',
bin_size=10)
通过GRASS Python包装器可以使用很多LiDAR处理工具,这些工具也可以代替/除了可以通过使用的工具之外arsf_dem
。