docker部署高斯postgis
时间: 2024-05-16 10:11:27 浏览: 192
Docker是一种容器化技术,可以将应用程序和它所依赖的所有库和配置打包成一个可移植的容器,以便在不同的环境中部署和运行。PostGIS是一个开源的空间地理数据库扩展,它可以用来存储和处理地理空间数据。高斯投影是一种经典的地理投影方式,用于将地球表面上的经纬度坐标转换为平面坐标。
要在Docker中部署高斯投影的PostGIS,你可以按照以下步骤操作:
1. 首先,在本地计算机上安装Docker,并确保Docker已经成功运行。
2. 在Docker中拉取PostGIS镜像:
```
docker pull mdillon/postgis
```
3. 创建一个新的Docker容器,并将PostGIS镜像作为基础镜像:
```
docker run --name my-postgis -e POSTGRES_PASSWORD=mysecretpassword -d mdillon/postgis
```
这个命令会创建一个名为my-postgis的新容器,并在其中启动一个PostGIS服务器实例。
4. 进入到新创建的容器中,并运行psql命令以连接到PostGIS数据库:
```
docker exec -it my-postgis bash
psql -U postgres
```
5. 在psql中创建一个新的空间数据库,并启用PostGIS扩展:
```
CREATE DATABASE myspatialdb;
\c myspatialdb;
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_topology;
```
6. 创建一个新的高斯投影空间数据库:
```
CREATE DATABASE mygaussiandb;
\c mygaussiandb;
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_topology;
CREATE EXTENSION postgis_sfcgal;
```
7. 在新创建的高斯投影空间数据库中创建一个新的高斯投影坐标系:
```
INSERT INTO spatial_ref_sys (srid, auth_name, auth_srid, proj4text, srtext) VALUES (99999, 'EPSG', 99999, '+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +datum=WGS84 +units=m +no_defs ', 'PROJCS["Gauss-Kruger / Xian 1980 3-degree Gauss-Kruger zone 37",GEOGCS["Xian 1980",DATUM["Xian_1980",SPHEROID["Xian 1980",6378140,298.257]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",120],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]]]');
```
8. 现在你已经成功地在Docker中部署了高斯投影的PostGIS。你可以在本地计算机上使用psql或其他工具连接到该数据库,并开始存储和处理空间数据。
阅读全文