postgis / proj 900913 到 4326 Y 坐标的投影问题

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

这是一个老歌,但我似乎找不到解决方案。

当我想在

st_transform
坐标上对
900913
系统执行
4326
操作时,y 坐标会发生移动。

示例:

SELECT
AsText(
Transform(
Transform(
GeomFromText( 'POINT( 449760.25168159 6790560.4594059 )', 900913),
4326
),
900913
)
)

这里原来的

900913
起始点是
st_stransformed
4326
然后回到
900913
。结果不是原来的点,y不同。

我尝试将

proj4text
更改为
4326
,添加
+nadgrids=@null
就像我在某处读到的那样。

proj4text
srid 4326
目前是:

"select proj4text from spatial_ref_sys where srid=4326"
 +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs 

proj4text
srid 900913
目前是:

"select proj4text from spatial_ref_sys where srid=900913"
 +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m 
 +nadgrids=@null +no_defs

我还尝试从

900913
到另一个到
4326
的投影,但我得到了与从
900913
4326
的直接变换完全相同的点。

大家有什么想法吗?

gis projection postgis proj4js proj
2个回答
1
投票

EPSG:900913 是不明确的投影。您应该使用 EPSG:3857,它应该与球面墨卡托完全相同,但是是标准化的。

任何重投影都是有损操作。来回转换坐标会在最后的二进制数字中产生噪音,这通常是亚毫米误差。


0
投票

您使用的 PostGIS 版本是什么?我已经尝试使用此配置进行查询:

POSTGIS="1.5.2" GEOS="3.2.2-CAPI-1.6.2" PROJ="Rel. 4.7.1, 23 September 2009"
,它工作正常。

尽管如此,我还是红色了一些涉及 900913 坐标的问题。

© www.soinside.com 2019 - 2024. All rights reserved.