使用RGeo :: Geographic.simple_mercator_factory的点投影方法的结果是什么

时间:2012-12-27 14:30:10

标签: postgis rgeo

我有一个工厂RGEO_FACTORY = RGeo::Geographic.simple_mercator_factory

我有一点(POINT(28.97566007 41.01452809)),其标题是3785。

然后我使用RGEO_FACTORY.point(lon, lat).projection获得一个新坐标。它是POINT (3225555.7243913896 5014484.790030423)

现在,我需要使用sql进行查询以提高速度。像这样:"SELECT ST_AsText(ST_Transform(lat_lon, 4326)) from points WHERE points.id = 1"。我希望得到与POINT (3225555.7243913896 5014484.790030423)相同的结果。但我无法得到它。

我尝试过其他srid来改变点的坐标,但是徒劳无功。

我该怎么做才能解决这个问题?

提前致谢。

1 个答案:

答案 0 :(得分:-2)

使用RGeo::Geographic.simple_mercator_factory创建点时,就像使用RGEO_FACTORY.point(lon, lat)一样,他们的srid是工厂预定义的,它不是3785,而是4326,请亲自查看the docs。这些点'projection方法返回3785中的点。使用ST_SRID(lat_lon)了解lat_lon字段的实际srid,如果它是几何类型,则确定要将其转换为哪个srid。

更详细地回答了another similar question