首页
/ PDAL 2.9.0版本发布:点云数据处理工具的重大更新

PDAL 2.9.0版本发布:点云数据处理工具的重大更新

2025-07-03 09:07:45作者:范垣楠Rhoda

项目简介

PDAL(Point Data Abstraction Library)是一个开源的点云数据处理库,它提供了丰富的点云数据读取、处理和写入功能。作为点云领域的多功能工具,PDAL支持多种点云数据格式,并提供了强大的数据处理管道功能。最新发布的2.9.0版本带来了多项重要更新和功能增强,进一步提升了点云数据处理的能力和效率。

核心更新内容

1. GDAL VSI支持

2.9.0版本新增了对GDAL VSI(虚拟文件系统接口)的支持。这项功能允许用户通过GDAL的虚拟文件系统层访问远程内容。任何以"/vsi"为前缀的文件路径都将通过GDAL的VSI层进行处理。例如,用户现在可以直接从远程URL读取COPC格式的点云数据,而无需先下载到本地。

2. FileSpec规范支持

新版本引入了"FileSpec"规范支持,这是一种通过JSON配置节点控制远程内容访问的新方式。FileSpec使用非VSI的远程文件访问机制,适用于以"http://"或"s3://"为前缀的URL。用户可以在配置中指定路径、请求头和查询参数,为远程数据访问提供了更精细的控制能力。

3. JSON库公共API调整

为了应对nlohmann/json库的数据类型变更可能导致的兼容性问题,PDAL 2.9.0决定完全从公共API中移除nlohmann/json。这一变更确保了当用户在自己的项目中同时使用PDAL和nlohmann/json时,不会因为类型冲突而导致编译问题。

新增处理阶段

本次更新引入了两个全新的处理阶段:

  1. SPZ格式支持:新增了readers.spz和writers.spz阶段,支持Niantic公司的开放3DGS格式。

  2. 超体素过滤:新增了filters.supervoxel阶段,为点云数据提供了超体素分割能力。

功能增强与改进

多线程支持

tindex工具现在支持多线程处理,并新增了查询功能选项,显著提高了大规模点云数据集索引创建的效率。

远程文件支持扩展

多个阶段增强了远程文件支持能力:

  • readers.tindex和readers.stac现在支持FileSpec规范
  • readers.sbet新增远程文件支持
  • 新增本地和远程文件的glob功能支持

时间处理增强

filters.gpstimeconvert阶段新增了对日秒(day seconds)的处理支持,并优化为可流式处理,提高了大规模时间序列数据的处理效率。

表达式过滤改进

filters.expression阶段现在支持对NaN和极值(LOWEST/HIGHEST)的过滤,提供了更灵活的数据筛选能力。

H3网格支持

filters.hexbin阶段新增了基于H3的网格划分功能,为地理空间分析提供了更多选择。

性能与稳定性优化

  1. COPC读取优化:改进了多线程处理机制,增加了大文件下载警告,防止意外下载大量数据。

  2. 几何距离计算修正:修复了filters.geomdistance阶段的初始化和距离比较问题。

  3. 点云密度计算:修正了filters.hexbin阶段的CRS设置问题,确保密度表面输出正确。

  4. 异常处理增强:多个阶段增加了对边缘情况的错误处理和日志记录,提高了稳定性。

开发者相关更新

API变更

  1. 新增了setAllowedDims()到PipelineManager,提供了维度限制能力。

  2. filters.neighborclassifier新增了dimension参数,支持指定分类维度。

构建系统改进

  1. 更新了CMake配置,支持系统提供的GTest。

  2. 修复了与GDAL 3.11.0调试版本的兼容性问题。

  3. 优化了头文件包含策略,减少不必要的依赖。

文档与示例更新

  1. 新增了tindex工具的详细教程。

  2. 增加了多写入器和输出类型的管道配置示例。

  3. 更新了远程文件访问的示例,包括VSI使用示例。

  4. 修正了多处文档错误和表述不清的内容。

总结

PDAL 2.9.0版本在远程数据访问、处理能力、稳定性和开发者体验等方面都有显著提升。新加入的GDAL VSI和FileSpec支持大大简化了云端点云数据的处理流程,而新增的处理阶段和功能增强则为点云分析提供了更多可能性。对于点云数据处理领域的开发者和用户来说,这个版本值得升级。

登录后查看全文
热门项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
139
1.91 K
kernelkernel
deepin linux kernel
C
22
6
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
192
273
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
923
551
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
421
392
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
145
189
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Jupyter Notebook
74
64
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
344
1.3 K
easy-eseasy-es
Elasticsearch 国内Top1 elasticsearch搜索引擎框架es ORM框架,索引全自动智能托管,如丝般顺滑,与Mybatis-plus一致的API,屏蔽语言差异,开发者只需要会MySQL语法即可完成对Es的相关操作,零额外学习成本.底层采用RestHighLevelClient,兼具低码,易用,易拓展等特性,支持es独有的高亮,权重,分词,Geo,嵌套,父子类型等功能...
Java
36
8