GIS的学习(二十七)OGC 的WCS WFS 及WMS 服务

http://www.gisall.com/?6678/viewspace-318

 

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。
Web地图服务
Web地图服务(
WMS)利用具有地理空间位置信息的数据制作地图。其中将地图定义为地理数据可视的表现。这个规范定义了三个操作:GetCapabitities返回服务级元数据,它是对服务信息内容和要求参数的一种描述; GetMap返回一个地图影像,其地理空间参考和大小参数是明确定义了的;GetFeatureInfo(可选)返回显示在地图上的某些特殊要素的信息
Web要素服务
Web地图服务返回的是图层级的地图影像,Web要素服务(
WFS)返回的是要素级的GML编码,并提供对要素的增加、修改、删除等事务操作,是对Web地图服务的进一步深入。OGC Web要素服务允许客户端从多个Web要素服务中取得使用地理标记语言(GML)编码的地理空间数据,这个远东定义了五个操作:GetCapabilites返回Web要素服务性能描述文档(用XML描述);DescribeFeatureType返回描述可以提供服务的任何要素结构的XML文档;GetFeature为一个获取要素实例的请求提供服务;Transaction为事务请求提供服务;LockFeature处理在一个事务期间对一个或多个要素类型实例上锁的请求。
Web覆盖服务
Web覆盖服务(
WCS)面向空间影像数据,它将包含地理位置值的地理空间数据作为“覆盖(COverage)”在网上相互交换。网络覆盖服务由三种操作组成:GetCapabilities,GetCoverage和DescribeCoverageType。GetCapabilities操作返回描述服务和数据集的XML文档。网络覆盖服务中的GetCoverage操作是在GetCapabilities确定什么样的查询可以执行、什么样的数据能够获取之后执行的,它使用通用的覆盖格式返回地理位置的值或属性。DescribeCoverageType操作允许客户端请求由具体的WCS服务器提供的任一覆盖层的完全描述。

   以上三个规范既可以做为Web服务的空间数据服务规范,又可以做为空间数据的互操作实现远东。只要某一个GIS软件支持这个接口,部署在本地服务器上,其他GIS软件就可以通过这个接口得到所需要的数据。从技术实现的角度,可以将Web服务理解为一个应用程序,它向外界暴露出一个能通过Web进行调用的接口,允许被任何平台、任何系统,用任何语言编写的程序调用。这个应用程序可以用现有的各种编程语言实现。Web服务最大的特点是可以实现跨平台、跨语言、跨硬件的互操作,正是Web服务中的SOAP、WSDL和UDDI保证了Web服务的跨平台互操作的特性,所以,如何使用SOAP、WSDL和UDDI来部署、描述、传输和注册一个Web服务是实现Web服务的关键。由于SOAP、WSDL和UDDI是一套标准,不同的厂商可以有实现这些标准的不同产品,例如SUN、APACHE、IBM、Borland等公司推出的基于JAVA平台的Web服务工具包,以及微软提出的.NET平台等,这些工具为实现Web服务的开发、部署、描述提供了方便的工具,极大的降低了开发Web服务的复杂度

 

 

http://liumingm.javaeye.com/blog/321997

种地理参考信息模型:WMSWFSWCS

关键字: gis wms wfs wcs

OGC1999年开始WMT1(Web Map Tested)和WMT2互操作项目。其中著名的GML来自WMT1的成果。

在WMT2中OGC定义了三种地理参考信息模型:Web Map Server(WMS) , Web Feature Server(WFS)   ,Web Coverage Server(WCS)   .

 

1.Web 地图服务(WMS

能够根据用户的请求返回相应的地图(包括PNG,GIF,JPEG等栅格形式或者是SVG和WEB CGM等矢量形式)。WMS支持网络协议HTTP,所支持的操作是由URL定义的。

有三个重要操作GetCapabilities,GetMap,GetFeatureinfo。

GetCapabilities返回服务级元数据。

GetMap返回一个地图影像。

GetFeatureinfo返回显示在地图上的某些特殊要素的信息。

还有一些其它操作如DescribeLayer,GetLegendGraphic,GetStyles,SetSytles。

事实上用传统的观点来解释,GetMap获得的就是在桌面程序中画在控件上的里的结果,是数据的表现。

GetFeatureInfo更容易理解,它和几乎所有的桌面程序上都用的Info按钮功能相同,都是用来获得屏幕坐标某处的信息,GetFeatureInfo中的参数是屏幕坐标、当前视图范围等,在一定程度上也方便了客户端的编写。

GetFeatureInfo可以同时返回多个图层中的要素信息,这一点和ArcGIS Desktop等也都是相同的。WMS还包括一些GetLegend之类的返回图例信息的请求,也是完全按照桌面既有的标准定义的。

 

2.Web 要素服务(WFS

支持对地理要素的插入,更新,删除,检索和发现服务。该服务根据HTTP客户请求返回GML数据。

其基础接口是:GetCapabilities,DescribeFeatureType,GetFeature

GetCapabilities同上。

DescribeFeatureType返回要素结构,以便客户端进行查询和其他操作。

GetFeature可根据查询要求返回一个符合GML规范的数据文档。GetFeature是最重要的接口。

其它接口如Transaction 它不仅能提供要素读取,同时支持要素在线编辑和事务处理。

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

在Web上,WFS的请求不是以SQL实现的,而是通过Filter XML来实现,可扩展性更强。WFS所返回的是查询的结果集,从某种程度上说,区别于WMS的“数据的表现”,WFS的结果集是由完整的Schema定义和约束的结果集,以GML为载体。这个结果集,类似于桌面程序查询结果的数据表。

 

3.Web地理覆盖服务(WCS

提供的是包含了地理位置信息或属性的空间栅格图层,而不是静态地图的访问。

根据HTTP客户端要求发送相应数据,包括影像,多光谱影像和其它科学数据.

有二个重要操作GetCapabilities,GetCoverage

GetCapabilities返回一个描述服务和XML文档,从中可获取覆盖的数据集合。

GetCoverage是在GetCapabilities确定查询方案和需要获取的数据之后执行,返回覆盖数据。

还有可选操作DescribeCoverageType。

WCS对应基于栅格数据的功能,与WMS基于矢量数据的特点相对应。

 

 

 

另:Web Processing Server(WPS)是新近推出的标准,它的功能其实我们已经耳熟能详了。Processing即ArcView中的GeoProcessing,诸如Union,Intersect等方法。WPS要做的就是暴露基于URL接口来实现客户端通过WebService对此类方法的调用、并返回数据。

这些规范基本在各大主流GIS平台和开源GIS软件中得到支持。

Intergraph早就推出了WFS服务器和互操作开发包。

ESRI在ArcIms 中开发了支持WMSWFS等规范的相关部件。

MapInfo8.5也已经增加了能访问WMSWFS服务,也有读取GML数据的借口功能。

GeoServer,MapServer地图服务器扮演向网络中的客户端提供地图服务的角色。这类地图服务器可以接收统一规范的WMSWFS请求(request),返回多种格式的数据。这个过程有WMS/WFS规范的严格规定,所以,对客户端来说其地图服务器的实现究竟是什么并不会造成太大影响。这样的规范,为公共的、联合的地图服务创造了可能。

OpenLayers/MapBuilder,uDig,QGIS这些客户端软件分为浏览器和桌面客户端程序两种。以OpenLayers为代表的B/S系统客户端现在已经非常强大,它可以封装WMS请求,在浏览器上实现地图的切片载入功能。另外拖动、缩放都功能也非常完善,可以实现跨浏览器操作。最近的OpenLayers版本还支持了矢量编辑功能,可以通过WFS-t提交。而传统的桌面客户端程序功能则更加强大,支持多种包括WMSWFS在内的数据源,另外编辑功能、操作性也要比浏览器中的强大。

 

geoserver扫盲 openlayers相关 收藏
 
geoserver扫盲 openlayers相关
WMS: Web Map Service(Web地图服务 )
l  利用具有地理空间位置信息的数据制作地图。其中将地图定义为地理数据可视的表现。这个规范定义了三个操作:

n  GetCapabitities 返回服务级元数据,它是对服务信息内容和要求参数的一种描述;

n  GetMap 返回一个地图影像,其地理空间参考和大小参数是明确定义了的;

n  GetFeatureInfo(可选)返回显示在地图上的某些特殊要素的信息

 

WFS: Web Feature Service(Web要素服务)
l  Web 地图服务返回的是图层级的地图影像,

l  Web要素服务(WFS)返回的是要素级的GML编码,并提供对要素的增加、修改、删除等事务操作,是对Web地图服务的进一步深入。OGC Web要素服务允许客户端从多个Web要素服务中取得使用地理标记语言(GML)编码的地理空间数据,定义了五个操作:

n  GetCapabilites    返回Web要素服务性能描述文档(用XML描述);

n  DescribeFeatureType    返回描述可以提供服务的任何要素 结构的XML文档;

n  GetFeature    一个获取要素实例的请求提供服务;

n  Transaction    为事务请求提供服务;

n  LockFeature    处理在一个事务期间对一个或多个要素类型实例上锁的请求。

 

WFS-T: Web Map Service-Transactional. 允许用户以可传输的块编辑地理数据。
 

WCS:Web Coverage Service(Web覆盖服务)
Web 覆盖服务(WCS)面向空间影像数据,它将包含地理位置值的地理空间数据作为“覆盖(Coverage)”在网上相互交换。

l  网络覆盖服务由三种操作组成:GetCapabilities,GetCoverage和DescribeCoverageType:

n  GetCapabilities 操作返回描述服务 和数据集的XML文档。

n  GetCoverage操作是在GetCapabilities确定什么样的查询可以执行、什么样的数据能够获取之后执行的,它使用通用的覆盖格式返回地理位置的值或属性。

n  DescribeCoverageType 操作允许客户端请求由具体的WCS服务器提供的任一覆盖层的完全描述。

 

GML: Geography Markup Language. 一种用于描述地理数据的XML。
 

OGC——Open Geospatial Consortium——开放地理信息联盟
 

总之 , GeoServer 是您需要显示地图在网页的那些工具的当中一个,用户可以缩放并且移动。可以与一些客户端联合使用,比如: MapBuilder (for web pages), UDig, GVSig,等等。 对标准的使用允许信息从GeoServer 到其它地理信息可以很容易地被结合。

 

如果你对GeoServer发出一个WMS请求,你就可能得到如下的一张图:

 

 

查看Demo
在welcome界面中单击demo page链接,进入页面后单击WFS-T链接就可以启动一个名叫MapBuilder的基于Javascript的地图地图编辑器。启动 MapBuilder后我们可以看到一张样图,那就就从它开始吧!用其提供的工具对图进行修改。自己练习。

 

关于geoserver开发
geoserver只能用j2ee开发

geoserver是符合ogc   wms/wfs/wcs标准的地图服务器,建设一套完整的webgis系统还需要客户端配合,mapbuilder和openlayers是非常好的两个选择。对于较大的项目,空间数据库也是必不可少的,geoserver支持商业的oracle、db2,开源的postgis、mysql。

扯得更远一点,geoserver支持google   map和google   earth。

 

Geotools
外文官网
http://geotools.codehaus.org/

 

Geotools是开源的Java代码库,在GIS中提供对地理空间数据的标准操作。简单说,它就是一个中间件,提供的功能符合OGC规范,且与GeoAPI有密切的联系。它支持的数据格式有Shapefile、GML、WFS、PostGIS、Oracle Spatial、ArcSDE、MySQL、GeoMedia、MapInfo等。

利用Geotools能够实现:

l  格网覆盖Grid coverages——栅格数据,

l  坐标系统转换Coordinate Transformation,

l  数据渲染Renderers,

l  格式化Styling——符号化数据集等功能。

 

WFS地址
把下面地址中的HighwayInterchange改成自己创建的featuretype的名字,在浏览器中查看,WFS的URL,

 

http://localhost:8080/geoserver/wfs?request=getfeature&service=wfs&version=1.0.0&typename=States

 

 

下面地址的youtian改成自己的FeatureType名字,就是自己的WFS地址

 

http://localhost:8080/geoserver/wms/kml_reflect?layers=youtian

 

 

Openlayers dom结构


 

OpenLayers项目分析——(一)项目介绍
(OpenLayers JavaScript Mapping Library)

 

(一)项目介绍

网址:http://www.openlayers.org/

 

  OpenLayers 是由MetaCarta公司开发的,用于WebGIS客户端的JavaScript包,目前的最高版本是2.5 V,通过BSD License 发行。它实现访问地理空间数据的方法都符合行业标准,比如OpenGIS的WMS和WFS规范, OpenLayers采用纯面向对象的JavaScript方式开发,同时借用了Prototype框架和Rico库的一些组件。

 

  采用OpenLayers作为客户端不存在浏览器依赖性。由于OpenLayers采用JavaScript语言实现,而应用于Web浏览器中的DOM(文档对象模型)由JavaScript实现,同时,Web浏览器(比如IE,FF等)都支持DOM 。

 

  OpenLayers APIs采用动态类型脚本语言JavaScript编写,实现了类似与Ajax功能的无刷新更新页面,能够带给用户丰富的桌面体验(它本身就有一个Ajax类,用于实现Ajax功能)。

 

  目前,OpenLayers所能够支持的Format有:XML、GML、GeoJSON、GeoRSS、JSON、KML、WFS、WKT(Well-Known Text)。在OPenlayers.Format名称空间下的各个类里,实现了具体读/写这些Format的解析器。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/limina/archive/2008/07/31/2743622.aspx

转载自:https://blog.csdn.net/longgangbai/article/details/84287932

You may also like...