您的位置:GIS门户网 WebGIS 正文
GIS网内容搜索
GIS网热门内容
GIS网推荐内容
GIS网最新内容
提出意见和建议

WebGIS系统的设计与实现

GIS门户网提示:本文章共4017字,分3页,当前第1页,快速翻页:
 

WebGIS是Internet技术应用于GIS开发的产物。WebGIS,即互联网地理信息系统,以互联网为环境,以Web页面作为GIS软件的用户界面,把Internet和GIS技术结合在一起,为各种地理信息应用提供GIS功能。GIS通过Web功能得以扩展,通过Web发布地图、浏览空间数据,制作专题图,例如大家熟悉的Go2Map、Google Map、MapBar等等。

[使用的技术:GIS基本开发、.net Remoting、ASP.net开发和控件开发、设计模式]
 WebGIS的基本原理

WebGIS的原理并不复杂,主要流程如下(下图):
(1)首先,设计一个可以交互的Web页(可以应用ASP、PHP、ASP.net、JSP等,商用WebGIS大多选择除了PHP的其他语言,而开源WebGIS大都选择了PHP),通过此Web页,向Web服务器提交有关GIS服务的请求;
(2)此请求会包含对地图数据的请求,包括查询等,请求会通过Web服务器提交给GIS应用服务器;
(3)GIS应用服务器可以使用几种技术,CGI、COM、Java Serverlet或者.net技术、Web Service技术,通过这些组件包装已有的GIS软件,获取客户端的请求,将用户需求转化为具体的操作,返回需求的数据(一般是一个地图图片或者查询的数据集),这个过程称为地图的Render,实际上也是最为耗时的操作;
(4)Web服务器获取了GIS应用服务器返回的图片,然后作为一个Web页返回给客户。
1.jpg 


这就是WebGIS的基本原理,另外一类基于客户端插件,如ActiveX或者Applet的WebGIS系统,差别在于GIS服务器不生成图片,而返回矢量数据集。

这样,可以看出,WebGIS的关键是设计GIS应用服务器,该服务器的性能和效率很大程度上决定了WebGIS的性能。

WebGIS的设计

接着我们来设计一个自己的WebGIS系统。我们的需求非常简单,可以将一个地图以固定的分辨率显示在Web浏览器,可以放大、缩小和移动。这个功能虽然简单但五脏俱全,大概可以一窥WebGIS的基本原理。

我们选择使用.net技术,首先需要对系统进行划分,Web开发使用ASP.net的Web Control来封装一个简单的控件,ASP.net的Web页通过此控件来显示地图,控件包括几个主要操作的接口。此Control每次Render的时候都需要调用GIS服务器获取需要的数据,然后将此图片Render为Web页的一部分。

GIS服务器负责打开GIS空间数据,接受请求,生成图片,然后返回之。我们知道,空间数据的打开、关闭是非常耗时的操作,因此,GIS服务器应该保证“一直开着”,而不是一个简单的组件,每次请求时都打开、关闭GIS数据。要获得这样的功能可以通过几种方式:(1)使用一般控件或Web Service,在Global.asax中的 Application_Start 中启动打开数据;(2)使用Windows服务(CSDN的一篇翻译文章对使用Windows服务有详细说明:http://editblog.csdn.net/msdncolumn/archive/2005/05/26/3710.aspx);(3)使用Remoting技术,采用Singleton方式的服务器端,可以保证所有请求使用的都是同一对象,而且对象在生存期内不会频繁打开和关闭。实际系统大概是同时使用了几种技术,例如使用Windows服务在开机时启动,然后创建Remoting服务器端。

一般来说,GIS服务器都使用了创建Map Service(地图服务)的方式,就是说,可以在GIS服务器创建多个Service,提供Map服务。这样,前端的Web页调用Map Service服务,服务控制空间数据,在Web程序调用之前,GIS服务器已经打开了空间数据,等待提供服务。这样,我们一方面对程序进行了分层,另一方面通过分层,意外的获得了可以通过在GIS服务器端控制Map Service的方式更新、修改地图数据,而不影响Web服务的好处。

以下即为一个基于.net设计的WebGIS的架构示意,不同颜色表示可以部署于不同的机器。其中GIS应用服务器上运行Map Service,为前端的Web程序提供地图数据。
2.jpg 



详细设计与系统实现

GIS服务器(基于.net Remoting)
 

收藏本页:

点这里复制本页地址发送给您QQ/MSN上的好友

相关文章

奥运金牌榜-webgis平台应用开发
2008ESRI全球用户大户技术热点快递
WebGIS发布前GIS工程规划设计
gis webgis开发在农业gis中应用
java抗旱GIS开发实例
webgis二次开发在城市管网规化的应用案例
WebGIS学习
WebLogic Server 管理最佳实践
WebLogic域配置策略--手动和模板选项
在weblogic上配置SSL
转载:如何构建REST风格的WEB地图服务
Web2.0时代,百问不如一试
web服务器安全配置的五个小常识
FreeBSD是什么?FreeBSD的优缺点分析

相关评论


GIS门户网提示:本文章所属分类:首页 WebGIS
GIS

GIS