欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 科技论文 > 网站设计论文

基于OGC规范的GET和POST请求的WMS实现

时间:2015-09-02  作者:易文虎 杨军

摘要:本文介绍了WebService及其相关技术发展现状,并详细阐述了OGC规范中WMS的相关标准与要求。结合需要,自主在VS 2005 C#平台下实现了WMS的服务开发与用户测试,并进行了相关技术总结与归纳。
论文关键词:WebService,OGC,WMS服务

近几年WebGIS 取得了快速发展,其应用也扩展到GIS应用领域的各个方面。但传统的WebGIS软件技术中仍存在一些局限,具体表现在:并发处理能力差,响应速度慢;系统的异购兼容性不足。解决传统WebGIS软件的上述问题,Web Services技术以及.NET,J2EE等主流开发平台为我们提供了很好的解决方案。本文的目的就是要弄清楚Web Services技术架构,并且分析如何采用基于.net的开源库Sharpmap,实现符合OGC(Open Geospatial Consortium)标准之一Web Map Service的网络地图服务。证明采用Web Services技术封装与发布空间数据,实现地理信息系统的功能变为Web服务的可行性。

2 相关技术介绍

2.1 WebService介绍及相关技术

Web Service的实现包括三个核心技术:UDDI(统一描述,发现和集成协议Universal Description,Discovery and integration)用于规范服务的注册,查找和发现过程,WSDL(网络服务描述语言Web Service Description Language)用于规范服务的描述,SOAP(简单对象访问协议Simple Object Access Protocol)用于规范调用服务时采用的通讯协议。

Web Service的工作流程如图[1]所示:

图[1] Web Service工作流程

Web Service是由一系列的协议组成,Web Service的协议栈如图[2]所示,当然目前的协议栈还在不断的扩展,有进一步发展的巨大空间:

基于OGC规范的GET和POST请求的WMS实现

图[2] Web Service协议栈

从以上的协议栈看:下面两层是先前已经定义好的并且广泛使用的传输层和网络层的标准,如:IP, HTTP,SMTP等。而中间的四层是目前开发的Web Service的相关标准协议,也是Web Service的核心技术,包括服务调用协议SOAP、服务描述协议WSDL,服务发现/集成协议UDDI,以及服务工作流描述语言WSFL。最上层描述的是更高层的待开发的关于路由、可靠性以及事务等方面的协议。右边的部分是各个协议层的公用机制,这些机制一般由外部的正交机制来完成。

以下主要介绍协议栈的三个主要协议具体体现在服务调用的时候的角色以及分工:如图[3]在机器B上部署Web Service服务,在机器A上部署着调用该服务的站点。A发送请求给B,B发送响应给A。他们通讯的协议是HTTP,发送请求和相应的数据格式都是基于XML(SOAP)的数据,A机器的代理和存根真正负责起A与B之间服务的调用。WSDL是用于描述A与B通讯接口的协议;UDDI相当于我们的电话黄页簿,所有的Web Service服务可以在UDDI上进行处理,即需要在UDDI上注册WSDL文档。

因此整个调用的过程我们可以描述如下:A要调用B的某个服务,它可以先到UDDI服务器上去查找描述服务的WSDL文档。生成WSDL Proxy,然后再与机器B上的WSDL Stub通讯,这样我们可以明确Web Service调用中的通讯协议,消息格式,描述语言以及发现机制分别如图[3]中①②③④所示。

图[3] Web Service调用过程图

2.2 OGC规范的WMS的相关标准

OGC WMS属于OGC图示表达服务,在WMS规范中将地图定义为地理数据可视的表现,WMS返回的不是地图数据,而是地图图象,WMS规范定义了三个操作:

GetCapabilities操作返回服务级元数据,它是对服务信息内容和请求参数的一种描述,元数据使用XML形式文件表示;

GetMap操作根据客户端发出的请求参数在服务端进行检索,服务器返回一个地图图象,其地理空间参数和大小是已经明确定义的,返回的地图图象可以是GIF,JPEG,PNG或SVG格式的;

GetFeatureInfo操作根据用户请求的X,Y坐标或感兴趣的图层,返回这些特殊要素的信息,信息以HTML,GML或者ASCII格式表示。

在 WMS 中GetMap是最重要的一个接口。GetMap的参数有很多,在调用时必须的主要参数如表[1]:

请求参数

定义

VERSION=1.3.0

请求版本号

REQUEST=GetMap

请求的名称

LAYERS=layer_list

以逗号分隔的图层列表

STYLES=style_list

以逗号分隔的每层渲染样式列表

CRS=namespace:identifier

空间参考系统

BBOX=minx,miny,maxx,maxy

矩形框四角的SRS坐标

WIDTH=output_width

地图图象的宽度

HEIGHT=output_height

地图图象的高度

FORMAT=output_format

地图的输出格式

表[1] GetMap主要调用参数

用户可以通过标准的浏览器向WMS发送地图服务请求,请求的方式可以通过在URL中添加请求的类型参数来实现。WMS的GetMap操作支持分布式的地图服务网络来提供给用户。以下给出请求的字符串:

'VERSION=1.3.0&REQUEST=GetMapExtended&Layers=Dq,Dqboundary,DqLabel&STYLES=&CRS=EPSG:21413&BBOX=-399387.65172,16569.92082,493752.18997,648496.04222&FORMAT=image/png&WIDTH=677&HEIGHT=479&ACTIVELAYER=Dq';

在该字符串前再加上完整的域名或者固定的IP地址,就可以返回得到该字符所制定的具体的地图图像。

2.3.开源代码sharpmap的相关介绍

SharpMap是一个基于.net 2.0使用C#开发的Map渲染类库,可以渲染各类GIS数据(目前支持ESRI Shape和PostGIS格式),可应用于桌面和Web程序。SharpMap的发布许可(License)为GNU General Public License,实现了以下功能:

1)支持的数据格式:PostGreSQL/PostGIS,ESRI Shapefile,支持WMS layer支持ECW 和JPEG2000 栅格数据格式;

2)Windows Forms 控件,可以移动和缩放;

3)通过HttpHandler支持ASP.net程序;

4)点、线、多边形、多点、多线和多多边形等几何类型和几何集合(Geome

查看相关论文专题
加入收藏  打印本文
上一篇论文:基于MVC的Web应用框架设计与实现
下一篇论文:基于Web的课程教学平台设计与开发
科技论文分类
科技小论文 数学建模论文
数学论文 节能减排论文
数学小论文 低碳生活论文
物理论文 建筑工程论文
网站设计论文 农业论文
图书情报 环境保护论文
计算机论文 化学论文
机电一体化论文 生物论文
网络安全论文 机械论文
水利论文 地质论文
交通论文
相关网站设计论文
最新网站设计论文
读者推荐的网站设计论文