GeoServer发布数据进阶
GeoServer介绍
GeoServer是用于共享地理空间数据的开源服务器。 它专为交互操作性而设计,使用开放标准发布来自任何主要空间数据源的数据。
GeoServer实现了行业标准的 OGC 协议,例如网络要素服务 (WFS)、网络地图服务 (WMS) 和网络覆盖服务 (WCS)。其他格式和发布选项可作为扩展模块提供,包括 Web 处理服务 (WPS) 和 Web 地图切片服务 (WMTS)。
GeoServer创建工作空间
GeoServer中的工作空间可以理解为数据分组,我们可以将不同省份的数据进行分组,这里已经创建了江苏(jiangsu)和内蒙(neimeng)两个工作空间,如图所示:
推荐数据发布命名规则如下:
栅格数据:数据行政区划+时间(年月日)
矢量数据:数据行政区划+时间+内容
数据地址中不要出现中文,可以用英文和数字。
数据坐标转换
使用GeoServer发布数据时,最好统一数据坐标系,这里我们需要统一成WGS84(4326)坐标系。使用QGIS(类似ArcMap)工具进行坐标转换。
QGIS是一个用户界面友好的桌面地理信息系统 (opens new window),可运行在Linux (opens new window)、Unix (opens new window)、Mac OSX和Windows等平台之上。QGIS是基于Qt,使用C++开发的一个用户界面友好、跨平台的开源版桌面地理信息系统。
接下来介绍如何使用QGIS进行坐标系转换。
我们加载数据到QGIS中,在图层管理中右击图层选择属性,就能看到图层的相关信息。这里我们能看到数据的坐标系和数据的字符编码。
在图层管理中右击图层选择导出-》要素另存为,就可以设置图层导出后的格式、坐标系和字符编码了。
这里如果是导出矢量就选择esri shapefile格式,坐标系选择4326-WGS84,字符编码选择UTF-8。
如果是栅格数据就选择tiff格式,坐标系选择4326-WGS84。
最后将数据上传到GIS服务器上对应的目录中。
GeoServer设置数据样式
这里主要介绍如何设置矢量数据的样式,栅格数据一般不需要设置样式。
GeoServer默认的矢量数据样式是灰黑色的,很可能不符合我们得要求,这里我们可以使用QGIS工具来设置矢量的样式,并上传到GeoServer中使用。
这里我以测试数据为例。
设置图层符号
在图层管理中右击图层选择属性-》选择符号化,
这里我们基于矢量中的DLBM字段做分类,不同类型用不同的颜色。
设置图层标注
我们还需要将图斑属性标记到图层上,这里我们使用图层标注功能,选择需要标注的属性,可以设置属性的样式、大小和颜色等。
导出sld样式文件
选择符号化-》样式-》保存图层样式-》保存为SLD格式样式文件
GeoServer新增样式文件
将导出好的样式文件上传到GeoServer中,才能让发布的图层使用,接下来介绍如何在GeoServer中发布样式文件。
登录GeoServer主页面后,选择左侧样式按钮,进入样式目录后可以新增样式。
进入新增样式页面后,我们可以手动设置样式文件,也可以上传样式文件,如图所示:
这里我们选择刚刚生成的sld文件-》点击upload按钮,sld文件会被解析到页面中,如图所示:
传完成后我们可以点击左下方的验证按钮,来确保格式是否正确,如果验证通过我们可以设置样式的名称和工作空间,最后点击保存按钮保存样式。
推荐样式的命令方式:行政区划-样式类型
到此GeoServer发布一个矢量样式就完成了。
GeoServer数据发布
做好以上准备后,接下来介绍如何使用GeoServer发布矢量数据和栅格数据。
矢量数据发布
添加存储仓库
存储仓库是将数据所在连接到GeoServer的存储库。每个存储必须在一个工作空间中, 因此在创建时就需要设置一个工作空间。
点击新建数据源按钮,这里选择矢量数据源中的shapefile文件,如图所示:
点击浏览按钮选择文件-》选择服务器上传数据的目录-》选择要发布的矢量数据,如图所示:
设置矢量文件的名称、工作空间和字符编码,点击保存按钮保存数据源,如图所示:
新增图层
设置完矢量数据源点击保存按钮后,会提醒你新建图层,如图所示:
点击发布按钮就会新建图层,如果这个时候没有发布,可以点击左侧图层按钮,在图层菜单中选择数据源再次发布,如图所示:
点击发布按钮后开始编辑图层,编辑图层名称和图层标题,如图所示:
向下滚动,设置图层坐标和图层边界范围,如图所示:
编辑好图层属性后,点击发布按钮,设置图层样式,选择之前发布的样式,如图所示:
点击保存后,图层就发布完成了。
查看图层
点击左侧图层预览按钮,我们可以查看刚刚发布的图层,如图所示:
找到我们刚刚发布的图层数据,点击openLayers按钮,就能看到刚刚发布的图层,如图所示
:
栅格数据发布
栅格数据发布流程类似矢量数据发布流程。
添加存储仓库
点击新建数据源按钮,这里选择栅格数据源中的GeoTIFF文件,如图所示:
点击浏览按钮选择文件-》选择服务器上传数据的目录-》选择要发布的栅格数据,如图所示:
设置栅格文件的名称、工作空间和字符编码,点击保存按钮保存数据源,如图所示:
新增图层
设置完栅格数据源点击保存按钮后,会提醒你新建图层,如图所示:
点击发布按钮后开始编辑图层,编辑图层名称和图层标题,如图所示:
向下滚动,设置图层坐标系和图层边界范围,如图所示:
查看图层
点击左侧图层预览按钮,我们可以查看刚刚发布的图层,如图所示:
找到我们刚刚发布的图层数据,点击openLayers按钮,就能看到刚刚发布的图层,如图所示:
GeoServer数据
GeoServer默认发布数据后,使用tms等切片协议进行访问时是动态进行数据切片的,切好片的数据就会被缓存下来。如果我们发布的矢量数据或栅格数据的数据量很大,这个时候数据时还没有完整切片的,用户访问的时候可能感觉有点慢,这个时候就可以主动进行数据切片操作对数据进行缓存,访问缓存后的数据就会快很多。
接下来介绍如何主动进行数据切片缓存操作。
点击左边的切片图层按钮,进入切片图层管理页面,如图所示:
选择我们需要进行切片的图层,如图所示:
点击图层后面的Seed/Truncate按钮,进行切片操作,如图所示:
这里说明一下,这里切片需要选择坐标系EPSG:900913,这是由于前台使用的切片坐标系是3857。
Format:默认png格式就行
Zoom stop:一般最大不超过18级