PROJ 9.6.1版本发布:地理坐标转换工具的重要更新
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版本虽然是一个小版本更新,但包含了多项重要的功能改进和错误修复,特别是对专业用户关心的坐标转换精度和特殊投影处理进行了优化。对于依赖高精度地理空间计算的用户来说,升级到这个版本将获得更可靠、更精确的坐标转换结果。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C051
MiniMax-M2.1从多语言软件开发自动化到复杂多步骤办公流程执行,MiniMax-M2.1 助力开发者构建下一代自主应用——全程保持完全透明、可控且易于获取。Python00
kylin-wayland-compositorkylin-wayland-compositor或kylin-wlcom(以下简称kywc)是一个基于wlroots编写的wayland合成器。 目前积极开发中,并作为默认显示服务器随openKylin系统发布。 该项目使用开源协议GPL-1.0-or-later,项目中来源于其他开源项目的文件或代码片段遵守原开源协议要求。C01
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7GLM-4.7上线并开源。新版本面向Coding场景强化了编码能力、长程任务规划与工具协同,并在多项主流公开基准测试中取得开源模型中的领先表现。 目前,GLM-4.7已通过BigModel.cn提供API,并在z.ai全栈开发模式中上线Skills模块,支持多模态任务的统一规划与协作。Jinja00
agent-studioopenJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力TSX0126
Spark-Formalizer-X1-7BSpark-Formalizer 是由科大讯飞团队开发的专用大型语言模型,专注于数学自动形式化任务。该模型擅长将自然语言数学问题转化为精确的 Lean4 形式化语句,在形式化语句生成方面达到了业界领先水平。Python00