文章同步更新于我的个人博客:松果猿的博客,欢迎访问获取更多技术分享。

同时,您也可以关注我的微信公众号:松果猿的代码工坊,获取最新文章推送和编程技巧。

若没有安装geoserver可以看本人写的这篇文章:geoserver安装部署

首先启动geoserver,新建一个工作空间,工作空间>添加新的工作空间

填写要新建的工作空间相关的Name和命名空间URL(这里命名空间不是要填实际的URL地址嗷,只是起一个唯一的标识符的作用,随便填什么都行),然后点击保存:

属性 描述
名称 工作区的名称,必填项。
命名空间URI 命名空间URI与这个工作区关联;
是否默认 是否将这个工作区设置为默认工作区,默认工作区只能有一个。
是否隔离 是否将这个工作区设置为隔离工作区,隔离工作区不能被其他工作区访问。

现在再来添加一个数据源,点击存储仓库>添加新的存储仓库

如下所示,可以看到可以添加许多数据类型,矢量和栅格,甚至可以选择其他地图服务:

这里就选择Directory of spatial files类型(或者选第六个Shapefile也可以,只不过后面添加shp文件目录一个是选shp文件,一个选shp文件所在文件夹)

最好将我们预先准备好的shp文件放在geoserver文件目录下

填写这个数据源的相关属性信息,工作空间就选择我们之前新建的,数据源名称随便,文件目录选择shp文件(这里需要注意的是DBF的字符集的设置很重要,最好跟原数据集一致就不会出现中文乱码问题)。

因为大多是shp文件是Arcmap生成的,稍低版本的Arcmap的dbf字符集为GBK

点击保存后数据源就创建好了,我们直接发布这个图层,点击发布:

下面来编辑图层信息,上面的信息直接跳过不用填:

我们下拉填写坐标参考系,这里已经根据你的数据源默认填写好了,再让geoserver帮你计算边框:

点击保存图层就创建好了,点击图层预览

这里geoserver提供了多种格式的预览,我以常用格式举例,矢量的有OpenLayers、GML、KML,栅格和图层组有OpenLayers、KML两种方式:

点击Openlayers可以查看wms服务(是不是geoserver内置openlayers?):

点击GML,emmm…怎么报错了:

点击KML就是直接下载一个KML文件

点击右侧的所有格式,可以查看所有格式,可以看到geoserver支持的发布类型还是相当多的:

再来给这个图层添加样式,geoserver添加图层样式一般是用一种XML标记语言SLD(好像还可以用CSS):

手写SLD不太现实,我们还是去网上找找现成模板或者用QGIS或者uDig生成一个,这里我就用QGIS创建一个SLD样式。

来到QGIS,随便给shp图层添加个样式:

右击图层,点击QGIS>另存为QGIS图层样式文件

保存样式选择SLD:

再来到geoserver,选择样式>添加一个新的样式

工作空间还是选择之前的,格式SLD,加载我们刚刚创建的SLD样式:

创建好后,再点击新创建好的样式,选择Publishing,将我们的样式文件添加到图层中:

勾选需要添加的样式:

再次来预览,可以看到样式已经起作用了:

就写这些吧,后面还会分享更多有关 geoserver 相关教程