题记——
今天睡了午觉起来头昏脑涨,喉咙还不舒服,我一定是受凉了。啊~
决定摘(脱)抄(密)节(处)选(理)一篇以前写的技术文档,滥竽充数。
这篇仅介绍地理空间数据服务的基础知识,以及如何在Windows系统上搭建一个本地GeoServer,并发布DEM数据的简单demo。
去年我就是在这些基础知识上,发布了DEM数据服务,并在地面站软件上编写WCS客户端实现DEM数据下载以及其他功能。
好了,不废话,开始了。
一、简介OGC的WMS、WMTS、WCS和WFS
1、OGC是什么?
OGC——Open Geospatial Consortium——开放地理信息联盟,是一个非盈利的志愿的国际标准化组织,引领着空间地理信息标准及定位基本服务的发展目前在空间数据互操作领域,基于公共接口访问模式的互操作方法是一种基本的操作方法。通过国际标准化组织(ISO/TC211)或技术联盟(如OGC)制定空间数据互操作的接口规范,GIS软件商开发遵循这一接口规范的空间数据的读写函数,可以实现异构空间数据库的互操作。基于http(Web)XML的空间数据互操作是一个很热门的研究方向,主要涉及Web Service的相关技术。OGC和ISO/TC211共同推出了基于Web服务(XML)的空间数据互操作实现规范Web Map Service、Web Feature Service、Web Coverage Service以及用于空间数据传输与转换的地理信息标记语言GML。
2、WMS是什么?
WMS——Web Map Service——即网络地图服务,可利用具有地理空间位置信息的数据发布网络地图服务,其将地图定义为地理数据的可视表现。这个规范定义了三个主要操作:GetCapabitities返回服务级元数据,它是对服务信息内容和要求参数的一种描述,服务器必须实现; GetMap返回一个地图影像,其地理空间参考和大小参数是明确定义了的,服务器必须实现;GetFeatureInfo返回显示在地图上的某些特殊要素的信息,服务方可选择性实现。
3、WMTS是什么?
WMTS——Web Map Tile Service——即网络地图切片服务,这个标准定义了一些操作,这些操作允许用户访问切片地图,支持RESTful访问。这些操作主要包括:GetCapabilities返回服务级元数据,它是对服务信息内容和要求参数的一种描述,服务器必须实现;GetTile获取切片,切片资源表示一个图层的地图表达结果的一小块,服务方必须实现;GetFeatureInfo返回显示在地图上的某些特殊要素的信息,服务方可选择性实现。
WMTS的切片坐标系统和其组织方式可参考下图:
(引自:http://prog3.com/sbdm/blog/warrenwyf/article/details/5756915#Figure23)
WMTS提供了一种采用预定义图块方法发布数字地图服务的标准化解决方案,弥补了WMS不能提供分块地图的不足。WMTS牺牲了提供定制地图的灵活性,代之以通过提供静态数据(基础地图)来增强伸缩性,这些静态数据的范围框和比例尺被限定在各个图块内。这些固定的图块集使得对WMTS服务的实现可以使用一个仅简单返回已有文件的Web服务器即可,同时使得可以利用一些标准的诸如分布式缓存的网络机制实现伸缩性。
4、WCS是什么?
WCS——Web Coverage Service——即网络地理覆盖数据服务,面向空间影像数据,将包含地理位置值的地理空间数据作为Coverage数据在网上相互交换。网络覆盖服务主要由三种操作组成:GetCapabilities返回描述服务和数据集的XML文档;GetCoverage操作是在GetCapabilities确定什么样的查询可以执行、什么样的数据能够获取之后执行的,使用其通用输出格式返回地理位置的Coverage数据;DescribeCoverage操作允许客户端请求由具体的WCS服务器提供的任一覆盖层的完全描述。
5、WFS是什么?
WFS——Web Feature Service——即网络地理要素数据服务,返回的是要素级的GML编码,并提供对要素的增加、修改、删除等事务操作。它允许客户端从多个Web要素服务中取得使用地理标记语言(GML)编码的地理空间数据,主要包括以下这些操作:GetCapabilites返回用XML描述的服务元数据;DescribeFeatureType返回描述可以提供服务的任何要素结构的XML文档;GetFeature处理获取要素实例的请求;Transaction处理事务请求;LockFeature处理在一个事务期间对一个或多个要素类型实例上锁的请求。
6、WMS、WMTS、WCS和WFS的区别与联系
WMS、WM