​Geoserver借助Postgis插件发布Postgres中的空间数据库​​​和​​Geoserver直接发布本地图层​​的区别

Geoserver直接发布本地图层如果需要修改图层属性字段的话需要打开Arcmap或者Qgis编辑后保存再重新发布

而Geoserver借助Postgis插件发布Postgres中的空间数据库如果需要修改图层属性字段的话直接打开Postgres数据库修改字段属性即可,然后再发布一次,方便很多

1.打开​​PostGIS PostGIS Bundle 3 for PostgreSQL x64 14 Shapefile and DBF Loader Exporter​​工具

安装Postgres数据库之后,安装Postgis插件,以方便Postgres支持更多的空间数据库,而且该插件提供了一个shape格式文件转换为Postgres表的工具,打开该工具

Geoserver+Postgres+Postgis发布数据库中的图层_数据库

2.与指定数据库建立连接

点击View connection details输入相关信息(用户名、密码和数据库名)连接到Postgres中的指定数据库postgres中

​这里你得提前建好了空间数据库​

Geoserver+Postgres+Postgis发布数据库中的图层_数据_02

Geoserver+Postgres+Postgis发布数据库中的图层_数据库_03

信息输出框中提示连接成功!

Geoserver+Postgres+Postgis发布数据库中的图层_数据_04

3.上传数据

如下图所示将本次示例数据导入到Postgres的指定数据库中(注意数据存放路径不可有中文)

Geoserver+Postgres+Postgis发布数据库中的图层_数据库_05

以上步骤还可以使用​​QGIS​​​来实现,具体请参考​​QGIS上传图层到PostgreSQL数据库​

Geoserver+Postgres+Postgis发布数据库中的图层_图层_06

4.pgAdmin4查看数据

Geoserver+Postgres+Postgis发布数据库中的图层_数据库_07

查看表信息

Geoserver+Postgres+Postgis发布数据库中的图层_数据库_08


Geoserver+Postgres+Postgis发布数据库中的图层_数据_09

查看几何信息

Geoserver+Postgres+Postgis发布数据库中的图层_数据_10


Geoserver+Postgres+Postgis发布数据库中的图层_数据库_11

5.发布到开源地图服务器Geoserver

打开Geosever网页

Geoserver+Postgres+Postgis发布数据库中的图层_图层_12

假设我们都已经安装好了Geoserver软件,配置好了环境,下面我们试试直接在浏览器网址栏中输入localhost:端口号/geoserver/web 会发现浏览器在转圈圈

Geoserver+Postgres+Postgis发布数据库中的图层_图层_13

因为我们还没有打开本地的geoserver服务,所以请求不到我们的服务,为此我们需要首先打开本地geoserver服务,怎么打开

找到安装目录​​...\GeoServer\bin​​,双击startup.bat文件就可以了

Geoserver+Postgres+Postgis发布数据库中的图层_数据_14

端口号如果忘记的话,可以打开根目录​​start.ini​​查看

Geoserver+Postgres+Postgis发布数据库中的图层_数据_15

开始发布数据

添加新的工作空间

点击【数据】—>【工作区】—>【添加新的工作空间】,工作空间可以理解为是用来存放发布地图的一个集合

Geoserver+Postgres+Postgis发布数据库中的图层_图层_16

Geoserver+Postgres+Postgis发布数据库中的图层_图层_17

添加新的数据存储

点击【数据】——【数据存储】——【添加新的数据存储】,意思是找要保存着我们要发布的数据源文件夹

Geoserver+Postgres+Postgis发布数据库中的图层_数据_18

这时候页面会进入【新建数据源】,geoserver实现了OpenGIS联盟的网络功能服务器规范和网络覆盖服务器规范

PostGIS是Postgres数据库的一个插件,专门支持空间数据,里面的空间数据可以在geoserver中发布

而Shapefile和GeoTIFF则是我们在ArcGIS Pro中经常使用的矢量和栅格数据了

点击PostGIS

Geoserver+Postgres+Postgis发布数据库中的图层_图层_19

弹出界面新建矢量数据源,如下

Geoserver+Postgres+Postgis发布数据库中的图层_图层_20

填写后保存!

发布图层

Geoserver+Postgres+Postgis发布数据库中的图层_数据_21

只需要在【数据】选项卡下面的边框中分别点击【从数据中计算】和【Compare from native bounds】

这时候系统会自动计算该数据的四至经纬度坐标,剩下的设置默认即可,点击保存即可发布

​提示:​​如果后续数据库上传图层,上图页面发布图层忘记哪里打开的话,点击【图层】->【添加新的资源】->【选择对应工作空间】

Geoserver+Postgres+Postgis发布数据库中的图层_数据库_22

图层预览

Geoserver+Postgres+Postgis发布数据库中的图层_图层_23

Geoserver+Postgres+Postgis发布数据库中的图层_数据库_24

箴言:因为这些东西是非常简单的。不要抱怨自己学不会,那是因为你没有足够用心。