文章目录
GeoServer
GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过 GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。GeoServer是社区开源项目,可以直接通过社区网站下载,它允许用户查看和编辑地理空间数据,使用开放地理空间联盟(OGC)提出的开放标准,为地图创建和数据分享提供了强大的便利性。
官网:http://geoserver.org
下载地址:http://geoserver.org/download/
简而言之,就是一个开源地图服务器
GeoServer 主要特性
兼容 WMS 和 WFS 特性;支持 PostGIS 、 Shapefile 、 ArcSDE 、 Oracle 、 VPF 、 MySQL 、 MapInfo ;支持上百种投影;能够将网络地图输出为 jpeg 、 gif 、 png 、 SVG 、 KML 等格式;能够运行在任何基于 J2EE/Servlet 容器之上;嵌入 MapBuilder 支持 AJAX 的地图客户端OpenLayers;除此之外还包括许多其他的特性,新版本同时支持主流产品如mapbox和mongodb等。
本地部署
1.下载geoserver的war包根据自己需求的版本,一般下载最新前一个稳定版本比较好,下载地址如上所诉。
我们如果就是项目应用直接下载war包即可,部署本地的环境电脑需要有java环境,需要安装JDK,这个就不在这里细说了,百度自行解决。
2.本地准备一个容器,如tomcat,将下载好的war包放在tomcat的webapp文件夹下,启动tomcat即可!
tomcat下载地址:https://tomcat.apache.org/download-80.cgi
3.访问geoserver主页面
一般tomcat的默认端口是8080,则我们访问 http://localhost:8080/geoserver/web/ 即可
则会出现欢迎页面
到这里本地部署geoserver即算完成!默认用户名是admin 密码是geoserver
web页面功能介绍(重点)
1.首先登录进入web功能页面
2.登录后功能页面全览
3.关于和状态模块
该模块主要有服务器状态和日志以及geoserver相关的一些系统信息介绍
服务器状态主要可以查看数据的存放目录和连接数以及内存使用情况等相关的资源环境配置信息
geoserver的日志则是控制台输出打印的日志,如下图
联系方式和关于geoserver等我们就不细说了,懂得都懂,就是软件自我介绍
4.数据模块
该模块为geoserver核心模块,作为项目应用使用最高的部分
4.1 Layer Preview
这块主要用于查看自己发布的地图服务信息,这块的地图浏览主要基于openlayers引擎实现
这是一个表格展现方式的布局,第一列Type表示数据的类型,如点线面栅格等等,第二列Title表示图层标题,展示图层的标题名称,第三列Name是图层的名称可以看到他的组成是有规律的,是工作空间名称加上图层名称组成(工作空间是什么呢,我们下面会讲到),这个图层名称一般来说是唯一的,第四列Common Formats是一些通用的格式,如openlayers和GML和KML 都是常用的地图数据输出格式,第五列 All Formats 则表示所有的输出格式,这是一个下拉选项,里面有很多格式(如下图),根据自己的业务需求选择对应的格式即可查看数据。
这里常用的有 wms中的 openlayers png, wfs中的geojson等
点击openlayers 则可以看到在openlayers中加载数据的样子
4.2 工作区(workspace)
这块主要是用于管理工作区的,基本的增删改查,这个工作区是干什么的呢?
工作区是一组数据存储区。与命名空间类似,它用于对以某种方式相关的数据进行分组。
通俗点就是创建一个地盘,把你想要归类的图层数据地图数据放到一起方便自己管理。
4.3 数据存储(Stores)
geoserver是一个地图服务发布器,主要用于发布服务的,大家都知道我们gis行业地理数据是行业的基石,从下往上是:数据–服务–应用。
数据存储功能模块就是用于根据自己的地图数据去关联到我们的geoserver地图服务器,用于读取数据发布地图服务。geoserver作为开源的地图服务器在国内最受用户喜爱的产品,社区更新非常快,与时俱进支持大多数数据格式如shp tif 各种数据库如postgresql+postgis等等我们常用的数据格式。
点击添加数据源则可以根据自己的数据格式选择对应的添加方式,填入对应参数:
这里主要分为三大块,矢量数据和栅格数据以及第三方其他数据源。
矢量数据我们常用的Shapefile则shp文件,PostgGIS则是postgresql+postgis的数据库连接
栅格数据则是GerTIFF使用的比较多,则我们常见的tif后缀的数据
其他数据源这里我们先不讲,等后期进阶内容讲解
4.4 图层(Layers)
图层作为地图服务最核心的模块,是数据转换成地图服务最重要的部分,一个地图服务可以理解为由一个图层和一个样式组成,有数据源获取到对应的图层再加上对应的样式渲染从而获得一个地图服务。
我们添加一个图层的时候需要选择一个对应的数据存储,则获取到我们的数据源
然后就可以获取到当前数据源下面的数据,选择想要发布的数据发布对应的服务。
4.5 图层组(Layer Groups)
图层组的作用很明显,我们在地图应用的过程中往往一个地图服务是满足不了我们的需求的,可能一个符合使用的地图由多个图层叠加组合形成,比如我们基础的地图需要由道路路网图层和建筑物图层等等。图层组则可以将多个图层组合到一起形成一个服务,让调用者更加方便轻松,调用一个服务地址即可获取到图层组中所有的图层数据,并可以自己选择叠加顺序。
4.6 Styles(样式)
GeoServer样式支持SLD、CSS、YSLD、MBStyle四种方式定义Style,默认支持的SLD方式,其它三种需要扩展,SLD通过xml标签定义style,虽然强大但也比较复杂,可读性差,代码量大,style主要是渲染图层根据样式是图层具有多样性。
这里附上一个geoserver style相关的讲解
https://blog.csdn.net/xtfge0915/article/details/85175094
发布一个地图服务
1、启动Geoserver服务,来到geoserver地图服务器主页:
http://localhost:8080/geoserver/web, 登录
2、工作区->添加新的工作区
Name:gishub,
工作区URI:www.gishub.com
3、数据存储->添加新的数据存储,选择矢量数据源下的 Shapefile - ESRI™ Shapefiles (*.shp)
在接下来的页面,选择工作区gishub、输入数据源名称cesi、选择文件夹路径、编码等,如下设置。
4、图层->新建图层,选择刚刚创建的数据存储名:cesi。然后会看到一个列表,列表中的一个图层名称对应刚刚我们复制过去的一个.shp文件。
点击发布按钮,先选择从数据中计算获取范围,再点下面的compute from native bounds
点击Layer Preview 找到刚才发布的图层名称点击openlayers 则可以看到效果