(计算机应用技术专业论文)基于mapxtreme的webgis系统及关键技术研究.pdf_第1页
(计算机应用技术专业论文)基于mapxtreme的webgis系统及关键技术研究.pdf_第2页
(计算机应用技术专业论文)基于mapxtreme的webgis系统及关键技术研究.pdf_第3页
(计算机应用技术专业论文)基于mapxtreme的webgis系统及关键技术研究.pdf_第4页
(计算机应用技术专业论文)基于mapxtreme的webgis系统及关键技术研究.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

(计算机应用技术专业论文)基于mapxtreme的webgis系统及关键技术研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 w 曲毋l s 是当前g i s 发展中的一个热点,它是利用互联网技术来扩展和完善 地理信息系统的一项新技术,其核心是在地理信息系统中嵌入h 1 t r p 和t c p ,i p 标 准的应用体系,实现互联网环境下的空间信息管理等地理信息系统功能。 本文从i n t e m e t 对g i s 的影响出发,首先介绍了w 曲g i s 的概念,基本原理, 然后较为详细地论述了w 曲g i s 系统开发的各种新兴技术,如j a v aa p p l e t 、 s e r v l e t 、j s p 等技术,并着重介绍了m a p x t r e m ef o r a v a 平台的技术结构特点。 文中提出了基于w e b - g i s 系统的关键技术最短路径搜索算法。针对路径 规划问题,在分析经典d o k s t m 最短路径算法的基础上,通过应用二叉堆和邻接表 数据结构对算法进行改进,又进一步根据道路网的空间分布特征,引入动态规划 原理和限制方向搜索策略,从而减小算法规模,提高算法运行效率。 文章最后介绍了以m a p x t r e m ef o r j a v a 为平台,以j b u i l d e r 为开发工具,以西 安电子地图为数据,开发的一个客户端应用程序e w 曲g i s l o 。该应用程序是 以j a v a a p p l e t 为核心技术,结合m a p x t r e m ef o r j a v a 平台提供的a p i ,来实现电子 地图的网上发布。 关键词:最短路径m a p x t m m e w e b - g i sj a v aa p p l e t a b s 仃a c t a b s t r a c t w e b g i si sah o t s p o ti nc u r r e n tg i sd e v e l o p m e n t 1 ti san e wt e c h n o l o g yw h i c h e x t e n d sa n dc o n s u m m a t e sg e o g r a p h i c a l1 n f o m l a t i o ns y s t e m b yu s i n gl m e m e t t e c h n o i o g y i t sc o r et e c h n o l o g yi s t oe m b e dh t t pa n dt c p i ps t a n d a r di n t o g 铲a p h i c a li n f b 玎n a t i o ns y s c e ma n d t oa c c o m p l i s hm a n a g e m e n to fs p a t i a li n f o m a t i o n u n d e ri n t e m e tc i r c u m s t a n c e t h i st h e s i sb e g i n sw i t ht h ci n f l u c n c e so fi n t e m e to ng l s i tf i r s t 】yi n t r o d u c e st h e c o n c e p t i o n 柚db a s i c p r i n c p l e o fw 曲g i s t h e ni tf o c u s e ss o m ea d v a n c e d t e c h n o l o g i e si nw e b g i sd e v e i o p m e n ts l j c ha sj a v aa p p l e t ,s e r v l e t 卸dj s pe t c n e m p h 船i so ni n t r o d u c i n gt h es t n l c t l | r eo f m a p x t r c m ef o r j a v ap l a t f o 呻 n i st h e s i sp r o p o s e sak e yt e c l l l l o 】o 时w h i c hi st h es h o n e s tp a t ha 1 9 0 r i t h mb a s e d o n ,e b - g i s t oc o p cw j t i lt h er o u t cd e t e 蛐i 肌t j o n ,t 1 1 ea 1 9 0 r i t h mi si m p r o v e db yu s i n g b i n a r yh e a pa n da 由a c e n c y1 s td a t as t m c t u r cb 嬲e do nt h ea n a l y s i so fc o n v e n t i o n a l d u l c s h as h o n e s tp a t ha l g o r i t h m f u 确e m o r e ,d y n a m i cp r o g r a m m i n gc o n c e p ta n d l i m j t e dd i r c c t i o ns c a r c hp o l i c ya r e 如n h e ri n t r o d u c e d n u d u 曲s p a t i a ld i s t r i b u t i o n c h a r a c t e r 王s t ;c so fr o a ds y s t c mi no f d e rt od e c r e a s et h ea l g o r i t h ms c a l ea n dr a i s c o p e r a t i o ne 街c i e n c y a tl 鹪t t h et h e s i si n t r o d u c e sac l i e n ta p p i i c a t i o nn a m e dc e r e b g i s l ow h i c hi s d e v e l o p e db yu s j n gj b u i l d e rw i t ht l l ed i g i t a lm a po fx i a nb a s e do nt h ep l a 响mo f m a p x 讹m ef b rj a v a t h ea p p l i c a t i o nu s e sj a v aa p p l e t 够i t sc o 咒t c c h n o l o g ya n d c o m b i n e s l ea p lp r o v i d e db ym a p x t r e m ef o i j a v at oi s s u ed i g i t a lm a p0 nw 曲 k c y w o r d :s h o r t e s tp a t hm a p x t n m ew e b - g i sj 州aa p p i e t 创新性声明 y 8 5 8 9 9 0 本人声明所呈交的论文是我个人在导师指导下进行的研究1 二作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其他教育机构的学位或证书而使用过的材料。与我一同工作过的同志对本研究所 做的任何贡献已在论文中傲了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:j 多j - 一扛 日期速竖立立丛 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文:学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文 在解密后遵守此规定) 本学位论文属于保密在年解密后适用本授权书。 本人签名: 导师签名: 第一章绪论 第一章绪论 1 1 地理信息系统与i n t e m e t 地理信息系统( g i s ) 以地理空间信息数据库为基础,提供多种空间和动态的 地理信息,利用各种地理信息分析方法,提供地理研究所必需的地理数据和决策 支持。但是作为一个对空间信息集成的技术平台,g i s 的应用领域早已由最初的地 理领域拓宽到广义的信息服务,随着社会的需求和计算机等相关技术领域的发展、 g i s 自身的成熟与发展,加上与网络等信息技术的日趋结合,人们对g l s 的理解 日益加深,g i s 的能力也随之逐渐增强。实际上g j s 已经不再是一个单纯意义上 的地理信息系统,它所包含的概念、引用的技术于段己经接触到各信息技术领域 的前沿;信息科学的每步发展,都能在g j s 中得到及时的反映,并且在技术的深 化过程中与g l s 不断融合,相互补充。共同发展。 l 。2i n t e m e t 对g i s 的影响 传统g i s 是一个相对封闭的、独立的系统,信息共享的渠道少,操作过程也 很复杂,一般局限在同一地区或同一行业部门。由于g i s 的体系结构尚未脱离单 机或专用局域网的模式,缺乏用户和市场的推动力,不但使之缺乏开放性,而且 使之价格昂贵而难于掌握,极大地阻碍了大多数的非专业用户使用g i s ,也妨碍了 地理信息在国民经济和宏观决策中的推广应用。这或许也正是g i s 耗资巨大,却 仍难以形成大规模、大产业的一个原因n 巴。 w w w 的出现有望改变这一局面。作为高速信息化的传播媒介,i n t e 珈e t 尤其 适于作为象g l s 这样与信息密不可分的系统的传播载体。随着i n t e m e t ,i n t r 锄e t 及 其w w w 的飞速发展,一个个信息孤岛被连接成一个整体,在网上看世界己由梦 想变为现实。每天都有数以千万计的用户访问信息服务站点,信息流量更是无法 统计,在这些信息中,g i s 的空间信息可以深入到各行各业的信息基础中去,对生 态资源与环境的可持续化发展、市政建设、公安消防、新闻出版、物业开发、旅 游、交通等各种信息起空间支持的作用,成为所有与空间有关的信息的基本载体。 w w w 成为g i s 的载体后,g i s 就扩大了自身的应用范围,从面向个人、部 门发展为面向社会和公众,成为一种新的信息服务。人们可以利用信息导航工具, 通过i n t e m 烈查询某些主机管理的地理信息,并使用主机提供的空间分析功能或其 它模型对信息进行分析,以便进一步获取自己所需的决策信息。 另一方面,g l s 进入w w w 后,自身的功能、数据组织管理、系统的应用模 2基于m a d x 仃e m e 的w e b g i s 系统及荚键技术研究 式、软件开发、用户界面等多方而都在发生变化。 1 3 本文的研究内容 本文的研究内容主要是以m a p l n f 0 的m 印x 仃c m ef o rj a v a 为平台,以j b u i l d e r 为开发工具,以西安地图为数据,实现西安地图的网上发布。从w 曲一g i s 的原理 剖析到系统的实现以及系统功能的扩展都进行了详细的阐述。 第一章为绪论,介绍g i s 与互联网的发展以及互联网对g i s 的影响,促使了 w e b - g i s 的诞生。 第二章为w e b - g i s 的原理剖析,从w e b g i s 的简述,到原理的剖析,再到 w c b g i s 的主要特点,最后探讨了w 曲g i s 在未来一段时间的应用前景。 第三章为构建w 曲- g i s 的相关技术,这一章全面介绍了构建w c b g l s 的大部 分新兴的技术,如:j a v a 技术( a p p l e t 、s e r v l e t 、j s p 等等) 、w e b 数据库技术以及 构建w 曲- g l s 的关键平台m a p x t r c m ef o rj a v a 平台以及m a p i n f 0 数据建模技 术等等。在这一章我们将对这些技术有一个比较全面的了解。 第四章为w c b g i s 的关键技术最短路径搜索算法,这r 章从最短路径搜 索算法理论,模型的建立,算法的实现进行了全面的阐述。 第五章为w e b g l s 系统实现,这一章详细讲述了整个w e b g l s 的系统设计原 则、规划以及系统的详细设计、系统整体实现等等。在这一章我们可以看到w 曲g i s 的具体设计和实现过程,也可以一睹w 曲g i s 系统发布后的全貌。 第六章,这一章主要是在对整个w 曲g i s 系统的认识基础之上,阐述了在系 统的实现过程暴露出来的一些问题以及系统在未来需要改进的地方提出一些见 解。 第二章网络地理信息系统 第二章网络地理信息系统 网络地理信息系统( w e b g l s ) 指基于i n t e m e t 甲台、客户端应用软件采用 w w w 协议运行在万维网上的地理信息系统。它是利用互联网技术来扩展和完善 地理信息系统的一项新技术,其核心是在地理信息系统叶1 嵌入h t t p 和t c p i p 标 准的应用体系,实现互联网环境下的空间信息管理等地理信息系统功能。由于w 曲 仅是基于互联网技术而发展起来的一种技术,从更广泛的意义上讲,w 曲一g 1 s 仅 是互联网电理信息系统中的一种。 2 。1w e b g i s 基本原理 从网络技术角度看,i n t e m e r i n t r a n e t 可以看作是以t c p i p 为通信协议标准, 以d n s 域名服务和s m t p 简单邮件传输协议为基础、以w w w 和f t p 服务为支 撑、实现多服务器和多平台的相互连接的计算机通信网络。目前互联网已成为企 业或部门内外各种信息管理和交换服务的主要平台。从系统运行和技术上分析, g l s 系统要成为网络化的分布式处理的信息系统,必须符合或相兼容 1 m e m e r 仃n 的n e t 相关的技术标准,包括支持t c p ,】p 网络通信协议、h n p 文档与 文件传输协议、文档显示与应用程序集成( h t m l 和h t m lb r o w s e r ) 、服务器端集 成( w 曲s e e rc g l 或a p l ) 、客户端扩展( h t m l ,j a v a 和j a v a s c r i p t ) 、服务器端扩 展( c g l 和s e r v e ra p i ) 、可执行的客户端与服务器后台进程的逻辑分布、多线程可 扩展服务器、支持动态访问、强大的客户部件、远程制作( 包括可视化远程制作工 具) 、图形文档支持嵌入的u i u s 等。支持i n t c m e 以n t 啪c t 通信技术标准,对于 w 曲g i s 来说就是实现客户端与服务器端数据传输通信。w 曲g i s 系统充分利用 了分布式体系结构c l i l s e r v e r 的技术特点,是c l i e n “s e r v e r 结构特点的一个典型 应用实例。w 曲毛i s 系统的客户端服务器体系结构使得系统具有良好的开放性。 它使系统具有软硬件资源共享、数据多重应用、跨平台运行、易于集成等特性。 可以说,w 曲- g i s 系统是一个建立于i n t 啪e t ,i n t m n e t 之上的采用开放式结构、具 有统一标准和广泛适应性的网络应用系统。w 曲g i s 系统的客户端用户不仅能使 用服务器端的硬软件资源,而且可以方便地利用i n t e m e t 主干网的数据信息资源等 f 1 【2 j 。 2 。2w 曲i s 的主要特点 2 2 1 基于i n t e 珈e t ,i n t r a n e t 标准 4基于m a p x t r e m e 的w 曲g i s 系统霪差暾术避! 壅! w 曲g l s 支持i n t e m e t 网络通惰和t c 朋p 和h t t p ( 超文本传输协议) ,采用标 准豹瓣覃m l 浏览器作轰舞壳。支持通蓿标准辩w e b 程s 采滋是至关鬟要的。支持 辫l p 葶珏 疆p ,裁楚爨瞬麓w 曲,g l s 辘与鼹蠢建穷弱数攥耪连,不论是攀整内 都或外部。实现这一层次的网络协议标准化蹙实现其他所有功能需求的基础和前 提,蠢是w 秘l s 结构优越髓豹茕提。 2 。2 2 分稚式服务体系结构 分毒式驻务体系缝擒慧嶷客户溃黍l 溅务器漆嫠麓提供活跃翡、撬嚣遽疆静 体系结构,它能商效地平衡耀者之闻的处理负载,谈如动态挺取数撼予集并进行 分析的迸稔任务,一般疵当在服务器端执行,而刁i 楚在客户端;空间信息查询集的 选定秘按比铡缩放地图则适合在客户端挟锷。这静态窖户辍与溅务器之阉豹进程 分布式处理,最大限度地发挥了现有计算机硬件资源的利用率。把数据量集中的 经务羧在骚务器上,使褥碰糯翟痔能支持其穗的溺终请求,分布式熬理显著缝降 羝了蛰宽蘩裳势掇亵了系统瓣性戆。它兔专荸璎户嵌入鑫毫宠割酌g l s 服务,健霜 的数据既可以是本地的也可以是分布的数据集,从而使传统g i s 向分布式g l s 转 变。 2 ,2 3 发布速度快、范豳广、维护穷便 囊予遮爱了l 燃e m 娃按零,融b g l s 鹃菝惑更赣之爱辩、发露遮藏之浃、发青 范凇之广魁其他传统地瑗债感系统难以比拟酌。w e b ,g l s 懿体系结构包摆许多应 用服务器,如制图、查询、地理编码等。传统的地理信息系统,当用户规模有所 扩大,数援鸯爨交更之聪,都霪黠蘸毒系统徽大蕉豹菠动。囊在w e b l s 串,爨 只鬻雅护服务器端的一套数搽,用户端就熊及时看到更新的数据。 2 。2 。| i 数搬寒源事整、分蠢存镶 w 曲一g l s 能充分利用已有的g i s 数攒资源和属性数据库数搬,将常用的多种 g l s 数獯转换残自己酌空间数凝格式稻相瘴静哭系数澹库,保护稍声的先期投资。 服务器端的o i s 数据( 包括图彤和属性数据) 不嚣耍全部集中在一台枫器上,可以分 散安装在不f 司的多台机器上,这些机器可分布在空间距离很远的霸鱼方,只要通过 l n 圭e r 矬。搬雌端n e t 摇联裁霹瑷。这秘分数存耱数撵懿方式怼于辫镊系统受载,耱妖访 问遽废,降低成本等方蕊帮l 艮毒帮麟。这是w 酶屯l s 一个援冀重要熬捷势。 2 2 5 用户界面友好 、n ,c b - g l s 使用标准的i n t e m e t 浏览器作为用户使用界面和工具,通过与用户交 互可定制网页。开发工具丰富,功能强大。所开发的用户界面具有较强的多媒体 第二章网络地理信息系统 效果,甚至使人获得虚拟现实的感受:并且操作简单明了,形象直观,一般用户也 能使用。 2 2 6 系统建设投资少 利用i n t e r n e t 的基础设施,以极少的投资就可以建立一套覆盖整个企业或全行 业甚至世界范围内的空间信息发布体系。终端用户不需要购买任何专门的g i s 软 件,就可以享受到真正的、实时的g i s 信息服务。 2 2 7 系统安全性 有的w 曲g l s 软件( 如a u t 0 g u i d e ) 具有对数据访问的安全控制。通过口令密码 可以限制访问人员的范围以及可访问的内容。对于面向全社会的专业信息系统, 在实际应用中,往往要求根据不同的用户( 如行政首长、各级部门工作人员、一般 用户等1 提供相应的信息。 2 2 8 系统协同性 遍布全球的代理商可以商接为用户发布数据并提供服务。用户可以将j “泛分 布的数据和本地数据结合在一起,使不同地区的计算机主机协同工作。这种技术 使得全球的存储在g i s 数据库中的现有的空间信息发挥出巨大的效力。w 曲g i s 的用户可以在任何时间、任何地点共享和使用彼此的数据。任何人通过一个简单 的浏览器界面就可以访问经过复杂的专业的g i s 分析产生的数据。通过不断提高 的访问g i s 信息的能力,全社会和各种组织作为一个整体将会更有效地利用现有 的空间数据资源p 】。 2 3w e b - g i s 应用前景 w c b - g i s 使g i s 应用走向公众,通过网络可以将空间信息传至千家万户,如 美国纽约州某县通过电视有线网。向公众发布城市和土地等信息。香港旅游局也 正在着手建立香港旅游信息系统,该系统的基础数据直接来源于香港地政署的大 型空间数据库,旅游信息则由旅游协会( t a ) 提供。计划首先在尖沙嘴等旅游热点安 装触摸屏。游客可以通过它直接了解香港地理环境和查询旅游信息。 w e b - g i s 的数据传输量很大,目前i n t e m e t 的速度还不能完全满足需求。 m a p g u i d e 的插件大约为lm ,使用2 8 8 k 的调制解调器( m o d e m ) 也至少需要6 分 钟才能从服务器上下载过来。不过,网络技术日新月异,5 6 k 的m o d e m 己经 开发出来。1 9 9 7 年2 月,美国总统克林顿提出“建立快l o o o 倍的第二代互联网络, 让1 2 岁以上的青少年人人都上互联网。微软正在实施的一项计划中准备发射8 4 0 6基于m a 口x 他m e 的w e b g j s 系统及芙键技术研究 多颗人造地球卫星,这些卫星将用于取代光纤进行i n t e m e t 数据传输。可以预见, 随着i n t e m e t 技术的发展,w e b g i s 应用终将走上普通人的办工桌、走进千家万户 的家用电脑,与i n t e m e t 本身一样成为人们日常生活必不可少的实剧工具。 w e b g i s 还可以应用于i n t 啪e t 建立企业部门内部的网络g i s ,可以在科研机 构、政府职能部门、企事业单位得到广泛应用。w e b g l s 提供了一种易于维护的 分布式g i s 解决方案。尽管目前的w 曲g i s 软件提供的空间分析功能很难满足专 业应用的需要,但是随着技术的发展,w e b g l s 终将取代传统的g i s 鸭 第三章w o b g i s 构建技术 7 第三章w e b g l s 构建技术 w e b g l s 系统开发最初采用通用网关接口技术,以及相继发展起来的l d c ,a s p , i s a p i ,n s a p i 等技术方法,后来又产生了被称为“插件”( p l u g 一n ) 的应用技术。目 前采用比较流行的技术,一是j a v a 语言,包括j a v a 小程序a p p l e t 和j a v a 虚拟机 技术( j v m ) 等;二是采用a c t i v e x 控件及c o m 组件对象模型等网络开发技术。目 前采用四种技术方法实现w 曲g i s 系统平台在许多领域都得到了很好的应用。由 于技术的不断进步,本文只介绍最近发展的较新近的,在设计和实现本系统中有 关的技术1 4 j i ”。 3 1j a a 技术 j a v a 诞生于2 0 世纪9 0 年代,其前身是s u n 微系统公司开发的智能化家电语 言o a k ,为了适应i n t e m e t 的迅速发展,s u n 公司对o a l c 进行大规模改造后,于1 9 9 5 年推出了j a v a j a v a 是一种纯粹的、结构清晰、用于连接i n t e m e t 的面向对象程序 设计语言,具有面向对象、与平台无关、多线程多任务、稳固与安全等诸多特性。 这些特点使得j a v a 既可作为普通的编程语言编写普通的应用程序,更主要的的应 用则是作为网络开发技术。j “a 应用于网络开发,其应用形式随着程序员在实践 中的取舍,也经历了一个逐渐发展的过程,最先的应用形式是下载到客户端的j a v a a p p l e t ,而后是应用于服务器端的j a v as e r v l e t ,它们的使用让w e b 页面灵活多样, 信息交互变得迅捷方便,新近推出的j s p 网页编程语言则是基于j a v as e r v l e t 以及 整个j a v a 体系的动态网站开发工具,也是本文编程实例采用的主要开发工具。下 面对这几项j a v a 相关的技术分别介绍并加以比较。 6 】【7 】【8 】 3 1 1j a v aa p p l e t j a v a 是面向对象的编程语言,它更适合网络环境。j a v aa p p l e t 是一种特殊的 j a v a 程序,是使用j a v a 语法和绝大多数j a v a 资源编写出来的,能在支持j a v a 的浏 览器内运行的小应用程序,根据需要从服务器端下载到客户端的浏览器运行,可 以做到和浏览器的无缝集成。 j a v aa p p l c t 在服务器端的j a v a 开发环境下编写并编译生成c 1 8 s s 字节代码文 件,但它不能独立运行,只有通过浏览器或者像j d k 提供的a p p j e t v i e w e r 等工具 浏览才能执行。服务器端使用特殊的h 1 m l 标记 和 将c l a s s 文件嵌入在h n 也中,当客户端向服务器请求数据时,随同h t m l 一起下载到客 户端的浏览器运行,完成数据的动态操作,是建立动态交瓦w 曲网页的好方法, 8 基于m a p x t r e m e 的w e b g i s 系统及芙键技术研究! 因此a p p l e t 的出现,为嘲络应用提供了吏广泛的天地。 j a v aa p p l e t 在客户端被浏览器解释执行,可以独立在客户端机器上完成数据 操作,【于程序是在用户端执行的,从而避免了用户和服务器之问不必要的信息 流量,操作反应较快。它在客户端运行时就如通常的软件一样,当需要数据时, 再通过互联网从服务器获取。这样不仅减少了网络信息流量,而且也提高了整个 网络的运行效率,这些是它的优点。它的缺点在于随着网络带宽的不断增大,作 为网络应用的a p p l e t 只能在客户端执行,受到网络安全方面的限制,功能是非常 有限的,例如无法运行本地机上的可执行程序,无法同所在服务器以外的任何其 他服务器取得联系,不能直接操作客户端的数据文件,无法扶得客户端的些相 关信息等。但是j a v a a p p l e t 是一种集成在h t m l 页面中的j a v a 程序,它能在任一 个j a v a 兼容的浏览器中执行。具有网络安全性限制,不能随意访问客户机上的资 源,只有通过安全认证鉴定以后才可以。这样就确保了网络应用的安全性,可以 防止病毒以及某些人的恶意破坏。相对于a c t i v e x ,j a v a a p p l e t 的安全性要高得多。 j a v aa p p l e t 可以实现文本、声音、动面i 等动态效果,结合j a v a 的a w t ( 抽象窗口 工具) 和网络功能( s o c k e t ,j d b c 等) ,可以实现客户端交互式多媒体访问界面以及客 户与服务器之间的动态交流,极大地丰富和扩展了传统浏览器的功能。本文采用 的就是这种方式。 3 1 2j a v as e n 哇e t j a v aa p p l e t 是在浏览器执行的j a v a 应用程式,它可以延伸浏览器的功能。而 j a v as e r v l e t 是在j a v a 型的w b b 服务器中执行,并且可以延伸服务器的功能。s e r v l e t 可以建立一个组织架构,通过w 曲提供请求和应答服务,而藉此延伸w 曲服务器 的功能。 s e r v l e t 可以被认为是服务器端的a p p c t os e r v l e t 被w 曲服务器加载和执行, 就如同a p p l e t 被浏览器加载和执行一样。s e r v l e t 从客户端( 通过w 曲服务器) 接收 请求,执行某种作业,然后返回结果。s e f v l e t 的基本流程如一f : 1 ) 客户端( 很可能是w c b 浏览器) 通过h r r p 提出请求; 2 ) w 曲服务器接收该请求并将其发给s e r v l e t 。如果这个s e r v l e t 尚未被加载,w 曲 服务器将把它加载到j a v a 虚拟机并且执行它: 3 ) s e r v i e t 将接收该h t t p 请求并执行某种处理: 4 ) s e r v i e t 将向w 曲服务器返回应答; 5 ) w c b 服务器将从s e r v i c t 收到的应答发送给客户端。 s e “l 时可以很好地替代公共网关接口( c o m m o ng a t c r a yi n t e f f a c ec g i ) 脚本。通常, c g l 脚本是用p c r l 或者c 语言编写的,它们总是和特定的服务器平台紧密相关。 而s e r v l c t 是用j a v a 编写的,所以它们一开始就是平台无关的。另外,s e r v l e t 还具 第三章w e b g i s 构建技术 9 备阻下优点: s e r v l c t 是持久的。s e r v i e t 只需w c b 服务器加载次,而鼠可以在不同请求之 阚操持瓣务( 镄魏一欢数据簿连接) 。 2 ) 8 e r v l e t 足可扩展的。由于s e r v i e t 足用j a v a 编写的,它就其备了j a v a 所能带来 的鼹鸯傻点。j a v a 是毽鼗懿、瑟舞对象的缝程语言,它缀容荔扩襞潋适应像戆 需求。s e r v l e t 自然也具祷了这些特征。 3 ) s e r v l e l 怒安全驰。扶终爨调用令s e “融鲍唯一方法就怒通过w 如骚务器。 这提供了高水平的安全性保障,纯其是在你的w 曲服务器有防火墙保护的时 候。 s c l v l e tw 以在多种多祥的客户机上使用。由于s e r v i e t 是用j a v a 编写的,所以 你可以缀方便地在h 1 m l 中使用它们,就像你使用a p p l e t 一样。 5 ) 通过j a v aa p p i e t 与s e w 融成对的使用,珂以实现信息流豹压缩与加密,掇高 信息的安全性。新一代的w e b g i s 系统在网络传递地理信息时,大多需瑟支 持s s l 镄辕藤蜜接谈,泉保证逸疆蓓意程网络上豹安全瀛凌翻1 鹾“j 。 3 1 3 朋d b c j d b c ( h v ad a t a b a s cc o n n e c t i v i t y ) 是一种可用于执行s q l 语句的j a v aa p j ( a p p l i c a t i 彻p m g r 锄m j n gi n t e r f a c e ,应用程序设计接口) ,它由一些j a v a 语言写的 类、界面组成。 j d b c 是一个低层次接口,为建立高层次的接口和工具提供了基础。j d b c 主 要有两种接口:面向程序开发人员的j d b ca p i 和面向底层的j d b cd r j v e ra p i j d b ca p i 是一系列抽象的接口。它使得应用程序员能够进行数据库连接、执行s q l 声明,并且得到返回结果,j d b c a p i 中的对象类全部由j a v a 语言编写而成的,这 就继承了j a v a 语言所具有的安全性、方便性等特点。j d b c d r i v c r a p l 是面向驱动 程序开发商的编程接口,对于大多数数据库驱动程序来说,仅仅实现j d b ca p i 提供的抽象类就可以了。j d b c 般放在一个叫j a v a s q l 的软件包中。 j d b c 给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应 用程序设计接口,使开发人员可以用纯j a v a 语言编写完整的数据库应用程序。 j d b c 扩展了j a 的能力,通过使用j d b c ,开发人员可以很方便地将s q l 语句传送给几乎任何一种数据库。也就是说,开发人员可以不必写一个程序访问 s y b a s c ,写另一个程序访问0 r a c l e ,再写一个程序访问m j c r o s o f t 的s q ls e r v e r 。 用j d b c 写的程序能够自动地将s q l 语句传送给相应的数据库管理系统( ( d b m s ) 。 不但如此,使用j a v a 编写的应用程序可以在任何支持j a v a 的平台上运行,不必在 不同的平台上编写不同的应用,j a v a 和j d b c 的结合可以让开发人员在开发数据 库应用时真正实现”w r j t eo n c e ,r u ne v e m v h e f e ! ”。 o 基于m 印x 神m e 的w e b g l s 系统及关键技术堕堕堕 简单地说,m - b c 的任务就是完成下列三件事: 同个数据库建立连接 2 ) 向数据库发送s q l 爵句 3 1 处理数据库返回的结果 对于基于w e b 的g l s 应用,由于其运行环境和数据组织的特点,需鬻有一个 能适合网卜数据库操作的机制。j d b c 作为j a v a 语言的数据库应用,独立于特定 的数据库管理系统,具有一个通用的s q l 数据库访问和存储结构,支持j a v a 程序 和数据库系统之间的无缝连接,也使得j a v a 语言用于w e b g l s 的开发具有了先天 的优越性。 3 2 w e b 数据库技术 当前刈以使用的数据库管珲系统的类型有五种:文件管理系统、层次型数据库 系统、网络型数据库系统、对象关系数据库系统和关系型数据库系统。虽然对象 关系数据库允许把用户数据看成数据库中的对象,但是将它和用j w a 编写的程序 集成还是非常困难的,尤其是在o m c l e 数据库对象和j a v a 对象之间进行映射| j 分 复杂。0 r a c l e 数据库对象支持方法,但是它的价值还值得思考,因为把方法映射为 j a v a 对象并不容易,而且还可能导致在两个地方存在相似的代码,这当然不是人 们期望的。尽管存在这些利害关系,0 r a c l e 的面向对象特性在开发需要由不同应用 程序共享的对象和方法时还是非常有用的,尤其是当应用程序由不同的语言编写 时【1 2 】。 3 2 1o m c i e 数据库 地理空问数据在关系数据库中存储时,是按照大对象( i o b ) 的形式存储的,因 此存储时主要考虑两个方面的问题: n 空问数据的存储量 2 ) 空间数据的访问速度 针对这两方面的问题,一方面要设计好相应的存储结构,另外还需要选择高 教的空问数据库软件。我们这里采用的是o r a c l c 公司的o c l e 9 i 。 0 r a c i c 9 i 是o r a c l e 公司开发的面向i n t e m e t 网络计算并支持对象关系模型的新 一代数据库产品,它用便于逻辑管理的s 0 l 语言操纵大量有规q 数据的集台,是 目前最流行的客户端,服务器体系结构的数据库之一。它具有如下突出特点: 1 ) 支持大型数据库和多用户的高性能事务处理 0 r a c l e 支持最人的数据库,其大小可到8 t b ,可充分利用硬件设备。支持大 量用j 、同时在同一数据p 实现各种数据应用,并使数据争用最小,保证数据一致 量用户同时在同一数据上实现各种数据应用,并使数据争用最小,保证数据一致 第三章w e b - g i s 构建技术 性。系统维护具有很高的性能,o r a c l e 可持续性工作。o r a c l e 将存放在多台计算机 上的数据组合成一个逻辑数据库,可被全部网络用户存取。分布式系统像集中式 数据库一样具有用户透明性和数据一致性。 2 ) 具有可移植性、可兼容性和可连接性 由于o r a c l e 软件可在许多不同的操作系统上运行,因而在o r a c l e 上所开发的 应用可移植到任何操作系统,只需很少修改或不需要修改。o r a c i e 软件同工业标准 相兼容,包括许多工业标准的操作系统,所开发应用系统可在任何操作系统上运 行。可连接性是指o m c l e 允许不同类型的计算机和操作系统通过网络共享信息。 这一点刚好与j a v a 语言所开发的应用程序“一次编译,重复运行”性能相吻合。 3 ) 先进性 在数据库领域,从最早的关系数据库开始,到现在的o r a c l e 9 i 已全面支持 i n t e m e t 应用,先进的技术使得数据库和i n t e m e t 彻底结合。另外作为数据库领域 的实力软件,0 r a c l e 可以让用户在数据库中存储和执行使用p l s o l 或者j a v a 这 样的语言编写的业务逻辑,用户不仅可以在数据库中存储原有的x m l 文档,而且 也可以直接从在表的行和列中存储的关系数据库中动态生成x m l 。用户可以直接 使用s q l 发出w 曲请求,从i m e m c t 上检索w 曲负面,然后存数据库中对其进行 处理。更重要的是o 甩c l e 9 i 的组件之一o r a c l e 9 is p a t i a l 能够使o r a c l e 数据库对空 间数据进行高效快速的存储、管理、查询和检索。 3 2 2 利用。豫l c e 9 i 来存储和管理地图数据 用o m c l e 来存储地图数据,在数据库的三层结构中,可以清晰地描述出o m c l e 的逻辑结构和物理结构,由表空间、表、段、区间、数据块组成逻辑数据库。而 物理文件和物理块则构成物理数据库,如图3 1 所示。 针对我们所使用地图数据的特点,为了便于存储后数据的空间分析和检索, 除了为地图数据建立索引外,还必须考虑数据的存储空间,将数据进行分块。 在o m c l e 8 之前,必须使用l o n g 数据库类型存储大块的字符数据,使用l o n g r a w 类型或者较短的i 认w 类型存储大块的二进制数据。l o n g 类型最多可以存 储2 g b 字符数据,l o n gr a w 类型最多可以存储2 g b 的二进制数据,r a w 类型 最多可以存储4 k b 的二进制数据。而在。仡c l e 8 和所有后续数据库版本中,引入 了个称为太对象( ( 】a 唱eo b j e c t ,l o b ) 的新类型。l o b 可以用于存储二进制数据、 字符数据和对外部文件的引用,l o b 最多可以存储4 g b 的数据。 j d b c 支持三种大对象类型: 1 ) c l o b ,c h a 哺c t e r l o b 类型,用于存储字符数据。 2 ) b l o b ,b i 聃i yl o b 类型,用于存储二进制数据。 3 ) b f l l e ,b i n a r yf l l e 类型,用于存储指向文件系统中的文件的指针。 ! ! ! 兰! 竺! 里茎! 竺! 丝鲨堕堕墨堕垦差堡垫查塑窒生一 幽3 l o m c l e 数姑厍组织 与使用老式的l o n g 和l o n g 凡堋类型创建的列相比,使用c l o b 和b l o b 类型创建的列具有三个优点: 1 1l o b 列最多可以存储4 g b 的数据,这是l o n g 或l o n gr a w 列中可以存储 的数据量的两倍。 2 ) 一个表可以有多个l o b 列,但是+ 一个表只能有一个l o n g 或l o n gr a w 列。 3 1 可以以随机次序访问l 弼数据,而l o n g 和l o n gr a w 数据只能被顺序访 问。 用j d b c 写c l o b 和b l o b 列的内容,可以使用p u t 方法,也可以使用流。 根据地理空间信息发布系统数据量大的特点,我们这里将采用流来处理空间可能 较大的地图数据,使用j 8 v a 流读取文件的内容,并且将内容写到c l o b 和b l o b 歹l 。 3 2 3 数据库的连接 3 2 3 1j a v a 与数据库的连接 连接j a v a 和数据库的最基本的技术是j a v a 数据库连接( j d b c ) ,如图3 - 2 所示。 而目前,m i c r o s o r 的o d b c 是访问关系数据库中应用最广的应用编程接口,它几 第三章w e b - 6 l s 构建技术 1 3 乎能将所有平台的所有数据库连接起来,之所以要选用j d b c ,这是因为: 1 1j a v a 不能直接使用o d b c 。因为o d b c 使用c 语言接u ,如果让j a v a 来调用 本机c 代码,会在安全、属性、健壮性、应用的可移植性等方面带来问题; 2 ) 不需要把o d b c a p i 翻译成巾b c a p l 。例如,o d b c 使用了大量的易于出错 的指针,而j a v a 取消了指针,现在可以通过j d b c ,把o d b c 翻译成具有j a v a 风格的面向对象的接口。 3 ) o d b c 难于学习和掌握。o d b c 把简单蚵功能和商级功能混杂在一起,即便是 简单的查询也需要复杂的任选项,而j d b c 的设计使简单的事情用简单的方 法,仅在必要时才让用户使用高级功能。 4 1j d b c 的j a v a a p l 提供“纯j a v a ”的解决办法。当使用o d b c 时,o d b c 驱动 器管理程序与驱动器必须手工地装入到每台客户机上,而j d b c 驱动器全部是 用j a v a 编写的,j d b c 代码可在所有j a v a 平台( 从网络计算机到主机) 自动安装, 并且是可移植的和安全的。 ( 二d 叁孝 数据雕 lj f l 孬赫蝴l 兰f 二 一一一一 , 图3 5 两层结构配置的工作方式 两层结构配置有如下特点: 】) m a p j 部署在客户端 2 ) m a p x 仃弓m e s e r v l e t 部署在中间层 3 1 客户端需要j a v a 环境:客户端浏览器必须支持j a v a2 平台的虚拟机,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论