【问题标题】:postgis / proj 900913 to 4326 projection issues with Y coordinatepostgis / proj 900913 到 Y 坐标的 4326 投影问题
【发布时间】:2011-04-13 07:20:12
【问题描述】:

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

当我想在 900913 坐标到 4326 系统上进行 st_transform 时,y 坐标会发生偏移。

示例:

选择 作为文本( 转变( 转变( GeomFromText('POINT(449760.25168159 6790560.4594059)', 900913), 4326 ), 900913 ) )

这里把原来的900913声明点st_s变换成4326再变回900913,结果不是原来的点,y不同。 (我稍后会插入结果,我这里没有)。

我尝试将 proj4text 更改为 4326,添加 +nadgrids=@null 就像我在某处看到的一样

srid 4326 的 proj4text 当前是:

“从 srid=4326 的 spatial_ref_sys 中选择 proj4text” +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs

srid 900913 的 proj4text 当前是:

“从 srid=900913 的 spatial_ref_sys 中选择 proj4text” +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 的直接变换完全相同。

有人有什么想法吗?

EJ

【问题讨论】:

标签: gis projection postgis proj4js proj


【解决方案1】:

您使用的是什么版本的 PostGIS?我已经尝试使用此配置进行查询:POSTGIS="1.5.2" GEOS="3.2.2-CAPI-1.6.2" PROJ="Rel. 4.7.1, 23 September 2009",它工作正常。

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

【讨论】:

    【解决方案2】:

    EPSG:900913 是不明确的投影。您应该改用 EPSG:3857,它应该是完全相同的 Spherical Mercator,但它是标准化的。

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

    【讨论】:

      猜你喜欢
      • 2011-11-26
      • 1970-01-01
      • 1970-01-01
      • 2011-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-23
      相关资源
      最近更新 更多