PostGIS数据库部署
相关部署Dockerfile见:postgis-docker
相关文件
初始化数据库
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| docker run --name postgis -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d postgres
> 基于 PostgreSQL 和 PostGIS 的坐标转换函数,支持点、线、面的 WGS84 和 CGCS2000 与 GCJ02 和 BD09 坐标系与之间互转。
创建postgis扩展
```sql CREATE EXTENSION postgis -- 查看扩展版本 select * from postgis_full_version();
|
函数安装方式
添加扩展坐标加偏函数(来源https://github.com/geocompass/pg-coordtransform)这个库里的函数有一点点问题,已修改见:coordtransform
建表时geom字段类型选用geometry
复制geoc-pg-coordtansform.sql中代码,在数据库执行
转换函数使用示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| WGS84转GCJ02 select geoc_wgs84togcj02(geom) from test_table GCJ02转WGS84 select geoc_gcj02towgs84(geom) from test_table
WGS84转BD09 select geoc_wgs84tobd09(geom) from test_table BD09转WGS84 select geoc_bd09towgs84(geom) from test_table
CGCS2000转GCJ02 select geoc_cgcs2000togcj02(geom) from test_table GCJ02转CGCS2000 select geoc_gcj02tocgcs2000(geom) from test_table
CGCS2000转BD09 select geoc_cgcs2000tobd09(geom) from test_table BD09转CGCS2000 select geoc_bd09tocgcs2000(geom) from test_table
GCJ02转BD09 select geoc_gcj02tobd09(geom) from test_table BD09转GCJ02 select geoc_bd09togcj02(geom) from test_table
|