首页
/ PROJ 9.6.1版本发布:地理坐标转换工具的重要更新

PROJ 9.6.1版本发布:地理坐标转换工具的重要更新

2025-06-26 00:50:48作者:温玫谨Lighthearted

PROJ是一个开源的地理坐标转换库,广泛应用于GIS系统和地理空间数据处理领域。它提供了强大的坐标参考系统(CRS)转换功能,支持数千种不同的地理坐标系统和投影方法。作为许多GIS软件(如QGIS、GDAL等)的核心组件,PROJ的每一次更新都会对整个地理信息行业产生重要影响。

主要更新内容

EPSG数据库升级至12.012版本

本次发布的PROJ 9.6.1版本将内置的EPSG数据库升级到了12.012版。EPSG数据库是国际石油天然气生产者协会维护的全球坐标参考系统标准数据库,包含了各种地理坐标系统、投影方法和转换参数的定义。这一更新意味着PROJ现在支持更多最新的坐标系统定义和转换方法,能够更好地满足全球各地用户的需求。

新增PDB文件支持选项

对于Windows平台的开发者,9.6.1版本新增了生成PDB(程序数据库)文件的选项。PDB文件包含了调试信息,对于使用Visual Studio等开发工具进行调试的用户来说非常重要。这一改进使得Windows平台下的PROJ开发调试体验更加完善。

重要错误修复

南向横轴墨卡托投影处理修正

修复了一个关于南向横轴墨卡托投影(South Orientated TMerc)的问题。某些情况下,这种投影会被错误地识别为常规横轴墨卡托投影但带有Scale_Factor=-1参数。这一修复确保了这类特殊投影能够被正确处理。

坐标转换路径优化

在NAD83(CSRS)不同版本间的转换操作中,优化了转换路径,避免了不必要地通过NAD83中间步骤。NAD83(CSRS)是加拿大使用的国家空间参考系统,这一改进提高了加拿大地区坐标转换的精度和效率。

垂直基准面模型获取改进

修正了getGeoidModels函数中关于垂直基准面单位处理的问题。现在能够更准确地获取使用不同单位的垂直坐标参考系统(VCRS)模型,这对于高精度高程转换非常重要。

资源文件管理增强

改进了FileManager::open_resource_file()函数,现在能够正确处理grid_alternatives中定义的非标准资源URL。这一改进增强了PROJ在不同网络环境下的资源获取能力。

投影参数修正

修复了Wagner VI投影参数中的一个错误,确保了这一特殊投影方法的计算准确性。Wagner VI是一种较少使用但特定场景下非常重要的投影方法。

构建系统改进

CMake构建系统优化

针对不同编译器版本改进了CMake配置,特别是避免在不支持C23 #embed特性的旧编译器上错误检测这一特性。这使得PROJ能够在更广泛的编译环境中顺利构建。

Windows平台构建修复

解决了Windows平台上同时设置EMBED_RESOURCE_FILES和USE_ONLY_EMBEDDED_RESOURCE_FILES选项时的构建问题,提高了跨平台构建的稳定性。

数据库更新

本次更新同步了ESRI数据库至ArcGIS Pro 3.5版本,确保与最新版ArcGIS软件的兼容性。同时修复了辅助数据库中的重复条目问题,提高了数据库查询的准确性和效率。

开发者相关改进

代码质量提升

将代码中的裸isnan()调用统一改为std::isnan(),遵循了现代C++的最佳实践。同时增加了必要的头文件包含,如limits和algorithm,提高了代码的可移植性。

跨平台兼容性增强

针对NetBSD系统特别使用了std::abs代替abs,确保在不同平台上的数学计算一致性。这些看似微小的改进实际上对保证PROJ在各种Unix-like系统上的稳定运行至关重要。

PROJ 9.6.1版本虽然是一个小版本更新,但包含了多项重要的功能改进和错误修复,特别是对专业用户关心的坐标转换精度和特殊投影处理进行了优化。对于依赖高精度地理空间计算的用户来说,升级到这个版本将获得更可靠、更精确的坐标转换结果。

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

项目优选

收起
kernelkernel
deepin linux kernel
C
23
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
225
2.26 K
flutter_flutterflutter_flutter
暂无简介
Dart
526
116
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
JavaScript
211
287
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
9
1
frameworksframeworks
openvela 操作系统专为 AIoT 领域量身定制。服务框架:主要包含蓝牙、电话、图形、多媒体、应用框架、安全、系统服务框架。
CMake
795
12
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
986
582
pytorchpytorch
Ascend Extension for PyTorch
Python
67
97
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
566
94
GLM-4.6GLM-4.6
GLM-4.6在GLM-4.5基础上全面升级:200K超长上下文窗口支持复杂任务,代码性能大幅提升,前端页面生成更优。推理能力增强且支持工具调用,智能体表现更出色,写作风格更贴合人类偏好。八项公开基准测试显示其全面超越GLM-4.5,比肩DeepSeek-V3.1-Terminus等国内外领先模型。【此简介由AI生成】
Jinja
42
0