首页
/ GeoTools 33.0 版本发布:GIS数据处理工具的重大更新

GeoTools 33.0 版本发布:GIS数据处理工具的重大更新

2025-06-26 08:51:55作者:凤尚柏Louis

GeoTools 是一个开源的 Java GIS 工具包,为开发人员提供了处理地理空间数据的强大功能。最新发布的 33.0 版本带来了多项重要改进和修复,显著提升了稳定性、性能和功能完整性。

核心功能改进

在数据存储和处理方面,33.0 版本对 Shapefile 性能进行了优化,解决了之前版本中 DBF 文件完全读入内存导致的内存使用问题。对于 MongoDB 插件,修复了过滤器分割可能丢失部分过滤条件的问题。Oracle 数据存储现在能够正确处理 NCLOB 数据类型,而 SQLServerDialect 实现了 getOptimizedBounds 方法,提升了查询效率。

投影系统支持方面,GeostationarySatellite 投影新增了对 "sweep" 参数的支持。坐标转换功能得到增强,现在支持通过 ETRS89 和 NAD83 进行重投影中转,并新增了标志位以优先选择大区域坐标操作而非高精度操作。

标准规范支持

33.0 版本对多种标准规范的支持进行了完善。CQL2 文本和 JSON 实现已与官方规范完全对齐,并升级为正式支持功能。GeoPackage 1.2 标准的支持更加完善,包括正确设置用户版本 pragma 和修复几何类型名称的大小写敏感问题。WMS 和 WMTS 服务的能力文档解析也得到了改进,特别是对 IGN 服务和异常处理的兼容性。

数据处理增强

在数据处理方面,TransformFeatureCollection 现在能正确处理查询属性,解决了之前版本中的遗漏问题。CenterLine 处理算法修复了骨架化过程中可能出现的间隙问题。日期过滤器的处理逻辑得到改进,修复了同一属性名上多个"或"组合日期过滤器不匹配的问题。

性能与稳定性

33.0 版本解决了多个并发问题,包括 WMSCapabilities.getLayerList() 中的并发修改异常、DataAccessFinder 和 DataStoreFinder 之间的死锁问题,以及复杂要素类型注册表的线程安全问题。日志系统也进行了多项改进,包括修正 LogbackLogger 的日志级别比较和升级相关依赖。

新功能与模块

值得注意的新增功能包括支持通过 PROJ Citation 和 Formatter 从 EPSG CRS 生成 proj 字符串。新增了 GeoParquet 数据存储模块(目前标记为不支持),为未来支持这一新兴地理数据格式奠定了基础。

依赖项更新

项目依赖项全面升级,包括:

  • 更新 EPSG 数据库至最新版本 (v11.031)
  • 升级 MySQL 驱动至 9.1.0
  • 替换 commons-httpclient 为 httpcomponents
  • 更新 Oracle JDBC 驱动从 8 到 11
  • 升级 DB2 JDBC 驱动至 12.1.0.0
  • 更新 JAI-EXT 至 1.1.30/1.1.31
  • 升级 ImageIO-EXT 至 1.4.15
  • 更新 Logback 至 1.5.14
  • 升级 Log4j 至 2.24.1 和 SLF4J 至 2.0.16

代码质量与维护

项目代码质量方面,移除了不再维护的 geobuf 模块,全面应用了 Palantir Java 代码格式化标准,包括对 arcgis-rest 模块的专门处理。这些改进使代码库更加整洁统一,便于未来的维护和贡献。

GeoTools 33.0 版本通过这些全面的改进和修复,为地理空间数据处理提供了更强大、更稳定的工具集,特别是对标准规范的支持和性能优化方面取得了显著进展。

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

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
205
2.18 K
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
208
285
pytorchpytorch
Ascend Extension for PyTorch
Python
62
95
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
977
575
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
9
1
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
550
86
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.02 K
399
communitycommunity
本项目是CANN开源社区的核心管理仓库,包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息
393
27
MateChatMateChat
前端智能化场景解决方案UI库,轻松构建你的AI应用,我们将持续完善更新,欢迎你的使用与建议。 官网地址:https://matechat.gitcode.com
1.2 K
133