Geoserver相关知识(一)

一、Geoserver

Geoserver是 OpenGIS Web 服务器规范的 J2EE 实现,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过 GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。

Geoserver是一个功能齐全,遵循OGC开放标准的开源WFS和WMS服务器。利用Geoserver可以把数据作为maps/images来发布(利用WMS来实现)也可以直接发布实际的数据(利用WFS来实现),同时也提供了修改,删除和新增的功能(利用WFS)。

GeoServer, 顾名思义,是一个Server. 它是开源的,允许用户查看和编辑地理数据。这是地理信息系统(GIS) 领域。GeoServer 是符合OGC 规范的一个全功能的WFS 和WMS server。

GeoServer能够发布的数据类型:
①地图或影象——WMS;
②实时数据——WFS;
③用户更新、删除和编辑的数据——WFS。

二、Geoserver安装

1、官网下载geoserver安装包,需要下载tomcat作为容器,tomcat中解压即可使用。
下载地址注意:下载的Tomcat的位数要和Java环境位数一致,例如JDK安装的是64位的,那tomcat也应该选择下载部署64位的。
下载后,解压到一个Tomcat 安装目录中的webapps文件夹下,如D:\software\Tomcat\apache-tomcat-8.5.35\webapps
在这里插入图片描述
只需解压,无需安装;可双击执行如下目录bin下的startup.bat文件。
在这里插入图片描述
由于tomcat从7.0.41版本开始就支持跨域了,只需要进行下面的简单配置:
● 找到geoserver的web.xml文件,我的电脑对应的路径为D:\software\Tomcat\apache-tomcat-8.5.35\webapps\geoserver\WEB-INF\web.xml;
在这里插入图片描述
● 打开该文件,将下面的配置添加至该文件:

<filter>
    <filter-name>CorsFilter</filter-name>
    <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>CorsFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

注意:geoserver默认的管理员账号为:admin/geoserver
2、启动geoserver。
打开tomcat的bin目录,点击startup.bat文件

三、WMS

Web地图服务(Web map service)利用具有地理空间位置信息的数据制作地图,将地图定义为地理数据可视的表现。

这个规范定义了三个操作:
①GetCapabitities返回服务级元数据,它是对服务信息内容和要求参数的一种描述;
② GetMap返回一个地图影像,其地理空间参考和大小参数是明确定义了的;
③GetFeatureInfo(可选)返回显示在地图上的某些特殊要素的信息。

四、WFS

Web要素服务(WebFeatureService),基础接口是GetCapabilities。

支持对地理要素的插入,更新,删除,检索和发现服务。

该服务根据HTTP客户请求返回GML(Geography Markup Language、地理标识语言)数据。

WFS对应于常见桌面程序中的条件查询功能,WFS通过OGC Filter构造查询条件,支持基于空间几何关系的查询,基于属性域的查询,当然还包括基于空间关系和属性域的共同查询。

五、Geoserver+Openlayers3加载瓦片地图

Geoservser上使用瓦片地图进行加载,第一次加载后会在服务器端指定文件夹自动生成加载过的地图切片,以后每次加载时会从该文件夹直接读取,大大增加了地图加载的速度。

首先进行Geoserver配置:

1.geoserver运行前,在Geoserver安装目录下的web.xml文件中添加如下参数,设置瓦片存储的位置。不预先设定的话默认存储于系统的tmp目录(windows下为C:\Users<用户名>\AppData\Local\Temp,linux下为/tmp)。如下图所示,地图切片将存储于D:\gwc文件夹下:
在这里插入图片描述

2.点击Geoserver主页左侧的Gridsets,然后点击Create a new gridset,填入新建的gridset的名称,坐标系,然后点击Compute from maximum extent of CRS,最下面的Add zoom level用于设定地图的缩放层级,按需要的层级数量加即可,最后点击保存;
在这里插入图片描述
3.点击左侧工具栏的Caching Defaults,在最下面Add default gridset下拉菜单选择刚刚建立好的gridset,点击提交;

4.点击左侧工具栏的Tile Layers,可以看到发布的图层列表,在每个元组的右侧的Select One下拉菜单可以选择坐标系(不进行步骤3则看不到刚刚设定gridset时的那个坐标系),点击后就是按该坐标系生成的瓦片地图,可以发现Geoserver还是使用的Openlsyers2。打开在步骤1中设定的存储路径,一边放大缩小地图可以看到在动态的生成地图缓存文件,点开会发现不同放大级数的地图切片。
在这里插入图片描述
在这里插入图片描述
5.跟普通的加载WMS地图不同的地方就是需要设定TileGrid,TileGrid里面的origin表示瓦片地图开始切片的起始点坐标,resolutions 表示地图的放大层级,这些在上面配置Geoserver的步骤4中打开的瓦片地图页面中查看源代码都能找到。完成这些配置后就是建立一个html页面,把地图添加进去就行了!

<span style="font-family:Microsoft YaHei;">
	function init(){
   
   
	  var format = 'image/png';
      var bounds = [73.44695998458512,3.6193745040060596,135.07924998249888,53.557498986448266];
	  var gr = new ol.tilegrid.TileGrid({
   
   
	  	origin : [ -180.0,-90.0 ],
	  	resolutions : [ 0.703125, 0.3515625, 0.17578125, 0.087890625, 0.0439453125, 0.02197265625, 0.010986328125, 0.0054931640625, 0.00274658203125, 0.001373291015625, 6.866455078125E-4, 3.4332275390625E-4, 1.71661376953125E-4, 8.58306884765625E-5, 4.291534423828125E-5, 2.1457672119140625E-5, 1.0728836059570312E-5, 5.364418029785156E-6, 2.682209014892578E-6, 1.341104507446289E-6, 6.705522537231445E-7, 3.3527612686157227E-7 ]
  	});
	var layer1 = [new ol.layer.Tile(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值