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

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

时间:2015-09-02  作者:易文虎 杨军
tryCollections)等OpenGIS简单要素规范;

 

5)可通过Data Providers(增加数据类型支持)、Layer Types(增加层类型)和Geometry Types等扩展;

6)图形使用GDI+渲染,支持anti-aliased等;

7)专题图。

3 实验结果

数据:安徽省的shape数据;开发环境:VS2005,IIS;开发语言:c#。

实现步骤:

1)新建一个WebService,实现WMS的函数:GetMap,Getcapabilities;

2)配置Webcong,使该WebService支持GET和POST请求两种方式;

3)GET方法实现如下:

第一步:新建asp.net website,获取http GET请求的相关参数;

第二步:通过GET方法,根据上一步参数调用新建的WebService,获得地图字节流;

第三步:所获得的字节流是以XML文档传输的,并对地图字节流采取一定的编码方式,对该XML文档进行解译,并对字节流进行解码,获得地图的原始数据;

第四步:将所获得地图渲染出来;

第五步:利用IIS发布WebService和asp.net website即可。

效果如图[4]和图[5]:

所给请求字符串1:

http://localhost/WMS/Default.aspx?VERSION=1.3.0&REQUEST=GetMapExtended&Layers=Xian,Xianboundary,XianLabel&STYLES=&CRS=EPSG:21413&BBOX=-176102.69,174551.45,270467.229,490514.5&FORMAT=image/png&WIDTH=1024&HEIGHT=768&ACTIVELAYER=Xian

所给请求字符串2:

http://localhost/WMS/Default.aspx?VERSION=1.3.0&REQUEST=GetMapExtended&Layers=Dq,Dqboundary,DqLabel&STYLES=&CRS=EPSG:21413&BBOX=-176102.69,174551.45,270467.229,490514.5&FORMAT=image/png&WIDTH=1024&HEIGHT=768&ACTIVELAYER=Dq

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

图[4] 图[5] 图[6] POST界面

4)POST方法实现如下:

第一步:新建asp.net Website;

第二步:设计POST界面如图[6]所示,主要包括REQUEST描述,POST地址,POST数据;

第三步:获取post地址,及要post的相关数据,利用该值初始化HttpWebRequest对象,设置POST方法,利用HttpWebResponse 获得post的XML,对该XML文档进行解译,并对字节流进行解码,获得地图的原始数据;

第四步:将所获得地图渲染出来;

第五步:利用IIS发布asp.net website即可。

核心代码如下:

public byte[] GetMap(string UserRequest)

{

byte[] bytesmap=null;

byte[] bytesmap1 = null;

System.Drawing.Imaging.ImageCodecInfo imageEncoder;

。。。。。。

{

string splitstringLower = splitstring.ToLower();

//Request中的参数名称大小写不敏感,因此在涉及到参数名称时,使用splitstringLower,涉及到参数值时,使用splitstring

int exist = splitstringLower.IndexOf('request');

if (exist >= 0)

{

string[] requestvalue = splitstring.Split(new char[] { '=' });

haveREQUEST = true;

REQUEST = requestvalue[1];

break;

}

}

System.IO.MemoryStream MS = new System.IO.MemoryStream();

img.Save(MS, imageEncoder, null);

img.Dispose();

byte[] buffer = MS.ToArray();

bytesmap = buffer;

}

return bytesmap;

}

}

POST方法获得地图数据,并渲染地图:

protected void Page_Load(object sender, EventArgs e)

{

# region 创建HttpWebRequest对象

string service = Session['URL'].ToString();

。。。

image.Dispose();               // 释放图像资源

using (MemoryStream ms = new MemoryStream())// 采用二进制流的方式输出图片

{

newImage.Save(ms, ImageFormat.Jpeg); //图片格式指定为Jpeg

Response.ClearContent();       //清除缓冲区流中的所有输出

Response.ContentType = 'image/jpeg'; //输出流的HTTP MIME类型设置为'image/Png'

Response.BinaryWrite(ms.ToArray());  //输出图片的二进制流

}

newImage.Dispose();   // 释放图像资源

Response.Flush();    // 输出

Response.End();

}

4 结论

.NET是 Microsoft用以创建Web服务平台,该平台将信息、设备和人以一种统一的、个性化的方式联系起来。借助于.NET平台,可以创建和使用基于XML的应用程序、进程和Web站点以及服务。通过.NET,所有的联网设备共同组成了一个无处不在的分布式计算平台,能够进行最有效的计算。通过Web Service,用户可以在任何时间、任何地点、通过任何设备获得信息。

Web Service的出现,改变了网络软件开发的方式,甚至改变了网络软件的使用方式。从开发方式来讲,Web Service就是网络上的组件,可以使用Web Service构建基于组件的WebGIS软件。而从使用方式来看,WebGIS软件的开发已经不局限于网络制图,网络数据的交换等功能,目前已经在向服务使用的方向发展。由第三方将数据和对数据的操作及使用等功能以Web Service的方式提供出来,将大大减轻开发者在利用GIS数据开发WebGIS软件和应用过程中的困难,更好地解决WebGIS中出现的各种问题。


5 参考文献
[1] 李新通,何建邦. GIS互操作与OGC规范[M]. 地理信息世界.2003
[2] 贾文珏,陈玉敏,龚健雅,李爱霞. 基于WebService的OGC地图服务实现方法[J].测绘信息与工程.2004
[3] 陈 博,徐满武. 基于Web 服务的计算模型———Web Service[J]. 计算机应用研究.2003
[4] 顾宁 等编著. Web Services原理与研发实践[M]. 北京:机械工业出版社.2006

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