3.3 后与 2.2 后的不同结果

问题描述 投票:0回答:1

当我升级到 postGIS 3.3 时,我得到了不同的结果。最终为了缩小问题范围,我进行了从 SRID 900913 到 4316 的简单转换,令我惊讶的是,我得到了不同的结果。

见下文

postgres 15 上的 postgis 3.3.3

gis=# select ST_AsText(ST_Transform('010100002031BF0D00CDCCCC1CD50E5F41EC51B81E6583F2C0'::geometry(Geometry,900913),4326));
                  st_astext                  
---------------------------------------------
 POINT(73.13770833824148 -0.685769673774372)

postgres 9.5 上的 postgis 2.2.1

gis=# select ST_AsText(ST_Transform('010100002031BF0D00CDCCCC1CD50E5F41EC51B81E6583F2C0'::geometry(Geometry,900913),4326));
                 st_astext                  
--------------------------------------------
 POINT(73.1377083382415 -0.681179307212437)

我已将问题范围缩小到一个简单的查询,该查询在版本上给出不同的结果。 有什么想法吗?

postgis
1个回答
0
投票

PostGIS 依赖 Proj 库进行空间转换。随着时间的推移,Proj 经历了重大更新,提高了坐标系统的准确性和处理能力。这些更新可能会导致不同的转换结果,因为:

转换算法的变化:新版本的 Proj 可能使用更准确的转换算法。 EPSG 定义更新:定义坐标系的 EPSG 数据库会定期更新。这些更新可以更改转换中使用的参数。 错误修复和改进:Proj 的每个版本都修复了错误并提高了性能,这可能会改变转换结果。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.