首页
/ PROJ 9.6.0版本发布:地理空间坐标转换工具的重大更新

PROJ 9.6.0版本发布:地理空间坐标转换工具的重大更新

2025-06-26 11:59:05作者:廉皓灿Ida

项目简介

PROJ是一个功能强大的开源地理空间坐标转换库,广泛应用于GIS(地理信息系统)领域。它提供了坐标转换、地图投影转换以及基准面转换等功能,是许多GIS软件(如QGIS、GDAL等)的核心组件之一。PROJ支持数千种坐标参考系统(CRS)和投影方法,能够处理复杂的地理空间数据转换需求。

PROJ 9.6.0版本核心更新

1. 性能优化与效率提升

新版本在多方面进行了性能优化,显著提升了处理效率:

  • 坐标转换加速proj_factors()函数在重复调用相同复合或投影CRS时速度得到显著提升,这对于需要频繁进行相同类型坐标转换的应用场景尤为重要。

  • 数据库查询优化createOperations()函数避免了对使用未知基准的CRS(通常是PROJ字符串)进行不必要的数据库查找,减少了冗余操作。

  • 内存缓存管理proj_download_file()函数现在会在下载文件后使相关内存缓存失效,确保当前上下文中的数据一致性。

2. 新增投影方法支持

9.6.0版本引入了多种新的地图投影方法:

  • Airocean投影(原Dymaxion投影):这是一种创新的投影方法,能够将地球表面展开为一个近似等面积的二十面体,特别适合全球可视化。

  • Spilhaus投影:专为海洋制图设计的投影方法,能够突出显示全球海洋系统的连通性。

  • 新增对ESRI:54099(WGS_1984_Spilhaus_Ocean_Map_in_Square)投影的PROJ字符串导出支持。

3. 坐标参考系统(CRS)处理增强

  • 复合CRS支持proj_trans_bounds()函数现在能够正确处理目标CRS为复合CRS的情况,扩展了其应用范围。

  • 工程CRS支持:数据库新增了engineering_datumengineering_crs表,并导入了相关EPSG记录,增强了对工程坐标系统的支持。

  • 垂直转换改进:新增对"Vertical Offset by Grid Interpolation (asc)"方法的支持,映射到+proj=vgridshift

4. 数据库与转换方法更新

  • EPSG数据库升级:更新至EPSG v12.004版本,包含最新的坐标参考系统定义。

  • 转换方法扩展:新增对"Coordinate Frame rotation full matrix (geocen)"和"Coordinate Frame rotation full matrix (geog2D)"方法的支持。

  • 网格转换增强:支持新的EPSG方法"Cartesian Grid Offsets by TIN Interpolation (JSON)"和"Vertical Offset by TIN Interpolation (JSON)"。

5. 构建与部署改进

  • C++17标准:项目构建系统升级至C++17版本,利用了现代C++的特性优势。

  • 资源文件嵌入:新增CMake选项EMBED_RESOURCE_FILESUSE_ONLY_EMBEDDED_RESOURCE_FILES,允许将proj.dbproj.ini等资源文件直接嵌入到库中,简化部署。

  • TIF/JSON资源嵌入:通过EMBED_RESOURCE_DIRECTORY选项,可以将.tif/.json文件嵌入到libproj中,提高便携性。

重要问题修复

  1. 坐标转换稳定性:修复了+proj=cass投影在输入坐标等于假东移或假北移值时可能出现的非收敛问题。

  2. 内存管理:修复了proj_clone()函数未能正确传播errorIfBestTransformationNotAvailable等标志的问题。

  3. SSL连接:增加了对"SSL connection timeout"的重试机制,提高了网络操作的可靠性。

  4. ITRF转换:修正了ITRF97到ITRF2014转换文件中的参数错误。

开发者工具增强

  • projinfo改进:现在可以显示操作是否具有时间依赖性,帮助开发者更好地理解转换特性。

  • bash自动补全:为projinfo工具添加了bash补全脚本,提升命令行使用体验。

  • 调试支持:在多网格TIFF文件打开时,将子网格索引附加到网格名称中,便于调试和分析。

总结

PROJ 9.6.0版本在性能、功能和稳定性方面都有显著提升,特别是新增的投影方法和增强的CRS处理能力,使其在地理空间数据处理领域继续保持领先地位。对于GIS开发者和数据分析师来说,升级到这个版本将获得更高效、更可靠的坐标转换体验。无论是处理传统的地图投影需求,还是应对新兴的地理空间数据处理挑战,PROJ 9.6.0都提供了强有力的支持。

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

项目优选

收起
openHiTLS-examplesopenHiTLS-examples
本仓将为广大高校开发者提供开源实践和创新开发平台,收集和展示openHiTLS示例代码及创新应用,欢迎大家投稿,让全世界看到您的精巧密码实现设计,也让更多人通过您的优秀成果,理解、喜爱上密码技术。
C
52
461
kernelkernel
deepin linux kernel
C
22
5
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
349
381
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
7
0
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
131
185
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
873
517
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
336
1.09 K
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
179
264
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
607
59
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
83
4