关于坐标系
高德地图、腾讯地图以及谷歌中国区地图使用的是GCJ-02坐标系
百度地图使用的是BD-09坐标系
底层接口(HTML5 Geolocation或ios、安卓API)通过GPS设备获取的坐标使用的是WGS-84坐标系
WGS-84 - 世界大地测量坐标系
WGS-84(World Geodetic System, WGS)是使用最广泛的坐标系,也是世界通用的坐标系,GPS设备得到的经纬度就是在WGS84坐标系下的经纬度。通常通过底层接口得到的定位信息都是WGS84坐标系。如天地图,osm底图等。
GCJ-02 - 国测局坐标系
GCJ-02(G-Guojia国家,C-Cehui测绘,J-Ju局),又被称为火星坐标系,是一种基于WGS-84制定的大地测量系统,由中国国测局制定。此坐标系所采用的混淆算法会在经纬度中加入随机的偏移。如谷歌地图(中国区),高德地图,腾讯地图等。
BD-09 - 百度坐标系系
BD-09(Baidu, BD)是百度地图使用的地理坐标系,其在GCJ-02基础上又增加了一次偏移,用来保护用户隐私。从百度产品中得到的坐标都是BD-09坐标系。
如何安装
复制geoc-pg-coordtansform.sql中代码,在数据库执行。源码
示例
GCJ02转WGS84select geoc_gcj02towgs84(geom) from test_tableWGS84转GCJ02select geoc_wgs84togcj02(geom) from test_tableWGS84转BD09select geoc_wgs84tobd09(geom) from test_tableBD09转WGS84select geoc_bd09towgs84(geom) from test_tableGCJ02转BD09select geoc_gcj02tobd09(geom) from test_tableBD09转GCJ02select geoc_bd09togcj02(geom) from test_table
转换方法
geoc_wgs84togcj02:WGS84坐标系转火星坐标系
geoc_wgs84tobd09:WGS84坐标系转百度坐标系
geoc_bd09towgs84:百度坐标系转WGS84坐标系
geoc_gcj02tobd09:火星坐标系转百度坐标系
geoc_bd09togcj02:百度坐标系转火星坐标系
注意事项
传入的geometry参数的 SRID 必须是 4326 或 4490 ,否则返回null。
注
关于我们
中国开源软件推进联盟PostgreSQL分会(简称:PG分会)于2017年成立,由国内多家PG生态企业所共同发起,业务上接受工信部产业发展研究院指导。PG分会致力于构建PG产业生态,推动PG产学研用发展,是国内一家PG行业协会组织。

文章转载自开源软件联盟PostgreSQL分会,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




