(地图学与地理信息系统专业论文)新型webgis的开发与研究.pdf_第1页
(地图学与地理信息系统专业论文)新型webgis的开发与研究.pdf_第2页
(地图学与地理信息系统专业论文)新型webgis的开发与研究.pdf_第3页
(地图学与地理信息系统专业论文)新型webgis的开发与研究.pdf_第4页
(地图学与地理信息系统专业论文)新型webgis的开发与研究.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

摘要 近几年来,w e b g i s 技术在全世界各行各业中得到了迅猛发展及广泛应用。同时随 着w e b 技术及开发手段的不断发展,也推动了w e b g i s 专业开发工具的不断发展,出现 了很多w e b g i s 专业开发工具。利用专业开发工具开发w e b g i s 虽然具有很多优点,但也 有很多不成熟的地方,很难通过无缝集成实现应用系统的特殊功能。在对空间数据及空 间分析要求不高的情况下,应用c + + b u i l d e r 可以迅速的开发出满足特殊要求的实用 w e b g i s 系统,并在灵活性、可扩展性等方面都有无可比拟的优点。 c + + b u il d e r 6 0 提供了强大的网络编程技术,尤其在页面生成及数据库操作方面, 不仅功能强而且简单易学。本文通过参考国内外开发w e b g i s 的技术现状,结合脚本语 言、a s p 、v m l 等w e b 技术并以c + + b u i l d e r 6 0 为基础开发平台独自开发了一套w e b g i s 系统。 w e b g i s 系统的开发通常包括服务器端与浏览器端两部分的开发。在服务器端的开发 中,首先开发一个桌面g i s 应用程序,它既可以作为地图编辑系统又可为开发服务器端 应用程序提供支持。桌面g i s 在功能上设计一些常用的g i s 功能,如地图的显示、窗口 操作、属性查询、地图的修改及地图图片的生成等,而在实现上采用面向对象技术对各 个功能按类进行设计及封装。在w e b g i s 的开发模式中,服务器应用程序接口( s e r v e r a p i ) 模式是一种进程内( i n p r o c e s s ) 扩充的方法,运行于w e b 服务器的进程中,而 且一旦启动,会一直处于运行状态,大大减少了进程创建过程和进程间的通信负载。论 文的研究中将采用微软的服务器应用程序接口i s a p i 来开发w e b g i s 服务器端应用程序; 在浏览器端的开发过程中,主要是设计与实现各个w e b g i s 网页,而网页的设计与实现 又包括静态网页和动态网页的设计与实现,静态网页由h t m l 语法书写,动态网页要由 脚本语言及a s p 技术来实现。 论文的研究过程中,首先实现了桌面g i s 软件系统,并在此基础上完成了整个 w e b g i s 系统的开发过程,并以长春市旅游图为例,通过在网站上的调试与运行,在功能 上、外观上、及响应速度上都已达到比较良好的效果。另外,w e b g i s 系统由于要处理很 多请求与响应信息,以往的开发模式在处理这些信息的时候大多要增加很多的代码才能 实现,而利用c + + b u i l d e r 所提供的各种网络开发组件却很方便快捷,大大提高了w e b g i s 系统开发与维护的性能。 关键词:w e b g i s ;桌面g i s :服务器端应用程序;网页:面向对象;脚本语言;a s p a b s t r a c t i nr e c e n ty e a r s w e b g i si na l lw a l k so fl i f ei nt h ew o r l dh a sb e e nr a p i dd e v e l o p m e n ta n d w i d e s p r e a da p p l i c a t i o n a tt h es a m et i m e t h ed e v e l o p m e n to fw 曲t e c h n o l o g ya n dm e a n so f d e v e l o p i n gw 曲g i sa l s oh a sp r o m o t e dt h ew e b g i ss p e c i a l i z e dd e v e l o p i n gk i t su n c e a s i n g d e v e l o p m e n t a n dh a sp r e s e n t e dm a n yw 曲g i ss p e c i a l i z e dd e v e l o p i n gk i t u s e st h e s p e c i a l i z e dd e v e l o p i n gk i tt od e v e l o pw 曲g i s ,a l t h o u g hh a sm a n ym e r i t s ,b u ti t a l s oh a s m a n yi m p e r f e c tp a r t ,f o re x a m p l e ,i ti sv e r yd i m c u l tt or e a l i z es o m ew e b g i ss y s t e m ss p e c i a l f u n c t i o nt h r o u g ht h es e a m l e s si n t e g r a t i o n i nt h ec i r c u m s t a n c e st h a tt h es p a t i a ld a t aa n d s p a t i a la n a l y s i sr e q u e s tn o th i g h ,o n ep r a c t i c a lw e b g i ss y s t e mw h i c hw i l ls a t i s f yt h es p e c i a l r e q u e s tc a nb ed e v e l o p e dq u i c k l yu s i n gc + + b u i l d e rp l a t f o r m ,a n di na s p e c t so ff l e x i b i l i t y , e x t e n d i b i l i t ye t c i tw i l lh a v et h ei n c o m p a r a b l em e r i t c + + b u i l d e r 6 0p l a t f o r mh a sp r o v i d e dt h ef o r m i d a b l en e t w o r kp r o g r a m m i n gt e c h n o l o g y , e s p e c i a l l yi na s p e c t so fw e bp a g e sg e n e r a t i o na n dd a t a b a s eo p e r a t i o n ,i t sf u n c t i o n sa r en o t o n l ys t r o n gb u ta l s oe a s yt o1 e a r n t h i sa r t i c l et h r o u g hr e f e r r e dt oc u r r e n td o m e s t i ca n d f o r e i g nw e b g i st e c h n o l o g y , u n i o nw e bt e c h n o l o g i e sa ss c r i p tl a n g u a g e a s p , v m le t c i n d e p e n d e n t l yt od e v e l o pas e to fw e b g i ss y s t e mb a s e do nc + + b u i l d e r 6 0p l a t f o r m d e v e l o p i n gt h ew e b g i su s u a l l yi n c l u d ed e v e l o p i n gt h es e r v e r - s i d ea n dt h eb r o w s e r - s i d e t w op a r t s i nd e v e l o p i n gt h es e r v e r - s i d e sp a r t ,f i r s t l yt od e v e l o pad e s k t o pg i s a p p l i c a t i o n ,i t b o t hm a yb eo n em a pe d i t i n gs y s t e ma n da l s oc a np r o v i d et h es u p p o r tf o rt h es e r v e r - s i d e a p p l i c a t i o n t h ed e s k t o pg i sd e s i g n ss o m ec o m m o n l yu s e dg i sf u n c t i o n s 1 i k em a p s d e m o n s t r a t i o n ,t h ew i n d o wo p e r a t i o n ,t h ea t t r i b u t ei n q u i r y , m a p sm o d i f i c a t i o na n dt h em a p p i c t u r e sg e n e r a t i o na n ds oo n m e a n w h i l eu s e st h eo b j e c t o r i e n t e dt e c h n o l o g yt od e s i g na n d e n c a p s u l a t ec + + c l a s s sf o ra b o v ef u n c t i o n s i nt h ew e b g i sd e v e l o p i n gp a t t e r n t h es e r v e r a p p l i c a t i o np r o g r a mi n t e r f a c e ( s e r v e ra p i ) i st h em e t h o dw h i c hi n - p r o c e s se x p a n d s ,r u n si n t h ew e bs e r v e r sp r o c e s s ,o n c ei ts t a r t s ,i ta l w a y sh a sb e e na tt h er u n n i n gs t a t u s s oi tc a n r e d u c et h ep r o c e d u r eo fb u i l d i n gp r o c e s sa n dt h ep r o c e s s sc o m m u n i c a t i o nl o a d i nt h i s r e s e a r c hw i l lu s em i c r o s o f l ss e r v e ra p p l i c a t i o np r o g r a mi n t e r f a c e i s a p it od e v e l o pt h e w 曲g i ss e r v e r - s i d ea p p l i c a t i o n i nd e v e l o p i n gt h eb r o w s e r - s i d e sp a r tw i l lm a i n l yd e s i g na n d r e a l i z ee a c h 色bp a g e a n dt h ew e bp a g e sd e s i g na n dr e a l i z a t i o ni n c l u d e st h es t a t i cp a g ea n d t h ed y n a m i cp a g e ,t h es t a t i cp a g ei ss c r i p t e db yh t m lg r a m m a r , t h ed y n a m i cp a g ec a nb e f i n is h e db yt h es c r i p tl a n g u a g ea n dt h ea s pt e c h n o l o g y i nt h ep a p e rr e s e a r c h ,h a sf i r s t l yf i n i s h e do n ed e s k t o pg i ss o f t w a r es y s t e m ,a n db a s e do n t h i sd e s k t o pg i sh a sc o m p l e t e dt h ee n t i r ew e b g i ss y s t e m ,a n dt a k ec h a n g c h u nc i t yt o u r i s t m a pa st h ee x a m p l e ,t h r o u g hi nt h ew e b s i t ed e b u g g i n ga n dt h er u n n i n g ,i th a sa c h i e v e dt h e q u i t eg o o de f f e c ti nt h ef u n c t i o n ,a p p e a r a n c e ,a n di nt h es p e e do fr e s p o n s e m o r e o v e r , w e b g i ss y s t e mm u s th a n d l em a n yr e q u e s ta n dt h er e s p o n s em e s s a g e t h ef o r m e rw e b g i si n h a n d l i n gt h e s em e s s a g em o s t l ym u s tw r i t em a n yc o d e st ob ea b l et or e a l i z e b u tu s i n ga l l k i n d so f 、m e bc o m p o n e n tw h i c hc - i - + b u i l d e rp l a t f o r ms u p p o r t e di sv e r ya c t u a l l yc o n v e n i e n t a n dq u i c k l y , i th a se n h a n c e dt h ew e b g i ss y s t e md e v e l o p m e n ta n dt h em a i n t e n a n c e p e r f o r m a n c eg r e a t l y k e yw o r d s :w e b g i s ;d e s k t o pg i s ;s e r v e r - s i d ea p p l i c a t i o n ;w 曲p a g e ;o b je c t o r i e n t e d ; s c r i p tl a n g u a g e ;a s p i i 论文独创性声明 本人声明:本人所呈交的学位论文是在导师的指导下,独立进行研究工 作所取得的成果。除论文中已经注明引用的内容外,对论文的研究做出重 要贡献的个人和集体,均已在文中以明确方式标明。本论文中不包含任何 未加明确注明的其他个人或集体已经公开发表的成果。 本声明的法律责任由本人承担。 论文作者签名:易于住1 胛吕年月矽日 论文知识产权权属声明 本人在导师指导下所完成的论文及相关的职务作品,知识产权归属学 校。学校享有以任何方式发表、复制、公开阅览、借阅以及申请专利等权 利。本人离校后发表或使用学位论文或与该论文直接相关的学术论文或成 果时,署名单位仍然为长安大学。 ( 保密的论文在解密后应遵守此规定) 论文作者签名:易3 - 匪 导师签名:奔胡砑 j 伽缪年、i 一月日 细扩年g 月q - 日 长安大学硕士学位论文 1 1 课题研究的背景 第一章绪论弟一早三百t 匕 地理信息系统( g i s ) 的理论与技术历经4 0 多年的发展,取得了巨大的成就。其应用 已经渗透到社会生活的各个领域,广泛地应用于城市规划、设施管理、资源、环境、能 源、农业、水利、交通、国防、人口、灾害防护以至人民生活的各个方面。g i s 以图形、 图像与属性数据为基础,以获取、存储、检索、分析和显示各种空间动态信息,进行辅 助决策为手段,现已成为各政府、企事业单位进行现代化科学管理以及快速决策的强有 力的工具。简而言之,g i s 就是一个图形化的数据库,它实现了属性数据与空间数据的 存储以及它们之间的互操作。 i n t e r n e t 是一次自印刷术发明以来最伟大的通信革命。i n t e r n e t 自诞生以来,在短短 的十几年内,它已经从一种简单的数字传输的方式发展成为一个巨大的产业,并已经应 用到各行各业。随着i n t e r n e t 技术的不断发展和人们对地理信息系统( g i s ) 的需求,利用 i n t e m e t 在网络上发布和出版空间数据,为用户提供空间数据浏览、查询和分析等功能, 已经成为g i s 发展的必然趋势。于是,基于i n t e r n e t 技术的地理信息系统w e b g i s 就应 运而生。从互联网的任意一个地方,i n t e r n e t 用户都可以浏览w e b g i s 站点中的空间数据、 制作专题图,以及进行各种空间检索和空间分析。因此,w e b g i s 不但具有大部分乃至 全部传统g i s 软件具有的功能,而且还具有利用i n t e r n e t 优势的特有功能,即用户不必 在自己的本地计算机上安装g i s 软件就可以在i n t e r n e t 上访问远程的g i s 数据和应用程 序,进行g i s 分析。 传统的g i s 是基于单机或客户端服务l l 罟( c s ) 模式的,即运行于单机或局域网上,它 基于简单的请求应答协议,是一种分布式系统结构。在c s 模式下,服务器只集中管理 数据,而计算任务分散在客户机上,客户机与服务器之间通过网络协议进行通信。而 w e b g i s 通常是以浏览器n 务器( b s ) 的模式架构的,b s 模式是一种以w e b 技术为基础 的新型的m i s 系统平台模式,它以互联网为环境,以w e b 页面作为g i s 软件的用户界 面,把i n t e m e t 和g i s 技术结合在一起,为各种地理信息应用提供g i s 功能。与传统 g i s 桐比,具有b s 体系机构的网络g i s 使原来基于单机或局域网的g i s 扩展到整个因 特网,使得地学数据和地学模型有可能在全球范围内得到共享【5 1 1 。b s 模式把传统c s 模式中的服务器部分分解为一个数据服务器与个或多个应用程序服务器( w e b 服务 第一章绪论 器) ,从而构成了一个三层结构的客户服务器体系,服务器端依据浏览器端的请求信息 负责空间数据以及空间信息的查询、分析、处理并响应给浏览器端,而服务器端应用程 序各功能的实现依然要依托某个传统的g i s 平台,因此w e b g i s 的发展与应用同时也是 离不开传统g i s 的发展与应用的。 在w e b g i s 产品的开发方面,目前大多是基于二次开发的。而要从底层开发一套 w e b g i s ,要求开发者具备较强的开发能力,如图形图像技术、高级语言的掌握( 如c + + ) 、 数据库技术、h t m l 语法、脚本语言( 如j a v a s c r i p t ) 、a s p 技术等。即不仅要开发桌面 g i s 的各个功能,还要开发网络上所特有的功能。在短时间内,用有限的开发力量和资 金,通常很难开发出一个比较专业的g i s 软件系统。虽然底层开发难度较大,但同时它 却又具有无可比拟的优点,如较强的灵活性、可以根据系统的具体要求实现具体的操作 功能、设计的系统短小精悍、软硬件要求不高以及运行速度快、有自我版权、易于扩展 等。另外,二次开发往往受专业开发工具的制约,很难通过无缝集成实现应用系统的特 殊功能。同时w e b g i s 项目中有很多小型的项目,通常预算的经费不会很高,而现有的 二次开发产品价格都很高,这样从某种角度上说,二次开发的成本也抑制了很多小型 w e b g i s 项目的开发与应用【4 】。因此做一些底层开发w e b g i s 的尝试和探索也是有意义和 必要的。 1 2 国内外研究现状 1 2 1w e b g l s 开发模式现状 ( 1 ) 利用c g i 技术构建w e b g i s 系统:利用网关接口( c g i ) 方法,就是互联网服务 器通过调用外部应用程序的接口扩展网络服务器的功能。这时c g i 的作用相当于在外部 应用程序与i n t e m e t i n t r a n e t 网络服务器之问架设一座桥梁,即网络服务器对客户端的请 求作出响应,而客户端通过网络服务器激发c g i 程序的响应实现具体的操作,并读取 h t m l ( 超文本标识语言) 文件,将读取的数据信息通过服务器送往客户端。 ( 2 ) 利用服务器端应用程序接e l ( s e r v e r a p i ) 建立w e b g i s 系统:服务器应用程序接口 技术是为克服c g i 方法的的低效率问题而研制的。这种方法的基本原理与c g i 类似, 所不同的是c g i 程序是可以单独运行的程序,而基于服务器应用程序接口的程序必须在 特定的服务器上运行。目前最有影响的s e r v e ra p i 有n e t s c a p e 的n s a p i ,m i c r o s o f t 的 1 s a p i 。这些a p i 应用程序是与w e b 服务器软件处于同一个地址空间的d l l ( 动态链接 库) ,因此所有的h t t p 服务器进程能够直接利用各种资源,这比调用不在同一地址空 2 长安大学硕士学位论文 间的c g i 程序所占用的系统时间要短。但a p i 编程需要多线程、进程同步和直接协议 编程等知识,比开发c g i 程序复杂和困难的多。 ( 3 ) 利用p l u g i n ( 插件) 技术方法建立w e b g i s 系统:此方法是它本身提供了一套 应用程序接口( a p i ) ,可用于研制专门的与网络浏览器直接交换信息的w e b g i s 软件包 ( 各个插件) ,而各个插件使w e b 页面提供者在现有的标准支持下,可以随时加进新的 内容,如音频、视频、图形等。 ( 4 ) 利用a c t i v e x 控件和d c o m 组件对象模型技术建立w e b g i s 系统:微软公司的 a c t i v e x 是一种对象链接及嵌入技术( o l e ) ,可应用于i n t e m e t 的开发。它的基础是 d c o m ( 分布式组件对象模型) 。d c o m 本身不是一种计算机编程语言,而是一种技术 标准。 ( 5 ) 利用j a v a 编程语言建立w e b g i s 系统:j a v a 语言是基于网络应用开发的面向 对象的新一代计算机编程语言。它具有对象封装、多态和继承性等面向对象语言的基本 特征。由于采用了虚拟机技术,因此它实现了目标代码与平台无关的特性1 。 1 2 2 主要w e b g i s 开发产品的技术现状 目前,互联网上己经出现了许多基于w e b g i s 的地理信息系统应用实例。国外很多 国家相继开发了许多有偿和无偿的地图服务网站,如e s r i 的网站( h t t p :w w w e s r i c o m ) 以、m a p i n f o 的网站( h t t p :w w w m a p i n f o c o m ) 、美国特拉华州的d a t a m i l ( h t t p :d a t a m i l d e l a w a r e g o v ) 、新西兰在线地图服务( h t t p :l l w w w n z t o p o o n l i n e 1 i n z g o v t n z ) 、英国的 m a p s d i r e c t 网络服务( h t t p :w w w m a p s d i r e c t c o u k ) 及澳大利亚的大吉朗市网站( h t t p : w w w g e e l o n g c i t y v i c g o v a u v i s i t i n g _ g e e l o n g m a p s ) 等【1 1 1 。在国内,w e b g i s 的应用也 正方兴未艾,g o o g l ee a r t h 和g o o g l em a pa p i 的推出是对w e b g i s 技术的一次巨大的 创新。随后w e b g i s 产品层出不穷,先后有9 0 2 m a p 的收购案以及5 1 d i t u 、m a p b a r 、m a p a b c 、新浪、b a i d u 等都推出了地图服务。 专业的w e b g i s 开发工具主要有e s r i 公司的a r c l m s 、i n t e r g r a p h 公司的g e o m e d i a w e b m a p 、a u t o d e s k 公司的a u t o d e s km a p g u i d e 、m a p l n f o 公司的m a p x t r e m e 、武汉中 地数码科技有限公司的m a p g i s i m s 、国家遥感应用工程技术研究中心的g e o b e a n s 、武 汉吉奥的g e o s u r f , 北京超图的s u p e r m a p l s 、g o o g l e 公司推出的g o o g l em a p s e a r t h 、搜 狐的g 0 2 m a p 、北京灵图公司的5 1 d i t u 等【3 0 】。现就其中的四个w e b g i s 开发工具的技术 特征进行一些比较和分析: 第一章绪论 ( 1 ) e s r i 公司的a r ci n t e r n e tm a ps e r v e r ( a r c i m s ) a r c i m s 作为w e b g i s 的种开发平台,它具备成熟的客户服务器体系构架,允许 对各层进行直接定制。例如,客户端用户通过定制h t m l 、j a v a s c r i p t 或调用开放的对象 模型,可以建立特定的i n t e m e t 应用程序。而在服务器端,a r c i m s 提供了投影和要素专 题化等功能。中间件可以使用a s p 和c o l d f u s i o n 技术进行定制,从而扩展自己的网站。 a r c i m s 其他的一些重要特征还包括:支持要素数据流方式,支持不同来源的数据整合以 及使用一些辅助工具。通过要素数据流方式,a r c i m s 不仅能够向客户端传输影像数据, 还可以传输矢量数据,它还允许进行一些超出制图的功能,如数据的空间叠置,地理分 析等,最重要的是通过要素数据流方式,不仅可以通过网络访问远程数据,而且还可以使 用自己本地机上的数据。 ( 2 ) m a p i n f o 公司的m a p x t r e m e m a p x t r e m e 包括地图服务器管理、基准地图数据管理、地图对象管理几部分。通过 m a p x t r e m e 可以进行专题制图、数据绑定、地图注记、图层管理、自动标注、选择以及 地图编辑、投影与坐标转换等。可以叠加背景图像,可以更新或插入数据到运行于o r a c l e 或i n f o r m i x 上的s p a t i a l w a r e 中。其中传送到浏览器的地图可以采用j p e g , g i f , w m f , b m p , t i f f 等多种图像格式。 ( 3 ) a u t o u e s k 公司的m a p g u i d e 包括m a p g u i d es e r v e r , m a p g u i d ea u t h o r , m a pg u i d ev i e w e r 三部分。其中,m a p g u i d e a u t h o r 用于制作需要发布的地图:m a p g u i d es e r v e r 是一个可扩充具有容错能力的3 2 位 多线程结构的w i n d o w sn t 服务,由它处理由浏览器端m a p g u i d ev i e w e r 发来的请求, 并返回请求的地图数据;而m a p g u i d ev i e w e r 是一个a c t i v e x 控件,运行于浏览器中, 负责实现对地图数据的显示、查询、分析以及其它操作。 ( 4 ) 武汉中地数码科技有限公司的m a p g i s - - i m s m a p g i s - - 1 m s 系统分为四层: c l i e n t b r o w s e 层,w 曲s e r v e r 层,应用逻辑层和 d a t a b a s e ( 数据服务器) 层。系统前端表示原始地理数据库的形成,主要由m a p g i s 的 图形库管理子系统和属性库管理子系统来完成。其中的浏览器层采用普通的h t m l 浏 览器,接收普通的h t m l 页面,它的任务是访问w e b g i s 服务器中有关的a s p 页面, 并请求地图数据。w e bs e r v e r 层负责在w e b g i s 服务器接收到浏览器端的请求后,利用 m a p g i ss e r v e r 组件的功能,进行处理、分析、计算等。应用逻辑层是开发者自己为了 满足开发的需要,而自己定义的数据结构和应用,是对w e b g i s 的一种扩展应用。 g i s 4 长安大学硕- l 学位论文 数据服务器层完成的是数据的定义、存储、检索、完整性约束以及有关的数据库管理工 作,它接收w e b g i s 服务器的数据请求,并将处理结果交送w e b g i s 服务器。 1 3 本文研究的主要内容 根据国内外的研究现状并参照相应的关键技术,本次论文研究中主要完成了如下的 工作: ( 1 ) 开发w e b g i s 服务器端应用程序。 采用微软的服务器应用程序接口模式i s a p i 并基于c + + b u i l d e r 平台开发w e b g i s 服 务器端应用程序,i s a p i 利用动态链接库( d l l ,d y n a m i c l i n kl i b r a r y ) 取代可执行 文件,执行效率明显提高。 w e b g i s 服务器端应用程序最主要的功能是响应浏览器端的请求生成地图图片、提取 地图要素的坐标信息( 如用于在选取地图要素时的闪烁处理) 以及属性查询等功能。而 其中生成地图图片、提取地图要素的坐标信息等功能可以通过单独开发一个桌面g i s 加 以实现,桌面g i s 同时还承担了地图编辑系统的任务。桌面g i s 的开发利用了面向对象 技术,针对地理要素的特点通过设计及实现相关的c + + 类以完成诸如地图显示、属性查 询及图形的修改等常用的g i s 功能;而w e b g i s 服务器端应用程序中的属性查询功能则 是通过c + + b u i l d e r 平台的数据库组件及页面生成技术加以实现。 ( 2 ) 网页的设计与实现。 w e b g i s 系统根据系统需求通常要包含很多的网页,在论文的研究中各个网页都被链 接到一个网页框架中,即链接到w e b g i s 的主页中。网页的设计与实现又包括静态网页 和动态网页的设计与实现,静态网页由h t m l 语言书写,而动态网页要由脚本语言( 本 次用到的是j a v a s c r i p t ) 及a s p 技术来实现。 第二章关键技术 2 1 面向对象技术 第二章关键技术 “面向对象”是软件程序设计中的一种新思想。由于这种新思想的引入,使我们的程序 设计能更加贴近现实,并且花费更少的精力。八十年代末以来,随着面向对象技术成为研 究的热点而出现了几十种支持软件开发的面向对象方法。其中,b o o c h , c o a d y o u r d o n , o m t , 和j a c o b s o n 的方法在面向对象软件开发界得到了广泛的认可。特别 值得一提的是统一建模语言u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) 方法,该方法结合了 b o o c h ,o m t , 和j a c o b s o n 方法的优点,统一了符号体系,并从其它的方法和工程实践中 吸收了许多经过实际检验的概念和技术。 传统的结构化程序设计是自顶向下、逐步求精;其程序结构是按功能划分若干个基 本模块,这些模块形成一个树状结构;各模块之间的关系尽可能简单,在功能上相对独 立;每一模块内部是由顺序、选择和循环三种基本结构组成。其优点是能有效地将一个 比较复杂的程序系统的设计任务分成许多易于控制和处理的子任务,这些子任务都是可 独立编程的子程序模块,这样便显得结构清晰,便于使用。但它仍是一种面向数据过程 的设计方法,它把数据和过程分离为相互独立的实体,对于不同的数据格式即使要做同 样的处理或对相同的数据格式要做不同的处理都要编写不同的程序,因此可重用性不 好。另外当数据和过程相互独立时,总存在着用错误的数据调用正确的程序模块或用正 确的数据调用了错误的程序模块的可能性。而面向对象程序设计既吸取了结构化程序设 计的一切优点,又考虑了现实世界与面向对象解空间的映射关系,它所追求的的目标是 将现实世界的问题求解尽可能简单化。例如我们可以把各种各样的汽车抽象成一个汽车 类,它所包含的数据内容有发动机型号、颜色、样式、生产厂家等,它所具有的操作有 加速、减速、刹车、转弯以及修理等。那么每一辆具体的汽车我们就可称为该汽车类的 个对象。又如,在g i s 中通常地理实体常常抽象为各个点、线、面类,其数据内容主 要有坐标串、颜色、笔宽、大小、符号等。而它所具有的行为可以有增加、删除、修改 等。那么比如地图上的一条具体河流我们便可以称之为线类的一个对象。面向对象技术 最突出的特性就是封装性、继承性和多态性,这几种特性的联合使用使得面向对象程序 设计不仅提高了软件复杂性控制和软件生产率,还符合了人类的思维习惯,能够自然的 表现现实世界的实体,对软件开发过程具有重要意义【4 2 1 。 6 长安大学硕 :学位论文 2 2s t l 技术 标准模板库( s t l ) 是标准c + + 库中的一部分,它包含了几乎编制所有程序和系统 所要用到的类属。它是基于模板的实用类库,库中没有图形及组件,这使得使用多样的 数据更加简单和广泛。类库中包括有容器( c o n t a i n e r ,储存任意类型对象的对象) 、算法 ( a l g o r i t h m ,能运行在不同容器上的计算过程) 、迭代器( i t e r a t o r ,算法存取容器的抽象, 以便算法可以应用在不同的容器上) 、函数对象( f u n c t i o no b j e c t ,定义了函数调用操作 符的类) 、内存分配器( a l l o c a t o r s ,内存合理分配或释放) 和适配器( a d a p t o r ,封装一 个部件以提供另外的接口) 。由于其中的代码采用模板类及模板函数的方式,可以极大 地提高编程效率,如减少开发时间、简化软件开发、简化调试、易于维护并增加代码的 可移植性等。 其中向量( v e c t o r ) 是常用的一种c o n t a i n e r ,它可以表示变量数组,允许开发者使用 顺序或随机访问的方式访问任意类型的项,因此用来存贮和管理空间数据比较合理。 v e c t o r 中有很多成员函数使用非常方便,现举例如下: 如v e c t o r c o o r d 表示一个坐标串变量,用s i z e ( ) 可以获得元素的总数,如 c o o r d s i z e ( ) 表示坐标数目。v e c t o r 类似于数组,可以使用下标 访问:如c o o r d 0 = 1 0 1 4 5 6 。成员函数p u s h _ b a c k ( ) 可在v e c t o r 的尾部添加一个元素,如 c o o r d p u s h _ b a c k ( 3 2 1 1 2 4 ) ,也可以用i n s e r t ( ) f f l 数完成同样的工作。b e g i n ( ) 返回的是v e c t o r 中第一个元素的i t e r a t o r ,而e n d ( ) 返回的并不是最后一个元素的i t e r a t o r ,在s t l 中叫 p a s t t h e e n di t e r a t o r 。 又如:你可以用以下的几种方法声明一个v e c t o r 对象: v e c t o r v ( 5 ,3 2 5 ) ;初始化有5 个元素,其值都是3 2 5 v e c t o r v _ _ n e w l ( v ) ; v e c t o r v _ _ n e w 2 = v ; v e c t o r v _ _ n e w 3 ( v b e g i n ( ) ,v e n d ( ) ) ; 以上四个v e c t o r 对象是相等的( 可以用o p e r a t o f 来判断) 。 其余常用的v e c t o r 成员函数还有: e m p t y ( ) :判断v e c t o r 是否为空 f r o n t ( ) :取得v e c t o r 的第一个元素 b a c k ( ) :取得v e c t o r 的最后一个元素 7 第二章关键技术 p o pb a c k ( ) :去掉最后一个元素 e r a s e ( ) :去掉某个i t e r a t o r 或者i t e r a t o r 区间指定的元素 当然象s t r i n g ,l i s t 等容器的功能也都非常强大,在实际的开发中针对不同的用途可 以适当选用【2 9 】。 2 3图形图像编程技术 数字图像( 简称图像) 是指在空间和亮度上都已经离散化了的图形。我们可以把一 幅图像考虑为一个矩阵,矩阵中的任一元素对应与图像中的一个点,而相应的值对应该 点的灰度级,这样的元素叫做像素。图像适合于表现含有大量细节( 如明暗变化、场景 复杂和多种颜色等) 的画面,并可直接、快速地在屏幕上显示出来。位图是最基本的图 像存储格式,但位图占用存储空间较大,一般需要进行数据压缩。为了便于位图的存储 和交流,产生了种类繁多的文件格式,常见的有p c x 、d l b 、p i c 、g 、t g a 、j p g 和t i f f 等。在网页中接收的图像大多为j p g 或g i f 格式。 图形( 又称为矢量图形) 是各种矢量图元的集合。而图元是图形图像中具有一定意 义的较为独立的信息单元,例如地图上的一条曲线,一个矩形,一个圆,一个填充的封 闭区域,一个地图符号或一个文字串等。图形较图像的优势主要是:图形在放大或缩小 显示时,图形信息不会发生失真,而图像会失真,特别是图像目标的边界会发生阶梯效 应。图形中能以图元为独立单元进行编辑( 如修改、拷贝、移动及删除等) 操作,而图 像不能。另外图形能节约存贮空间。 w e b g i s 的开发模式基本上在服务器端处理的是矢量图形,再将矢量图形生成图像 格式的文件,最后响应到浏览器端。通常一幅地图图像也不过占几百k 个字节,传输的 速度快,不会影响到网页的刷新效率。 2 4 数据库技术 数据库理论经过了文件数据库、网络数据库、层次数据库、关系数据库、面向对象 的数据库、网格数据库等多种模式的发展过程,至今多种模式并存,但以关系数据库 f r d b m s ) 的应用范围最广,应用程度最深。数据库系统应用的范围很广,各行各业都需 要用它来进行数据存储、查询和分析。比如与我们生活密切相关的图书馆管理系统、航 班公告系统、汽修系统、企业的信息系统、票务系统、即时通讯软件等都涉及数据库系 统。 长安大学硕十学位论文 常用的关系型数据库系统如下: ( 1 ) a c c e s s a c c e s s 有全中文的界面、提示和帮助,而且除了数据库功能外,它还具有强大的开 发功能。 ( 2 ) v f p v f p 可以作为单机或者小型网络应用的数据库。v f p 除了拥有数据库功能以外,也 是一个专业数据库应用开发工具,可以用来开发任何一种类型、规模的数据库应用。 ( 3 ) s q l s e r v e r 中小型企业应用一般使用m s s q l s e r v e r 作为数据库服务器,最近几年 m s s q l s e r v e r 也在大力向大型应用渗透。 ( 4 ) m s d e m s d e 是m s s q l s e r v e r 的免费版本,功能上有所限制。 ( 5 ) o r a c l e 大型企业的应用一般使用o r a c l e 作为数据库服务器。o r a c l e 正变得越来越易用,并 向中小企业的应用而渗透。 ( 6 ) m y s q l m y s q l 适用于小型应用。大多在l i n u x 下作为w 曲数据库服务器。和a c c e s s 、v f p 等桌面数据库不同的是,m y s q l 提供类似s q l s e r v e r 的连接方式,提供账号管理,而 且在非商业应用上是免费的。 ( 7

温馨提示

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

评论

0/150

提交评论