【VB开源代码栏目提醒】:网学会员为广大网友收集整理了,基于Flex的WebGIS - 硕士论文,希望对大家有所帮助!
西安科技大学 硕士学位
论文 基于Flex的WebGIS 别:硕士专业:地图制图学与地理信息工程 指导教师:梁明 2011
论文题目:基于 Flex 的 WebGIS 专 业:地图制图学与地理信息工程硕 士 生:王 京 签名指导教师:梁 明 签名 摘 要 WebGIS 是 Internet 技术与 GIS 相结合的产物,随着互联网的不断发展和 GIS 技术的广泛应用,人们对基于网页技术的 WebGIS 的交互性、视觉效果、响应速度以及功能体验等有了更高的要求。
RIA(Rich Internet Applications,富因特网应用程序)技术提供 给了全新的 Web 应用解决方案, WebGIS 带来了新的发展契机,实现了更加直观有效的应用服务。
Flex 是目前开发 RIA 的主流技术之一,本文针对传统 WebGIS 在应用中交互性差、响应速度慢、可扩展性不强等缺点,通过对 Flex 技术的研究,提出基于 Flex 的WebGIS 系统的框架设计。
论文首先分析 Flex 技术及 WebGIS 的研究现状,然后针对现状提出关键技术问题并给出研究路线及方法。
其次,主要分析了 Flex 富客户端技术的基本架构,在此基础上,提出一个基于 Flex 的 WebGIS 系统总体架构,设计实现了管线巡检信息系统的数据库模型、客户端、服务器端。
最后,完成山东省天然气管线巡检信息系统的实例,验证了Flex 技术在开发高交互性 WebGIS 方面具有可行性,并有能力为 WebGIS 在表现力与实用性上提供广阔前景。
关 键 词:WebGIS;Flex;J2EE;ArcGIS Server研究类型:应用研究 Subject : Design and Implementation of WebGIS Based on Flex Specialty : Cartography and Geographic Information Engineering Name : Wang Jing Signature Instructor : Liang Ming Signature ABSTRACT WebGIS is the result of combination of internet technology and GIS with thedevelopment of internet and GIS widespread application the users have a higher demand inthe performance and interactive effect the speed of response as well as the functionexperience based on the web-page of WebGIS. The RIA Rich Internet Applicationstechnology has provided the brand-new Web application solution brings new opportunity ofthe development of WebGIS and realized the more direct-viewing effective applicationservice. Flex is currently one of the most mainstream technologies of RIA in view of theinteractive difference in the application the speed of response is slow extendibility is notstrong and so on shortcomings of traditional WebGIS the article proposed the frame design ofthe WebGIS system based on Flex through the research of Flex technology. The paper first analyzes the Flex technology and the present research situation ofWebGIS in view of the present situation it proposed that the key technologies question andthe route and method of studies. Next it has mainly analyzed the basic construction of Flexrich client side technology based on this construction the paper proposed a generalframework of WebGIS system and the database model the client side and server of theinspection of the pipeline information system is designed and realized. Finally the thesiscompletes the inspection of the Shandong Province natural air lines information system andconforms that Flex technology is operable and has a splendid applied foreground inimproving interactivity and expressiveness of WebGIS.Keywords: WebGIS Flex J2EE ArcGIS ServerThesis : Application Research 1 绪论 1 绪论1.1 研究背景 WebGIS(网络地理信息系统)是利用交互网络技术扩展和完善地理信息系统的一项技术,即在 Internet 或 Intranet 环境下实现对地理信息的获取、存储、查询、分析、显示和输出的计算机系统。
也就是说,WebGIS 在继承了 GIS(Geographic InformationSystem,地理信息系统)的特性和功能的基础上,也将随着交互网络和计算机技术的发展而不断的完善和更新。
由于 GIS 以地理空间数据库为基础,需要涵盖大量的空间地理信息,难免数据量较大,因此 WebGIS 的发展对计算机技术和通信技术要求较高。
GIS技术的发展极大程度上是以计算机信息科技的进步为依托的,WebGIS 的发展自然也受制于 Web 技术本身的发展状况,使得目前 WebGIS 系统主流的开发方式大都基于传统的HTML 方式之上而开发。
由于 HTML 本身受到固有的限制,如可扩展性、可维护性、交互性不高以及链接单调、需要考虑不同浏览器的兼容问题等,导致 WebGIS 在开发过程中出现了开发效率低、服务器负担重以及维护难等问题,开发的系统也不可避免存在交互性差、用户体验单调等缺陷,这些都限制了 WebGIS 的进一步发展2。
随着计算机和网络技术的发展,人们越来越依赖于网络,对于 WebGIS 也有了新的要求,迫切需求在线浏览、编辑和分析空间地理信息,使得 WebGIS 要寻求新的突破。
而 RIA(Rich Internet Applications,富因特网应用程序)技术给予 WebGIS 向前发展的动力。
RIA 是集桌面应用程序的最佳用户界面功能与 Web 应用程序普遍采用的快速、低成本部署以及互动多媒体通信的实时快捷于一体的新一代网络应用程序1。
相较于传统的网络技术,RIA 具有表现力丰富、反映迅速、C/S 结构的负担平衡、异步通信、网络效率高和跨平台等优点,因此 RIA 成为互联网应用开发的优先选择技术。
Flex 作为目前主流的 RIA 技术之一,将其与 WebGIS 结合,不仅能够提高地理空间数据的展示效率,也使得 WebGIS 用户界面的图形图像更加丰富,交互性也更好。
研究如何基于 Flex 构建 WebGIS 应用具有重要的实践意义。
1.2 国内外研究现状1.2.1 WebGIS 的研究现状 (1)WebGIS 的开发产品现状 1993 年 WebGIS(网络地理信息系统)技术出现并迅速成为发展热点。
同年,美国Xerox 公司的 Palo Alto 研究中心开发出世界上第一个 WebGIS 的原型系统,提供了全球 1 西安科技大学硕士学位
论文1:200 万的 DLG 数据,让用户进行浏览。
但这仅仅是空间信息发布,该系统也只是地图服务器,还不能称之为 WebGIS。
1996 年以后,随着 Internet 技术的飞速发展,C/S 体系的进一步完善,国内外各大 GIS 厂商将与 Web 浏览器紧密结合在一起推出了一系列真正意义上的 WebGIS 平台软件,包括国家遥感应用工程技术研究中心网络与运行工程部开发的 GeoBeans,武汉吉奥信息工程技术有限公司的 Geosurf,北京神州通网络技术有限责任公司的 CDWebGIS,超图公司推出的 SuperMaP IS 和 SuperMap iServer,ESRI 公司的 ArcIMS 和 ArcGIS Server,MapInfo 公司的 MapXtreme,AutoDesk 公司的 MapGuide,Intergraph 公司的 GeoMedia WebMap,Bentley 公司的 Modelserver 等产品。
(2)WebGIS 实现方法研究现状 传统 WebGIS 在结构上采取分布式模型,通过 WWW 机制进行信息处理,实现客户端Web 浏览器和服务器端(Web 服务器)的数据连接与交互操作。
常见的 WebGIS 的结构体系是由数据库、应用服务器和客户端组成的三层体系结构。
按客户端和服务器端功能的多少,可以将 WebGIS 应用系统分为两大类,即瘦客户端、胖客户端15。
瘦客户端指的是在客户端-服务器网络体系中的一个基本无需应用程序的计算机终端。
它通过一些协议和服务器通信,进而接入局域网。
作为应用程序平台的 Internet的到来为企业应用程序提供了一个全新的领域:一个基于 Internet/Intranet 的应用程序运用一个只包含一个浏览器的瘦客户端。
这个浏览器负责解释、显示和处理应用程序的图形用户界面(GUI)和它的数据。
这样的一个应用程序只需要被安装在一个 Web 服务器上,用户可以自动接收升级。
一个解决方案只需要部署一次,甚至对成千的用户也是如此,这种想法的确很吸引人,尤其是 Internet 技术帮我们缓解了一些传统的应用程序的障碍,比如防火墙和对多平台的支持。
不同的客户端可以同时登录到服务器上,模拟出一个相互独立又在服务器上的工作环境。
瘦客户端的工作原理如下:用户通过客户端浏览器向服务器端的 Web 服务器发出地图操作(如地图放大、缩小、漫游等)服务请求,Web 服务器则通过通信接口把请求传递给后端的 GIS 服务器,GIS 服务器按照要求进行数据处理,并将结果形成 GIF 或JPEG 格式的图像文件反馈给远端的用户浏览器。
胖客户端是相对于瘦客户端而言的,它是在客户机器上安装配置的一个功能丰富的交互式的用户界面,例如 Oracle、DB2 数据库的客户端管理工具。
胖客户端模式将应用程序处理分成了两部分:客户端的用户桌面计算机执行的处理和服务器的一些集中处理。
胖客户端应用程序的客户端部分除了负责将程序的 UI 界面显示给用户进行交互外,还负责进行大部分的业务逻辑处理。
这种类型的应用程序需要客户端部分具有执行任务的能力,对客户端机器的要求比较高,但是可以减轻服务器很发一部分的压力,降低对服务器性能的要求。
典型的胖客户端应用程序都包含一个或多个在服务器和客户 PC 上运行的应用程序,客户 PC 上安装功能丰富的交互式的用户界 2 1 绪论面,用户通过这个交互界面可以进行查看和操作数据,处理业务事务等,分担服务器的一部分或者全部业务逻辑的处理。
服务器部分一般集中处理数据的访问操作,同时也负责处理一部分或全部的业务逻辑. 瘦客户端和胖客户端策略都有一定的局限性。
当瘦客户端策略涉及到频繁的数据传输时,它的效率受到网络带宽和网络负荷的严重影响,如用户面对的通常是静态的栅格图片,体验不流畅,交互性差等,对服务器的性能要求较高;而胖客户端策略不能充分的利用已有的 GIS 基础平台中的组件,浏览器端的功能需要重新开发,下载未知的ActiveX 控件都有可能给客户机系统带来威胁。
在一定程度上影响了 WebGIS 的大众化进程。
九十年代末以来,基于 Web 的应用程序得到了广泛的使用,这主要是因为它们可以很容易地被终端用户使用,终端用户只要一台能够上网的电脑就行。
然而,对于高交互性的程序接口来说,基于 Web 的接口很难满足要求。
编写复杂的在终端用户浏览器中执行的客户端脚本不是一个可行的增强交互性的方法。
商业团体认识到有时候部署一个基于 Web 的解决方案并不能满足所有用户需求。
此外,基于 Web 的应用程序也不能够脱机使用。
“富客户端” (Rich Client也成为富因特网应用程序(Rich Internet Applications,RIA)利用具有很强交互性的富客户端技术来为用户提供一个更高和更全方位的网络体验。
RIA 集成了桌面应用的交互性和传统 Web 应用的部署灵活性与成本分析,以创建单一而完整的用户体验。
RIA 具有的桌面应用程序的特点包括:在消息确认和格式编排方面提供互动用户界面;在无刷新页面之下提供快捷的界面响应时间;提供通用的用户界面特性如拖放式以及在线和离线操作能力。
具有的 Web 应用程序的特点包括: RIA 立即部署、跨平台、采用逐步下载来检索内容和数据以及可以充分利用被广泛采纳的互联网标准。
RIA 具有通信的特点则包括实时互动的声音和图像。
对于企业来说,部署 RIA 的好处在于:RIA 可以继续使用现有的应用程序模型(包括J2EE和.NET),因而无需大规模替换现有的Web应用程序。
通过Rich Client技术,可以轻松构建更为直观、易于使用、反应更迅速并且可以脱机使用的应用程序;RIA 可以帮助企业提供多元化的重要业务效益,包括提高销量、提高品牌忠诚度、延长网站逗留时间、较频繁的重复访问、减少带宽成本、减少支持求助以及增强客户关系等。
RIA 模型的诸多优势决定了它是未来网络架构的发展方向,使用 RIA 模型来构建网络应用程序不仅能够完成传统的 B/S 系统所能够完成的基本功能,还能够实现数据的异步传输和页面的局部刷新,甚至在离线的状态下仍然能够实现客户端的操作。
目前越来越多的 RIA 技术解决方案己经诞生。
目前主要流行的 RIA 技术主要有以下几种: ①Ajax:实际上是用新的技巧把一些古老技术结合在一起使用,从而让 WebApplication 用户界面的交互性得到极大的提升。
在 Ajax 中,XMLHttpRequest 是核心, 3 西安科技大学硕士学位
论文是 Ajax 强 大 功 能 的 来 源 , Ajax 和 传 统 的 Web 界 面 技 术 区 别 也 就 在 此 。
通 过XMLHttpRequest 就把浏览器中的 HTML(DHTML)和服务器端的数据分离开。
利用JavaScript 来操纵客户端访问服务器获取数据,并修改 HTML 结构以显示数据。
②Flex:是为满足企业级应用而推出的应用程序框架。
Flex 提供基于标准的、声明性的编程方法和流程,用于开发和部署丰富客户端应用程序的表示层。
Flex 开发者使用直观的、基于 XML 的 MXML 来定义丰富的用户界面,利用 ActionScript(一种面向对象的脚本语言)来编写程序逻辑。
该语言由 Flex 服务器翻译成 SWF 格式的客户端应用程序,在 Flash Player 中运行。
③Laszlo:是一个
开源的 RIA 开发环境。
使用 Laszlo 平台时,开发者只需编写名为LZX 的描述语言 , (其中整合了 XML 和 JavaScript) 运行在 J2EE 应用服务器上的 Laszlo平台会将其编译成 swf 格式的文件并传输给客户端展示。
Flex 和 Laszlo 从运行位置来看,他们都属于服务器端技术,和大家熟悉的 ASP,ASP.NET,JSP 和 PHP 的运行机制类似。
只是 ASP 等动态网页技术,是把界面元素解析为 HTML 发送给客户端的浏览器来展现;而 Flex 和 Laszlo 是把界面元素解析为二进制的 swf 文件,运行到浏览器中的 Flash Player 插件里。
④AIR:是一个跨操作系统的运行环境,允许开发人员使用以前 Web 开发的技能来创建 Rich Internet Application,并部署到桌面上运行。
总体来说,AIR 就是 Adobe 把现有的技术,如:Flash、PDF、JavaScript、XML 和 ActionScript 集成在一起,并提供一个客户端运行环境,可以让开发人员开发可以访问 Internet 资源的桌面程序。
本质上,AIR就是让 Flash(或者 Ajax)脱离浏览器运行的一个桌面应用程序运行环境。
使用 AIR 来开发 RIA 的优缺点和 Flex 等类似,最大的好处就是:可以脱离浏览器成为一个独立的桌面程序而运行,并且不受浏览器安全限制,可以有更多的权限访问本地资源。
⑤WPF:为桌面客户端和浏览器客户端提供了通用基础,大大简化了二者的应用程序开发工作。
WPF 采用更为现代的方法,支持视频、动画、2D 或 3D 图形以及各种类型的文档,从而可以让用户以全新的方式处理信息。
此外,WPF 还为桌面客户端和浏览器客户端提供了通用基础,大大简化了二者的应用程序开发工作。
通过提供更强大的图形支持功能,WPF 使得一系列数据可视化成为可能。
WPF 还提供了 XML PaperSpecification XPS 的基础,可定义查看、分发和打印固定格式文档的标准格式。
WPF 的最大特点就是把界面的布局描述和界面逻辑
代码分离。
( WPF 通过 XAML 扩展应用程序标记语言,一种基于 XML 的语言,允许以声明方式指定用户界面,而非
代码)把专业界面设计人员的工作和专业的程序开发人员的工作分开,让他们更容易协作,以开发出界面炫丽,功能强大的应用程序。
⑥Silverlight:是一个跨浏览器的、跨平台的插件,为网络带来下一代基于.NET 的 4 1 绪论媒体体验和丰富的交互式应用程序。
Silverlight 提供灵活的编程模型,支持 AJAX、
VB、C、Python、Ruby 等语言,并集成到现有的 Web Application 中,能够访问其中的 DOM信息。
内置多媒体技术的支持,可以以很低的成本播放媒体文件。
⑦XUL:是一种基于 XML 的用户界面语言,它来自于 Mozilla 的开放源码项目。
它可用于建立窗体应用程序,这些应用程序不但可以在 Mozilla 浏览器上运行,而且也可以运行在其他描述引擎上,如 Zulu(一个 Flash MX 组件)和 Thinleys(一个 Java 实现)。
XUL 描述引擎都非常小(100K 以下),它可以使用 XML 数据也可以生成 XML 数据。
XUL 的一个主要缺点在于它目前还没有获得一个主要商业实体的支持。
XUL 最大的优点在于它与 Gecko 引擎的集成(打开了通向大量 Web 标准的大门),以及与大多数其它 XML 用户界面描述语言相比,它是一种非常具有表达力和简洁的语言。
目前 XUL可以嵌入在 Mozilla(或 FireFox)浏览器中运行,也可以通过一个 XUL Runner 的运行环境,脱离浏览器运行。
⑧JavaFX:是一个构建于 Java 技术之上完整的运行环境,可以用来交付到桌面、移动设备、手持设备和电视等环境的富互联网应用。
JavaFX 是 SUN 公司进入 RIA 领域的开发技术,它包含 JavaFX Script 和 JavaFX Mobile 两个部分,使用一种全新的脚本语言,依赖 Java SE/ME 运行时,利用 Java2D 和 Swing API 来实现在桌面或者移动设备上运行 RIA 应用。
通过上面各种 RIA 开发技术介绍,我们可以看到它们各自的理念有所不同,运行的环境也不尽相同。
总体说来,RIA 开发技术分为三类: ①浏览器类,整个 RIA 是运行于浏览器里面,依靠传统的 HTMLCSSJavaScript技术来实现界面的表现和控制。
②浏览器插件类,RIA 通过插件的方式运行于浏览器中。
正在运行的程序是厂商特定的运行格式,需要特定的运行环境。
③桌面类,RIA 脱离浏览器直接运行于桌面之上。
和常见的桌面程序很类似,但是可以访问 Internet 资源,并具有部署容易,更新简单的特点。
在三种分类的技术中,浏览器技术是成为开发 RIA 最直接的技术,此类技术适合一直在做 Web 应用的软件开发商。
新型桌面技术则完全另起炉灶,充分使用桌面开发的技术、技巧和理念,并结合 Web Application 部署方便,即时安装的优点。
此类技术适合做 Windows 应用的开发商。
浏览器插件则在浏览器技术和新型桌面之间进行了折衷,既使用新的技术来实现丰富的界面,又能和现有的 Web 技术进行部分的集成。
具体分析如表 2.1 所示。
5 西安科技大学硕士学位
论文 表 2.1 几种 RIA 技术的优缺点分析 RIA 技 包含技术 优点 缺点 术分类 把应用程序绑定在浏览器中, 基于原有 Web 技术 受浏览器安全沙箱控制 浏览器 Ajax 与 HTML 无缝集成 浏览器的兼容性影响应用程序 无需学习新技术 的开发和运行 独立的技术 需要下载插件和定制的运行时 Flex 与 HTML 部分集成丰富的界面 浏览器 运行在浏览器中,受浏览器安 Silverlight 表现 插件 全沙箱控制 Laszlo 特定的开发语言和工具 需要学习新技术 能使用部分在 W eh 开发中经验 独立完善的技术 特定的开发语言和工具 WPF 可独立浏览器运行也可以运行 新型 AIR 于浏览.