一、安装并启动geoserver服务
1.1 下载geoserver
进入官网下载
由于geoserver
是使用Java
语言开发的,所以运行需要java
的环境,不同geoserver
的版本号对java
的版本要求不同,所以选择版本时需注意对应java
的版本要求,由于我本地安装了java8
,所以我选择的是2.20
的版本,最新的2.23
需要java11
同一版本号也有不同的安装形式,我这选择的是Platform Independent Binary
,这个版本支持跨平台,且无需安装
1.2 启动服务
解压下载的包,进入bin
目录,windows
系统双击startup.bat
即可启动服务,linux
选择startup.sh
即可
运行后会有大串的运行信息,最后能看到Started @xxxms
表示服务启动成功
1.3 访问geoserver
在浏览器输入 http://localhost:8080/geoserver
进入服务的web
控制界面,初次登陆需输入账号,geoserver
提供了默认的账号,用户名为 admin
,密码为 geoserver
二、创建工作区
1、点击左侧数据
栏中的工作区
,在右侧点击添加新的工作区
2、在新建工作区页面,依次输入Name
和URI
,最后点击保存
即可。注意:Name不能为数字,URI必填,具体填的内容无要求
二、发布shp
2.1 准备
shape
数据包含很多类型的文件,发布至少需要4
个文件,分别是shp
、shx
、dbf
、prj
,其中shp
存储的几何数据,shx
存储的几何索引信息,dbf
存储属性数据、prj
存储投影信息。
将至少包含上述4
个的文件放到同一目录,本文以geoserver
官方提供的纽约道路数据为例。
2.2 发布
在左侧数据栏点击数据存储
,在右侧点击添加新的数据存储
在新建数据源
点击Shapefile
在新建矢量数据源
,从上到下分别选择工作区、设置数据源名称、shp
文件的路径以及dbf的字符集(一般国内都是utf-8
或gbk
,该参数设置如果不正确,会导致拾取到的属性中文乱码
,此处用的案例是国外的,所以是ISO
)
点击发布
在发布数据
页面,点击边框
中的从数据计算
,以及Compute from native bounds
,最后点击保存
点击左侧图层预览,在右侧表格中可以找到发布的图层,点击OpenLayers
,可以看到发布的效果
三、发布普通tiff(<2GB)
tiff影像数据比较特殊,主要是其大小差别很大,有的有4、5个GB
,甚至几十GB
,小的也有几百MB
,geoserver
自带的GeoTiff
发布功能支持2GB以下的tiff发布
,其实也不是说geoserver
就不能发布2GB
以上的,主要是发布后,访问服务会很慢,主要是数据量太大,实时计算效率低,经过试验,2GB
以下的直接发布效率还可以,2GB
以上的需要提前切片(参考第4节
)。
普通tiff
发布跟shp
类似,在数据源
页面中选择GeoTIFF
然后分别设置工作区、发布的名称、文件路径,最后点击保存,在弹出的页面继续点击发布,在新页面点击保存即可
在图层预览中找到对应的图层,点击OpenLayers
即可看到发布的影像
四、发布大型tiff(>=2GB)
大型tiff
一般会进行金字塔层级切片,即单一大型tiff
会处理成多级别的小型tiff
文件,这样数据源就成了目录,geoserver
默认不支持文件夹的发布,需要使用插件
点此找到对应的geoserver
版本,然后进入extensions
下载geoserver-xxx-pyramid-plugin.zip
下载后解压,将gt-imagepyramid-xx.jar
文件拷贝到{geoserverPath}\webapps\geoserver\WEB-INF\lib
下,重启geoserver
服务即可
刷新web
页面,此时可以在新建数据源
页面发现多了ImagePyramid
的选项
点击ImagePyramid
设置切片后的tiff
数据信息,包括工作区、数据源名称、切片文件夹路径,最后点击保存,在弹出的页面继续点击发布,在新页面点击保存即可,查看流程同其他两种类型
关于如何将tiff
进行切片生成金字塔目录,我将会在另一篇基于geoserver
开发发布服务的文章里介绍,本篇主要是描述geoserver web端
的应用操作