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表的工具,打开该工具
2.与指定数据库建立连接
点击View connection details输入相关信息(用户名、密码和数据库名)连接到Postgres中的指定数据库postgres中
这里你得提前建好了空间数据库
信息输出框中提示连接成功!
3.上传数据
如下图所示将本次示例数据导入到Postgres的指定数据库中(注意数据存放路径不可有中文)
以上步骤还可以使用QGIS
来实现,具体请参考QGIS上传图层到PostgreSQL数据库
4.pgAdmin4查看数据
查看表信息
查看几何信息
5.发布到开源地图服务器Geoserver
打开Geosever网页
假设我们都已经安装好了Geoserver软件,配置好了环境,下面我们试试直接在浏览器网址栏中输入localhost:端口号/geoserver/web 会发现浏览器在转圈圈
因为我们还没有打开本地的geoserver服务,所以请求不到我们的服务,为此我们需要首先打开本地geoserver服务,怎么打开
找到安装目录...\GeoServer\bin
,双击startup.bat文件就可以了
端口号如果忘记的话,可以打开根目录start.ini
查看
开始发布数据
添加新的工作空间
点击【数据】—>【工作区】—>【添加新的工作空间】,工作空间可以理解为是用来存放发布地图的一个集合
添加新的数据存储
点击【数据】——【数据存储】——【添加新的数据存储】,意思是找要保存着我们要发布的数据源文件夹
这时候页面会进入【新建数据源】,geoserver实现了OpenGIS联盟的网络功能服务器规范和网络覆盖服务器规范
PostGIS是Postgres数据库的一个插件,专门支持空间数据,里面的空间数据可以在geoserver中发布
而Shapefile和GeoTIFF则是我们在ArcGIS Pro中经常使用的矢量和栅格数据了
点击PostGIS
弹出界面新建矢量数据源,如下
填写后保存!
发布图层
只需要在【数据】选项卡下面的边框中分别点击【从数据中计算】和【Compare from native bounds】
这时候系统会自动计算该数据的四至经纬度坐标,剩下的设置默认即可,点击保存即可发布
提示:
如果后续数据库上传图层,上图页面发布图层忘记哪里打开的话,点击【图层】->【添加新的资源】->【选择对应工作空间】
图层预览
箴言:因为这些东西是非常简单的。不要抱怨自己学不会,那是因为你没有足够用心。