0712 更新
Postgre postgis 版本关系
注意修改密码
docker run -d --restart=always --name vbox-postgis -p 5432:5432 -e POSTGRES_PASSWORD=postgres postgis/postgis:13-3.1-alpine
#拉取最新的postgresql12+postgis3.0的镜像
docker pull geographica/postgis
#生成容器
docker run -d --name sm-postgis -p 5432:5432 -e POSTGRES_PASSWORD=postgres geographica/postgis:latest
#进入postsql终端
docker exec -ti sm-postgis psql -U postgres
#进入bash终端
docker exec -ti sm-postgis bash
#参考2
docker run -d --name dz-postgis -p 5432:5432 -e POSTGRES_PASSWORD=postgres postgis/postgis
docker exec -ti dz-postgis psql -U postgres
# Docker部署Geoserver
# 获取镜像
docker pull kartoza/geoserver
# 启动容器
# docker run -d -p 8080:8080 --name geoserver kartoza/geoserver:2.16.2
docker run -d -p 8080:8080 --name geoserver kartoza/geoserver
# 将主机的/data/geoserver_data挂载到容器的/etc/letsencrypt下
# mkdir -p /data/geoserver
docker run -d -v /data/geoserver:/etc/letsencrypt -p 8080:8080 --name geoserver kartoza/geoserver
# 进入终端
docker exec -it geoserver bash
#打开 http://对应IP地址:8080
#登录(使用默认用户名和密码)
#Username: admin
#Password: geoserver
为postgresql安装postgis扩展模块:
1、安装postgis
2、在指定数据库下执行下面语句
CREATE EXTENSION postgis
3、验证:执行下面语句不报错即可
SELECT ST_SetSRID(ST_Point(-87.71,43.741),4326),ST_GeomFromText(‘POINT(-87.71 43.741)’,4326)
4. 可选扩展
-- postgis的基本核心功能,仅支持地理图形(矢量要素),在其他Extension前启用。
CREATE EXTENSION postgis;
-- 对栅格数据的支持。
CREATE EXTENSION postgis_raster;
-- 拓扑功能的支持。
CREATE EXTENSION postgis_topology;
-- TIGER指的是(拓扑集成地理编码和参考),这个是美国人口普查局的GIS数据,提供了美国全国的行政区划、交通道路、水系等空间数据。
-- 这个Extension提供了TIGER数据的地理编码支持,需要注意的是这个Extension启用前,需要先启用fuzzystrmatch(字符串模糊查询)Extension,
-- 以及可选的address_standardizer(TIGER数据地址规则化)
-- address_standardizer_data_us(地址规则化示例数据集)Extension。
CREATE EXTENSION fuzzystrmatch;
CREATE EXTENSION postgis_tiger_geocoder;
-- 这个Extension主要是集成了CGAL[2](Computational Geometry Algorithms Library,计算几何算法库),
-- 来进行三维空间数据的空间运算,例如[3]、ST_3DDifference、ST_3DUnion 等,可见是通常空间运算在三维空间上的拓展。
CREATE EXTENSION postgis_sfcgal;
-- 这个Extension可以利用OGR读取外部的GIS数据(例如Shepfile),其实是结合了OGR和PostgreSQL的foreign data wrappers。
CREATE EXTENSION ogr_fdw;
-- pgrouting提供了对路网的分析支持,包括双向Dijkstra最短路径等10多种功能。
-- debian下安装 apt install postgresql-X-pgrouting
CREATE EXTENSION pgrouting;
-- 提供对LiDAR点云的支持,提供对点云数据的存储。这个很有意思,这里多说一点。启用pointcloud Extension的PostgreSQL 数据库,
-- 可以利用PDAL进行LiDAR点云数据的读取和保存。PADL是一个用于读取点云数据的转换和处理库,它替代了LibLAS,
-- 所以PADL+pointcloud PostgreSQL可以作为一个不错的点云数据管理方案。
-- apt install postgresql-X-pointcloud
CREATE EXTENSION pointcloud;
CREATE EXTENSION pointcloud_postgis;
5. 可选扩展2
-- 安装扩展成功以后,就可以通过uuid_generate_v4()或uuid_generate_v1()查询
create extension "uuid-ossp";
6. Postgis,火星坐标,转换,函数
geoc-pg-coordtransform
geoc-pg-coordtransform.sql
参考
https://help.aliyun.com/document_detail/279473.html
https://zhuanlan.zhihu.com/p/159103073
https://blog.csdn.net/fct2001140269/article/details/102955584
https://blog.csdn.net/u010206379/article/details/109764629