Postgis 数据库坐标系偏移转换
直接动态生成新字段
Github: https://github.com/FreeGIS/Postgis_Coordinate_Transform
支持WGS84与bd-09,gcj-02坐标系,百度经纬度与百度墨卡托之间互转。
支持点线面多点多线多面的复杂图形批量转换。
支持对整个表批处理转换。
1 | 约束: |
要求转换的图形必须是二维图形 当前暂不支持三维或者多维,如带Z值的高程,带M值的测量值等
转换表图形坐标系必须是epsg:4326 除了将百度墨卡托坐标转百度经纬度外,其他转换方式,必须保证转换表的坐标系是4326,其他坐标系,需要用户使用ST_Transform函数,将其数据先转到4326坐标系下,再使用该工具。百度墨卡托坐标转百度经纬度转换,数据源必须是3857的。
图形数据是点线面多点多线多面 仅仅支持Point,LineString,Polygon,MultiPoint,MultiLineString,MultiPolygon六种明确类型。其他的PostGIS类型由于不常用,且不严格规范,通常不用于标准的空间数据库类型,暂时不考虑实现。
使用:
1 | select FreeGIS_Coordinate_Transform('public','test','WGS2GCJ'); |
sql语句查询转换
github:https://github.com/geocompass/pg-coordtransform
基于PostgreSQL和PostGIS的坐标转换函数,支持点、线、面的WGS84、GCJ02以及BD09坐标系之间互转。
安装: 复制geoc-pg-coordtansform.sql中代码,在数据库执行
1 | GCJ02转WGS84 |