收稿日期:2007203228;修订日期:2007207212
作者简介:董婧(1982-),女,硕士研究生,主要从事Web GIS 应用研究。
.NET 环境下基于MapObjects 组件的WebGIS 应用研究
董 婧1,郭建文1,冯 敏2
(1.中国科学院寒区旱区环境与工程研究所,甘肃兰州730000;
2.中国科学院地理科学与资源研究所,北京100101)
摘要:为了在Web 环境中重用现有的基于MapObject s 组件的代码资源,以IIS 托管MapObject s
应用的形式,提出了一种新的Web GIS 解决方案:在.N ET 环境下基于MapObject s2.2采用C #语言进行开发,由IIS 托管的服务器端嵌入MapObject s 组件以提供GIS 功能服务,交互页面部分采用ASP .N ET 实现,页面元素与代码分离,结构清晰,安全性高;客户端无需下载、安装插件,借助通用浏览器即可访问Web GIS 服务,提高了其可用性。并以此方案作为系统框架,基于该机制实现了网络版兰州城市交通电子地图,验证了该方案的可行性。关 键 词:Web GIS ;MapObject s ;.N ET ;电子地图中图分类号:TP 79 文献标识码:A 文章编号:100420323(2007)0520668205
1 引 言
Web GIS 是基于Internet 平台、客户端应用软
件采用WWW 协议运行在万维网上的地理信息系统。Web GIS 利用互联网技术来扩展和完善地理信息系统,使用户通过浏览器浏览和获得网上提供的地理信息系统的数据和功能服务。与传统GIS 相比,Web GIS 具有更广泛的访问范围、维护成本低、用户端操作简便等特点。目前实现Web GIS 的技术已经有多种,诸如公共网关接口(C GI )、服务器应用程序接口(Server A PI )、动态服务器端页面(ASP )和插件(Plug 2in )、客户端控件(ActiveX Con 2t rol )和J ava 等[1~3],这些技术方法各有所长。现有大量基于MapObject s 的二次开发应用代码资源[4~9],如何能够在Web 环境中低成本地重用这部分代码资源,是非常具有现实意义的一个问题。然而用上述技术方法解决这一问题时,由于开发环境的不同及体系结构的局限等原因,代码资源的重用水平比较低,对此,研究提出了一种由IIS 托管Map Object s 应用的Web GIS 解决方案,采用.N ET 框架作为开发平台,结合ASP .N ET 技术,实现了快速、有效的基于单机应用的代码资源向Web GIS 应用
方式扩展的应用方案,此方案从系统的开发流程简单性、交互性、部署难易性、安全可靠性、可移植性等几个方面均能满足应用的要求。
首先,作为Web GIS 服务,安全性是必须要考虑的环节。采用该方案,一方面无需在客户端安装插件,
从而增加了安全性;另一方面.N ET 框架具有优良的可靠性,其对类型安全、代码共享以及应用程序隔离等功能进行了加强,从而可以确保任何应用程序都不会影响或非法调用其它应用程序。C #编程语言通过.N ET 框架提供的垃圾回收和类型安全机制及内部代码信任机制实现了可靠性和安全性[10,11]。MapObject s 组件从2.2版本开始支持.N ET 环境下的应用开发,从而可以在目标应用系
统中嵌入MapObject s 二次开发组件,以提供基础的GIS 功能服务[12]。
2 IIS 托管MapObject s 应用方案
如何在淘宝注册开店2.1 方案实现平台
在这种IIS 托管MapObject s 应用的Web GIS 的解决方案中选用了.N ET Framework 作为服务器端的运行环境[13]。
第22卷 第5期2007年10月
遥 感 技 术 与 应 用
REMOTE SENSIN G TECHNOLOGY AND APPLICATION
V ol.22 N o.5Oct.2007
.N ET Framework 具有两个主要组件:公共语
言运行库CL R (Common Language Runtime )和.N ET Framework 类库。CL R 提供对代码的管理,除了提供内存管理、线程管理和远程处理等核心服务外,还强制实施严格的类型安全以及可以提高安全性和可靠性的其它形式的代码准确性;.N ET Framework 类库是一个综合性的面向对象的可重
用类型集合,包括了从输入输出到数据访问等各方面的内容。可以被用来开发多种应用程序,包括基于ASP .N ET 的应用窗体,如Web 窗体应用程序和XML Web Services 应用程序[14],.N ET Frame 2work 为程序设计师提供了一个完善而且透明清楚
的基础架构来建立Web 应用,并且提供了一个一致
的面向对象的编程环境、一个保证代码安全执行和可消除脚本环境或解释环境的性能问题的代码执行环境。因此.N ET Framework 比较适合于用来开发Web 服务,作为服务器端的运行环境。2.2 系统架构
此解决方案中的系统架构属于B/S (Browser/Server )架构[15],作为客户端的浏览器只负责将用户的请求发送给服务器上的IIS ,再由IIS 调用其托管的服务器端GIS 应用功能组件来处理客户端请求的相关服务,处理完毕之后,再将结果以文字或者图片的形式发回给客户端浏览器。其系统架构如图1所示
。
图1 IIS 托管MapObjects 应用方案的系统架构
Fig.1 System architecture of MapObjects application m anaged by IIS solution
从图中可以看出,该系统架构中服务器端从逻辑上划分为5个部分:Map Web Web 应用程序,用来与客户端交互,解析客户端请求后申请调用Map Communicate 中声明的相应GIS 函数,然后显示返回的处理结果;MapCommunicate 对象继承来自System.MarshalByRefObject 与Map Web Web 应用程序位于不同的应用程序域,Map Web 需要通过
该对象才能调用到Map ForWeb GIS 应用功能组件中的各种方法;Map ForWeb GIS 应用功能组件与MapCommunicate 对象位于同一应用程序域,用来
提供所有的GIS 应用功能,是整个系统的核心所在;Server Port 服务程序,用来在服务器端注册MapCommunicate 对象和TCP 通道;存储空间数据
的文件,用来被Map ForWeb GIS 应用功能组件读取和使用。
3 IIS 托管MapObject s 应用方案的
工作原理
应用方案中在Visual St udio .N ET2003开发平台上进行实现,下面详细阐述其工作机理。3.1 工作原理
客户端和服务器端是按照如下几个步骤完成交互的:
(1)服务器端启动服务程序来进行初始化。首先注册一个TCP 通道,是Map Web Web 应用程序与MapCommunicate 对象联系的桥梁,在二者之间提供通信连接,如传递参数、被调用方法的名称及返回所请求操作的结果等,然后注册处理客户端请求的对象MapCommunicate ,最后启动MapObject s 组件,使其常驻内存,以处理各种GIS 请求。
(2)客户端激活MapCommunicate 对象。
(3).N ET Framework 根据激活请求中提供的
信息创建相应的代理对象Agent 。
(4)客户端向服务器发出操作请求,由IIS 接收该Web 服务请求,然后再根据该请求来申请调用MapCommunicate 对象中相应方法。
(5)客户端对MapCommunicate 对象的方法调
用被代理对象Agent 截获,Agent 实际是由透明代理和真实代理2个代理对象组成,透明代理对象调用真实代理对象,由真实代理对象负责将透明代理
发出的请求传送给格式化程序。
(6)格式化程序将请求按照一个标准的通信协议转换为可以传输的消息并将这些消息通过消息处理对象传送入TCP 通道[16,17]。
(7)格式化程序再将有关方法调用的消息转换为Map Communicate 对象可以理解的调用请求。
(8)Map Communicate 对象执行被请求的操作,调用IIS 托管的Map ForWeb GIS 应用功能组件中相应的GIS 处理子函数来处理该请求,最后产生输出结果,通过TCP 通道将结果输出。若结果是文本
9
66第5期 董婧等:.N ET 环境下基于MapObject s 组件的Web GIS 应用研究
格式则通过ASP .N ET 页面上的Web 控件直接显示在页面上;若是生成新的地图则将其先转换为图片格式,再作为输出结果展示给客户端。
另外,本应用方案中为保证对系统中地图数据的实时更新更加简单容易,采取让Map ForWeb GIS 应用功能组件调用服务程序参数配置文件的方式,这样能灵活修改各种参数配置信息,更新任务在服务器端即可完成。3.2 客户端与服务器端之间的交互过程及系统工
作原理(见图2
)
图2 系统工作原理图
Fig.2 System w orking principle
4 IIS 托管MapObject s 应用方案的
应用实例
利用IIS 托管MapObject s 应用方案作为系统框架,实现了单机版兰州城市交通电子地图向网络版的应用升级,下面介绍开发的详细流程。4.1 功能介绍4.1.1 基本GIS 功能
提供地图放大、缩小、平移、全视图、量距、清除、鹰眼、地图标注、图层控制等基本GIS 功能,方便用户对地图的交互操作。4.1.2 查询功能
(1)地物查询:可以通过查询到指定的宾馆、
饭店、学校、商业、旅游景点等所在的地理位置,地物查询又分为两种形式:①属性查询:根据查询关键字部分匹配查询并分类显示查询结果。在此查询功能中列出了查询类别选择和兰州市常用的重要地
名,方便用户选择使用。②点图查:根据当前查询点和查询距离范围查询并分类显示查询结果,结果只包括当前地图中可见的图层信息。
(2)公交线路查询:乘车路线搜索与乘车路线地图标识。在公交站查询功能中将列出兰州市常用的重要车站名,方便用户选择使用。
4.2 逻辑模块
该系统包含5个逻辑模块,各模块之间的逻辑关系[19,20]如图3所示
。
图3 逻辑模块关系
Fig.3 R elationship of logical modules
(1)U I :与用户的交互页面。全部存放在IIS 服
务器上,用户通过该ASP .N ETWeb 窗体页来提交
操作请求,服务器端的IIS 接收到该Web 服务请求
后调用相应GIS 应用功能组件处理用户请求,再通过这些页面给用户展示处理结果,结果以文本或者图片格式返回给用户。
(2)MapCommunicate :MapCommunicate 对象与IIS 服务器上的Web 应用程序位于不同的应用程序域中,里面包含了系统中所有GIS 功能函数的声明,当服务器端接收到来自客户端的请求后,Map Communicate 对象作为Web 应用程序和Global 之间的中介,由Web 应用程序中激活的代理对象申请调用Map Communicate 对象中声明的某一GIS 功能函数,然后再由Map Communicate 对象调用Global 中相应的实际GIS 功能函数体。
(3)Global :声明了一个HideU I 类模块的实例,当Map Communicate 申请调用某个具体的GIS 功能函数时,引用的都是Glo bal 中实例化后的函数对象。该类使得MapCommunicate 对象能够调用所需要的GIS 功能函数。
(4)HideU I :是一个包含为本Web GIS 系统提供实际GIS 功能函数的MapObject s 组件的容器,里面提供了大量的MapObject s 组件中的变量和方法,如数据对象访问组:数据连接对象、地理数据集对象、记录集对象等;地图显示对象组:地图控件、层集合、符号对象、动态跟踪层对象;几何图形对象组:如矩形、点集、点和线对象[18]等,这些对象实现了系统中所有的GIS 功能。
(5)ServerManage :用来初始化服务器端的通信
76 遥 感 技 术 与 应 用 第22卷
和运行环境。首先注册一个TCP 类型的信道端口,此信道作为传输通道,用来在Web 应用程序和Map Communicate 对象间传送包括MapCommunicate 对象的信息、被调用方法的名称以及所有参数的消息;然后把MapCommunicate 对象注册为已知类型,以便Web 应用程序按照指定的URI 寻该MapCommu 2nicate 对象;最后启动MapObjects ,让MapObjects 常
驻内存来处理GIS 功能函数。
5 结 语
IIS 托管MapObject s 应用的Web GIS 解决方
案属于B/S 应用体系,是一种方便、有效的Web GIS
实现途径,其在.N ET 环境下基于MapObject s2.2GIS 二次开发组件开发,可以低成本地重用现有的大量基于MapObject s 组件的应用代码资源,实现由本地应用向网络应用的升级、扩展,也可以满足对常用Web GIS 应用的发布和使用需求。作为实例,以此方案为框架,利用现有单机版代码资源,实现了兰州城市交通电子地图系统的网络版应用,证明了该方案的可行性、安全性及容易更新、开发成本低的特点。
参考文献:
[1] 尚武.网络地理信息系统(Web GIS )的现状及前景[J ].地质通
报,2006,4(25):5332537.
[2] 赵−,张明.Web GIS 实现技术分析及互操作模型[J ].计算机
应用研究,2003,2:10212.
[3] 邬伦,刘瑜,张晶,等.地理信息系统—原理、方法和应用[M ].
北京:科学出版社,2002.
[4] 郭建文,冯敏,尚庆生,等.基于3S 技术的青藏铁路数字路基
仿真平台应用研究[J ].遥感技术与应用,2006,21(4):3492
354.
[5] 郭建文,盖迎春,王雪梅,等.基于组件技术的张掖电子地图设
计实现与关键技术研究[J ].遥感技术与应用,2004,19(5):
3742378.
[6] 殷志强,秦小光,武法东,等.基于MapObject s 的旅游GIS 开
祭发应用———以圆明园为例[J ].地理空间信息,2006,8(3):
41246.
葡萄籽油
[7] 陈高兴,田震.应用MapObject s 开发地理信息系统[A ].第六
届Arc GIS 暨ERDAS 中国用户大会论文集(2004)[C].2004,
(下),99921003.
[8] 张世强,邹松兵,刘勇.基于MapObject s 的GIS 应用开发浅析李宇春范冰冰
[J ].遥感技术与应用,2000,15(3):1942198.
[9] 高强平,胡社荣.基于MapObject s 和ArcIMS 的耕地后备资
源GIS[J ].地理空间信息,2006,4(5):56257.
[10] Microsoft.C #程序设计语言[M ].北京:高等教育出版社,
2003.
2022年8月7号几点立秋[11]
Microsoft Corporation.MSDN Library for Visual Studio .N ET2003[R ].Microsoft Corporation ,2003.
[12] 周顺平,于海燕,王海龙.组件技术在Map GIS 中的应用[J ].
计算机应用研究,2002,12:1162118.
[13] 张胜,康志伟.基于.N ET 技术的Web GIS 系统的设计与实现
[J ].计算机工程,2006,32(15):1062108.
[14] Simon Robinson ,Burt Harvey.Professional C #(2nd Edit 2
ion )[M ].Wrox Press Inc.,2002.
[15] 尤相骏.Web GIS 解决方案新探[J ].城市勘测,2001,4:132
16.
[16] 王 ,李燕.使用Microsoft Visual C #开发XML Web Serv 2
ices 和Server Component s[M ].北京:北京希望电子出版社,2003.
[17] Simon Robinson ,Christian Nagel.Professional C #(3rd Ed 2
ition )[M ].Wrox Press Inc.,2005.
[18] 刘光.地理信息系统二次开发教程—组件篇[M ].北京:清华
大学出版社,2002.
[19] Sinan Si Albir.UML 技术手册[S].O ’REILL Y ,2002.[20] Booch G ,Rumbaugh J ,J acobson J.UML 用户指南[S].北京:
机械工业出版社,2001.6.
WebGIS Application and R esearch B ased on
MapObjects Component in .NET E nvironment
DON G Jing 1,GUO Jian 2wen 1,F EN G Min 2
(1.Col d and A ri d Regions Envi ronment al and En gi neeri ng Research I nstit ute ,Chi nese A ca dem y of S ciences ,L anz hou 730000,Chi na;2.I nstit ute of Geog ra p hical S ciences
and N at ural Resources Research ,B ei j i ng 100101,Chi na )
Abstract :In order to reuse t he existing code resources based on MapObject s component in Web environ 2ment ,herein a kind of solutio n for Web GIS is p ropo sed ,which was implemented by using Internet Informa 2tion Services to manage MapObject s application.The system based on MapObject s2.2GIS co mponent was built by using C #in .N ET environment.The server managed by IIS and embedded wit h Mapobject s com 2
176第5期 董婧等:.N ET 环境下基于MapObject s 组件的Web GIS 应用研究
276 遥 感 技 术 与 应 用 第22卷高考体检项目有哪些 都检查什么
ponent can supply GIS f unction;Meanwhile,ASP.N ET was used to build web pages responding to client s, for it allows us to separate user interface f rom code files.Besides,web pages being built by ASP.N ET have pellucid architect ure and better security.In addition,users don’t have to download as well as install plug2 ins,t hey can enjoy Web GIS services by using general browser,which increased t he using f requency.As a validation for feasibility and high efficiency,a web version of Lanzhou city’s t raffic digital map was imple2 mented by using t he solution as t he frame.
K ey w ords:Web GIS,MapObject s,.N ET,Digital map
《遥感技术与应用》广告(版位)参考价目表
(人民币,元/期)
颜
四图版黑白文字
幅面位置
封二整版3500—
封三整版3000—
封四整版5000—
内页整版2000500
发布评论