您的当前位置:首页正文

基于.NET和SuperMap平台WebGIS的设计与实现

2022-08-20 来源:好走旅游网
第5期 工矿 自 动化 NO.5 2008年1O月 Industry and Mine Automation 0ct.2008 文章编号:1671~251X(2008)05—0110--03 基于.NET和SuperMap平台WebGIS的设计与实现 吴开兴,韩曦 (河北工程大学信电学院,河北邯郸056038) 摘要:文章在分析WebGIS开发技术的基础上,提出了在B/S模式下、以.NET技术和SuperMap IS.NET为核心开发煤矿采掘衔接系统的设计方案,介绍了基于.NET平台的WebGIS架构设计、煤矿采掘 衔接系统WebGIS的功能及实现的关键技术。 关键词:煤矿;采掘衔接;.NET;SuperMap IS.NET;WebGIS;组件技术;单点登录 中图分类号:TD672;TP311 文献标识码:B 个用户同时发出请求时,服务器的负担较重。 0 引言 1.2 Server API方法 GIS(Geographic Information System,地理信 Server API(服务器应用程序接口)主要有 息系统)是利用电子计算机以及外部设备采集、存 Netscape Server API(NSAPI)和Microsoft's 储、描述和分析地理信息的系统[1]。随着互联网的 Internet Server API(ISAPI)。Server API与CGI 发展,WebGIS为用户提供了更加便利的地理信息 程序不同,CGI程序可以单独运行,而Server API 服务,其具有可以大幅度降低开发成本、扩大应用范 往往依附于特定的Web服务器。但基于Server 围、简化操作、减少软件维护工作量等特点。 API的动态连接模块启动后会一直处于运行状态, 在浏览器界面中,HTML的简单性使得它难以 其速度较CGI快。Server API方法的缺陷在于它 进行复杂的地理图元处理,但是与某些开发技术的 依附于特定的服务器和计算机平台,通用性较差。 结合,可以使它对GIS的支持大大增强。本文探讨 1.3 Servlet方法 了几种webGIS开发的技术方法,并以开发具有实 Servlet是用Java编写的服务器端软件组件, 用和推广意义的煤矿采掘衔接WebGIS为例,阐述 它能动态扩展服务器的功能(通常指HTTP服务 如何基于.NET和SuperMap地理信息系统开发平 器)。相对于CGI和Server API技术,Servlet的优 台有效地实现WebGIS系统的方法。 势在于其性能好、可移植性强。因为Servlet是单进 程、多线程的,对客户的请求响应更快,并且由于 1 WebGIS若干开发技术 Java的跨平台特性,Servlet API广泛地被各种Web 1.1 CGI方法 服务器所采用。 CGI(Common Gateway Interface,通用网关接 综上所述,WebGIS的每一种实现方法均有其 口)允许用户通过网页的命令来启动一个存在于网 优缺点,因此,在实际应用时可根据需要将各种技术 页服务器主机的程序(CGI程序),并且接收这个程 进行集成。本文将采用B/S模式,以.NET技术和 序的输出结果。这种方法的缺点是对于每一个客户 SuperMap IS.NET技术开发煤矿采掘衔接Web— 端的请求,都要重新启动一个新的服务进程,当有多 GIS 2.NET平台上的WebGIS架构设计 收稿日期:2008一O4—12 作者简介:吴开兴(1962一),男,陕西人,教授,硕士研究生导师, 2.1 .NET体系架构介绍 幻 研究方向为多媒体数据库、信息系统设计。 Microsoft.Net框架为构建N层应用程序提 出版社,2002:21~35. r-3]张恂.建立敏捷统一过程框架EEB/OI ].[2oo8~O2 [2]孟倩,周延.UML在数据库建模中的应用I-J].计 ~O1].http://www.um1.org.cn/SoftWareProcess/ 算机工程与应用,2005,41(16):179~183. SoftWareProcess.asp. 2008年第5期 吴开兴等:基于.NET和SuperMap平台WebGIS的设计与实现 (1)JavaScipt脚本语言 ・111・ 供了坚实的平台,它将应用服务器层细分为3层,即 用户表示层、业务逻辑层和数据访问层,简化了企业 级应用系统的开发、部署和管理等相关复杂问题的 体系结构,为企业级服务器端应用的开发人员提供 了极大的便利。 JavaScript是一种基于对象(O ect)和事件驱 动(Event Driven)、并具有安全性能的脚本语言。 它是通过嵌入或调入到标准的HTML语言中,与 HTML超文本标记语言一起实现在1个Web页面 中链接多个对象,从面弥补了HTML语言的缺陷; 在.NET平台上进行WebGIS开发需要使用适 当的GIS服务组件,本文采用SuperMap IS.NET 提供地图服务。 并且JavaScript语言可以直接回应使用者的请求事 件,不用任何网络来回传输资料,从而减轻了服务器 2.2 SuperMap IS.NET剖析 SuperMap IS.NET是一个基于Microsoft .NET技术和SuperMap Objects组件技术的开发工 具,它允许开发人员建立大范围的WebGIS地图、 数据和应用,并将这些结果提供给组织内部广域网 或Internet上的广大用户。其中Ajax Map利用 Ajax技术封装地图控件,使用该技术可以创建更丰 富的、更动态的Web用户界面,增加用户体验。在 实际应用中,由于任何与COM技术兼容的编程语 言,如Visual C++、C#等,都能利用SuperMap IS .NET进行二次开发。 2.3客户端类型的选择 一般而言,客户端可以配置成2种:瘦客户端、 胖客户端。 在瘦客户端配置下,用户所有的请求必须通过 服务器端响应,通过嵌入在HTML中的静态图象 (栅格图象)返回响应信息,其特点是对客户端配置 的要求不高,方便部署和维护,但是交互能力较弱。 在胖客户端配置下,客户端首先需要下载 ActiveX,所有的地图操作和显示都由执行ActiveX 完成。另外,服务器返回的是矢量数据,客户端从远 程数据库中接收空问对象,其特点是交互能力较强, 但对客户端配置的要求较高,不方便部署和维护。 鉴于上述2种方式的优缺点,根据.NET平台 特性和SuperMap IS.NET组件提供的客户端、服 务器端的地图操作功能,本文选择了瘦客户端方式。 2.4客户端的功能及分析设计 对于不同类型的WebGIS系统,客户所需要的 功能也不同。在煤矿采掘衔接WebGIS系统中要 为用户提供放大、缩小、漫游、测距等基本功能,另外 应该提供双向查询等功能。为了更好地体现用户交 互性,实现高效率的数据传输,采用了JavaScript脚 本语言和VML(Vector Markup Language,矢量标 记语言)l_3]技术。 的负担,改善了用户体验。 (2)VML技术 VML能实现你所想要的图形并可以任意放 大、缩小而不损失图形的质量。结合样式表,可以给 任何对象增加新的方法、事件、属性;结合脚本语言, 可以让图形产生动态的效果。 (3)VML与脚本语言相结合的优点 ①图形显示效果好:这2种语言技术写法灵 活,形式多样,素材丰富,可根据不同的需要动态绘 制不同的图形,使客户端与服务器端更好地完成交 互; ②应用范围广泛:现在多数用户的浏览器都是 IE系列,所以不存在浏览器不兼容问题,交互性能 很好,也很稳定; ③减轻了服务器端负载:由于本文采用瘦客户 端webGIS,从用户向服务器提出请求到用户从服 务器得到相关信息,所有的操作都在服务器端进行, 利用脚本和VML相结合后则可以替服务器端分担 压力。 2.5服务器端的分析设计 本文所用的webGIS服务器端将在.NET平台 上结合SuperMap IS.NET组件式开发技术进行设 计,下面以煤矿采掘衔接WebGIS的服务器端为例 进行分析。 服务器端架构如图1所示。 图1服务器端架构图 (1)客户端(浏览器)传递到服务器端的请求服 务信息内容包括用户在地图上操作点的位置坐标信 ・ 112 ・ 工矿自动化 2008年1O月 息、组件服务请求参数信息、查询的数据信息。 (2)用户服务请求经过一个公共的方法进行判 型,能够很容易地对某一功能服务模块进行更换和 功能扩充,从而提高了软件生产效率,降低了软件开 发风险。 断,将其分为Web服务请求和GIS服务请求2种。 若请求属于web服务,那么就会直接被转向Web Server,由Web Server处理用户请求,从而杜绝了 以往WebGIS中Web服务和GIs服务掺杂请求和 响应速度低下的问题。 (3)经过公共方法判断后,若请求属于GIS服 3.2.2单点登录技术 本系统的身份验证安全模块利用了基于活动目 录的单点登录技术,将RBAC与AD(活动目录)相 结合,利用AD中的目录信息树进行“模拟”现实中 的企业/组织的职能层次结构。对AD中所有用户 按各应用系统类别一级分组、按每个应用系统功能 务,那么就会直接被转向GIS Server,由SuperMap IS.NET的相关服务器组件来完成对地图的操作及 对空间数据和属性数据的编辑,并由JavaScript和 VML对地图和文字进行处理、显示到客户端的浏 览器中。 二级分组和定义功能模块“读、写、执行、完全控制” 的权限,在一级、二级的安全组上绑定权限,并通过 统一权限系统进行权限管理。这样,当用户开机输 入用户名和密码登录域环境成功后,就可以使用其 有权使用的功能。 (4)对于数据库的设计,是将属性数据和空间 数据分成2个数据库,这样有利于管理、维护和部 署;并且在2个数据库中设置了关联字段,这样可以 对相对分离的Web服务和GIS服务进行更好的数 通过使用单点登录技术,将系统安全模块独立 出来,方便对用户权限的统一管理,并且为与其它系 统的集成奠定了良好的基础,方便将已有的信息系 统整合到一起,实现统一的安全管理。 4结语 据库方面的支持。 3煤矿采掘衔接WebGIS的实现3.1 系统功能分析 本文提出了一种基于.NET平台和SuperMap 煤矿采掘衔接WebGIS的用户功能需求:位于 矿山信息控制中心的工作人员可以对煤矿采掘现场 的地面(如巷道、井口、采掘面等)及相关设施的数据 进行查询;查看工作面的采掘进度及每个井口与巷 IS.NET技术的WebGIS设计架构,给出了客户端 和服务器端的设计分析:在客户端设计中引入 VML技术和脚本语言,大大减轻了服务器的负担, 改善了地图无损失动态显示;在服务器端设计中将 道之间的最优路径;对采掘衔接提供决策和服务支 持;报表服务和管理地图等。 通过详细分析用户的需求,进一步将系统功能 进行细分,其功能模块的划分如图2所示。 煤矿采掘衔接管理系统 Web服务器与GIS服务器分离,使得服务器端结构 清晰,方便系统的实现与部署。该架构模式已在煤 矿采掘衔接WebGIS中得到了实际应用,效果良 好。并且在系统权限控制中引入了单点登录技术, 有效地加强了系统的安全性,为WebGIS设计提供 了一种新的思路。 圜I鐾j I薹j 图 参考文献: [1]陈军.论中国地理信息系统的发展方向EJ].地理信 息世界,2003,1(1):6~11. [2]梁健,李满春.基于.NET与GeoMedia WebMap的 网络地图发布EJ].计算机应用研究,2004,21(12): 229~231. E33张新猛.结合UMI 实现动态矢量数据统计图的绘制 EJ].福建电脑,2004(7):82 ̄87. [4] 刘 光,刘小东.地理信息系统二次开发实例教 程——C#和MapObjects实现[M].北京:清华大学 出版社,2004. 

因篇幅问题不能全部显示,请点此查看更多更全内容