如何部署一个Geoserver及SHP数据的服务
如何部署一个Geoserver及SHP数据的服务
GeoServer是一个开源的服务器,以支持展示各种GIS数据,提供各种数据服务。官方地址:
可以在上面下载直接可以运行的包,或者源代码。
以我的Windows机器为例子,下载后,目录结构如下:
我们在控制台中,运行上图目录中的bin目录下的start.bat ,启动服务器。如下图:
服务器启动后,可以访问http://127.0.0.1:8080/geoserver 访问到管理页面。这个系统需要用户名和密码登陆后使用。默认用户为admin , 密码为 geoserver
以下是详细的步骤,介绍如何准备一个数据,然后创建服务。官方提供几个简单的教程,地址为: https://docs.geoserver.org/latest/en/user/gettingstarted/index.html
以下是我个人的学习
- 创建工作台, 工作台的主要目的是为了方便管理一系列内容和资源,可以认为是一个项目。也类似于Java的工作台概念。
下图中,名字随便写(我们这里就写study),URI也是(一般格式为http://myserver.org/)
- 利用数据,新建一个数据存储,类型是shape file ,下图右侧是我们已经建立好的示例
新增数据,我们这次学习,使用shp文件(这些SHP的文件在本文附件中可以下载)
选择数据源,如下图,数据源名称自己填,数据目录可以通过浏览按钮,查看到位于geoserver安装目录下的data_dir目录下,其中还有个data目录,可以放你自己的数据。
关于数据目录详细信息如下:
- 如果没有特殊指定,默认使用包中的,data_dir目录
- 如果指定,在Windows下由环境变量GEOSERVER_DATA_DIR 指定
- 在Linux中,由同样的环境变量GEOSERVER_DATA_DIR 决定。
比如:export GEOSERVER_DATA_DIR=/var/lib/geoserver_data
- 新增图层。
个人认为,图层在GIS领域中有很重要的作用,我们所看到的数据内容,其实是由各种不同数据源,不同精度,不同领域的数据在单独自己的层上,叠加而成的符合内容。
其中,最终要的让系统自动计算,该数据源的边界,如下图
同时,图层保存好后,一定要发布。
但你发布好后,在LayerPreview (图层预览)中,就可以点击某个图层,查看各种内容展示。如下图:
- 图层组
图层组就是一组图层,可以叠加好多个层。如我们提供的数据,其实由4层Layer, 我们可以新建一个组,名字随便定,勾选在这个组中的层即可。如下图。这样做的主要目的是未来客户端可以直接访问这个组(同时就有了所有的层)
最终预览效果图,可能如下:(我这里展示的是0层,不同的层效果不一样,如果看层组,就会看到4个层的共同内容)
其中,从URL地址栏,我们看到服务真实地址为:
http://127.0.0.1:8080/geoserver/study/wms?
- 以上是Geoserver服务器端的数据配置和内容。下面我们介绍如何在某些客户端中展示这些数据。以QGIS为一个客户端,
QGIS的官网为:https://www.qgis.org/en/site/ 下载安装包后,直接可以在Windows上用。
打开QGIS软件,在左侧的面板中选择数据源类型,右键点击【new connection】,新建一个数据源,如下图,我们利用刚才Geoserver中新增的WMS协议的服务作为数据源,记得URL内容就是上述的WMS服务地址?前面的内容
最终在QGIS中的展示内容如下: