




已阅读5页,还剩46页未读, 继续免费阅读
(计算机应用技术专业论文)植入gis的组态图形系统研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
植入g i s 的组态幽形系统t 计究i ,实现 摘要 组态软件是一类数据采集与过程控制的专业软件,在以计算机为监控中心的 电力综合自动化领域首先得到大量的应用,并逐步扩展到楼宇监测、水环境监测 等领域,而组态图形系统是组态软件的支撑系统之一。 当前通用的组态图形系统对g i s 功能和特殊监控对象的支持往往不够,集成 g s 与组态图形方面的研究也不多见。本文从g i s 与图形组态的结合方面着手,采 用面向对象的思想和统一建模语言u m l ,设计了植入g i s 图形系统的主要框架, 并基于j a v a2 a p i _ 币n b o r l a n d 软件开发工具j b u i l d e r x 实现了系统原型。系统具有丰 富的图元,能够方便快速的生成工程画面;支持g i s 地图( s h a p e f i l e 文件格式) 背景;支持水环境中特殊图元的生成( 例如河流) ;支持组态以及实时数据的动 念显示;能够与其他模块良好的协同工作,具有高度的开放性、可视性。 在系统的实现过程中,作者的主要工作集中在以下几点:在自主实现的一个 图形系统基础上,添加了基本的组态功能机制( 属性配置与动画连接) ,使图形 系统升级为组态图形系统;在g i s 与组态图形系统结合方面,构造了一个g i s 地物 和组念图形系统中的图元之间数据相互转换的算法;设计并实现了一个解决锯齿 状河岸线平滑问题的算法。 关键词:组态软件、人机界面、g i s 、系统集成、图形系统 植入g t s 的纽卷图形系统删t ,实蠼 a b s t r a c t c o n f i g u r a t i o ns o f t w a r e1 s t h es o f t w a r et h a t1 su s e dt b rt h ed a t ac o l l e c t i o na n d p r o c e s sc o n t r 0 1 i th a sb e e nw i d e l yu s e di ne l e c t r i cp o w e rs y s t e ma u t o m a t i o nf i e l d f i r s t l y a n dh a sb e e ne x p a n d e dt om a n yf i e l d ss u c ha sb u i l d i n gm o n i t o r i n g ,w a t e r e n v i r o n m e n t a lm o n i t o r i n g ,e t c a n dt h ec o n f i g u r a t i o nd r a w i n gs y s t e mi s t h em o s t i m p o r t a n ts y s t e mo f t h ec o n f i g u r a t i o ns o f t w a r e : c o n f i g u r a t i o nd r a w i n gs y s t e m sh a v eb e e nd e s i g n e dw i t hn oe n o u g hs u p p o r t so f g i sf u n c t i o na n ds p e c i a ls u p e r v i s i o nt a r g e t s h o w e v e r , t h el a t e s tr e s e a r c hh a sn o t i n t e g r a t e d g i sf u n c t i o n si n t o c o n f i g u r a t i o nd r a w i n gs y s t e m ,h o wt od e s i g na n d i m p l e m e n tt h ec o n f i g u r a t i o nd r a w i n gs y s t e mw i t hg i sb u i l t i ni sd i s c u s s e di nt h i s d i s s e r t a t i o n b yt h i n k i n go f0 一op r o g r a m m i n g ,t h ew h o l es y s t e mi sm o d e l e di nu m l a c c o r d i n gt ot h em o d e l ,t h es y s t e mi sr e a l i z e di nj a v a p l e n t yo fm e t ag r a p h i c sw i l l b eo w n e di nt h e s y s t e mp r o v i d i n gt o o l sw h i c hc a ng e n e r a t ee n g i n e e r i n gp i c t u r e q u i c k l y ,g i sf i l e s ,s u c ha se s r is h a p e f i l e s ,a r es u p p o r t e d t h ed r a w i n gs y s t e mc a n a l s o i n t e g r a t e w i t ho t h e rm o d u l e st of o r mt h e c o n f i g u r a t i o n s o f t w a r eo fw a t e r e n v i r o n m e n t s u p e r v i s i o n i nt h i sw o r k ,t h ef o l l o w i n gp r o b l e m sa r ed i s c u s s e d f i r s t ,d e s i g na n dr e a l i z et h e b a s i cc o n f i g u r a t i o nf u n c t i o nm e c h a n i s m ( s u c ha sa t t r i b u t ec o n f i g u r a t i o na n dc a r t o o n c o n n e c t e d ) b a s e do n a d r a w i n gs y s t e mo f o u r l a b s e c o n d ,i n t e g r a t eg i sf u n c t i o n si n t o t h ec o n f i g u r a t i o nd r a w i n gs y s t e m t h i r d ,d e s i g na n dr e a l i z eas m o o t h a l g o r i t h mt ot h e b a n kl i n eo f z i g z a gs t r u c t u r e k e y w o r d s :c o n f i g u r a t i o ns o f t w a r e ,h m i ,g i s ,s y s t e mi n t e g r a t i o n ,d r a w i n g s y s t e m 2 学位论文独创性声明: 本人所呈交的学位论文是我个人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果。与我一同工 作的同事对本研究所做的任何贡献均已在论文中作了明确的说明并 表示了谓| 意。如不实,本人负全部责任。 论文作者( 签名) : 学位论文使用授权说明 2 0 0 5 年6 月1 6 日 河海大学、中国科学技术信息研究所、国家图书馆、中国学术 期刊( 光盘版) 电子杂志社有权保留本人所送交学位论文的复印件或 电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子 文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外, 允许论文被查阅和借阅。论文全部或部分内容的公布( 包括刊登) 授权 河海大学研究生院办理。 论文作者( 签名) 2 0 0 5 年6 月1 6 日 河海大学硕士学位论文植入g i s 的组态图形系统研究与实现 1 1 组态软件的提出 第一章绪论 随着计算机技术和网络技术的飞速发展,组态软件在以计算机为监控中心的 电力综合自动化系统中得到了大量的应用,并逐步扩展到楼宇监测、水环境监测、 飞行器实时控制“”等领域,具有了广阔的应用范围。通常就结构而言,整个数 字监控系统可以划分为控制层、监控层、管理层 3 】。对于控制层,主要由工控设 备、智能采集仪器等组成;监控层主要由专用控制设备或工业微机组成;而管理 层,主要是各种服务器。目前在监控层,工业微机由于兼容性好,技术成熟,易 于被工作人员学习和掌握等优点,已经开始逐步取代了原来专用系统的地位。“监 控层的硬件以工业级的微型计算机和工作站为主,目前更趋向于工业微机。”州 就数字监控技术的开发而言,长期以来计算机编程人员同数字监控技术所涉 及的专业背景和经验有着一定的差距。“工程技术人员对传统仪表控制方式很熟 悉,但往往缺乏专业的计算机知识,而专业的计算机技术人员又缺乏实际的控制 经验。” 4 1 但是,在工业控制系统中,不同监控软件问的许多软件功能又具有很大的重 复性,例如,普遍具有数据的采集、处理、显示、反馈、保存,以及图形的生成、 报表的生成、数据点记录的生成等功能,丽这些重复的功能恰恰又是监控软件所 必需的。这就表明整个监控系统的开发所涉及的主要功能点是相对固定的,从而 给组态软件平台的开发提供了条件。但是,不同的工控系统涉及的底层设备又不 尽相同。而如果设计人员能够将这些功能点的底层功能事先做好,那么只要给用 户提供一个配置的界面,就可以屏蔽底层差异,进而避免了反复的开发。这也就 是组态软件的思想,也正基于这个思想,组态软件才得以出现,并为更多的人认 可和使用。组态软件作为单独行业的出现是历史的必然”3 ,也是对软件体系结构 发展方面的一种促进m “。 追根溯源,“组态”一词来源于英文“c o n f i g u r a t i o n ”,意思即“使用软件工具对 计算机及软件的各种资源进行配置”1 。“所谓组态,实际是从系统要求出发, 将系统所具有的功能连接起来,配置成一个可以正常运行的系统过程,也称为用 户意义上的编程过程。”【8 】组态软件泛指数据采集与过程控制的专业软件,其预 设置的各种模块可以方便的实现和完成监控层的各项功能,开发人员通常不需要 编制具体的指令和代码,只要利用组态软件包中的工具,就能够根据实际系统的 组成情况完成系统配置,通过硬件组态( 硬件配置) 、数据组态、图形图像组态 河海大学硕士学位论文 植入g i s 的组态图形系统研究与实现 等模块即可完成所需应用软件的开发工作,而无需修改源程序。组态软件适用于 一大类应用对象,对于不同的应用对象只需改变数据实体即可。利用成熟的组态 软件不仅可以加快工程的进度,而且可以保证整个工程的成熟性、可靠性和易于 维护性。 组态软件的出现也在一定程度上解决了计算机专业人员同数字监控应用之 间的矛盾,成为了逾越这一障碍的桥梁。有了“组态”的思想,计算机专业开发人 员可以专注于组态功能的实现;利用“组态软件”,最终用户也不必学习计算机编 程知识,就可以利用软件的组态工具进行系统的二次开发与维护。 组态软件鉴于自己的特点与定位,普遍具有可扩展性、开放性,对网络分布 式的支持等等。可扩展性保证新的功能点能够相对容易的集成到原有系统中去, 开放性能够保证本系统的数据能够导出,从而延伸了本系统的使用范围;对网络 的良好支持是对组态软件新的要求,以满足网上信息发布的需要。目前的组态软 件己不再满足于原有的数据采集功能,而是要将视频采集与播放、m i s 啪、3 s 结 合进来。视频流在分布式组态软件平台上的无线传输也是组态领域研究的一个重 要方面“。 一般来说,组态软件主要包括图形组态、数据库组态、系统组态、通讯组态、 表格组态、曲线组态、存储组态、语音组态、图像组态、数据处理等功能模块【1 1 】。 图形组态是组态软件中的重要组成部分,也是组态功能的主要体现点之一。 组态图形系统与普通图形系统即有区别也有联系。它不仅是一个图形系统, 还是一个可配置的监控界面开发平台。其能够将监控界面中的图元关联到现场设 备的某个监控量,并能够在其他模块的辅助下将这个监控量的交化反馈到图形监 控界面之中,同时也可以操作监控界面中的图元,达到将用户的控制作用于现场 设备的目的。 传统的图形组态系统往往对g i s 功能和特殊监控对象,例如水环境领域的河 流、套闸、各类水质设备等的支持不够。虽然此前也有一些研究人员对图形组态 方面进行过一定的研究【1 2 】【1 3 】【1 4 】f 1 5 】【l 6 】 1 7 】 1 8 】1 1 9 1 ,但将图形组态与g i s 有机结合起来 的还不多见。据作者所知,此前国外也有涉及“植入g i s ”的博士论文发表,但 其主要工作在于研究一个兼容多种g i s 模型的中间件模型,用于气象服务“,而 没有将“植入g i s ”引入组态领域。基于以上应用需求,作者在老师指导下开发 了这套植入g i s 的组态图形系统。 本文的工作集中在对植入g i s 的图形组态进行了一番探索,并结合软件工程 的理论给出了一个比较合理的解决方案。 河海大学硕士学位论文 植入g i s 的组态图形系统研究与实现 1 2 组态软件在我国的发展和研究现状 组态软件8 0 年代中期从国外出现,8 0 年代末9 0 年代初进入中国。在进入中国 市场的早期,组态软件不为国内的用户所接受。技术人员宁愿做长时间的繁杂的 上位机编程开发,而不采用组态软件,加之组态软件价格偏高,阻碍了其在中国 的发展。进入9 0 年代中期,随着微软w i n d o w s 平台的普及o “和组态软件在此之前 取得的一些成功案例,使得其逐渐被国内用户所接受,从而进入了一个快速成长 期。国内不少厂商也开始涉足这一领域。 国内组态软件的发展因为这些中国厂商的参与取得了不小的进步。“如把 e x c e l 的报表功能集成到组态软件中;推出了基于w e b 浏览器的组态软件;推出 了基于w i n d o w sc e 的嵌入式组态软件;推出了基于w i n d o w sc e 的嵌入式人机界 面( h m i ) 产品。据统计,在国内从事组态软件研发的厂家达几十家,从事组态 软件研制的人员超过两千人”。其中实力较强的一些国产组态软件厂商普遍已 经具有了一系列的商用组态软件产品,例如通用版、网络版、嵌入式版等,而且 各个版本已颇为成熟。例如亚控的“组态王”、北京昆仑通态的“m c g s ”、北京世 纪佳诺的“世纪星”就是其中的佼佼者。以北京世纪佳诺的“世纪星”为例,其 具有了“强大的图形制作功能、先进的语音报警技术、虚拟机技术、报表组态功 能、全新的组态管理概念”。”等等功能。 “自动化软件的发展趋势主要有两个方面,一方面向大型的平台软件发展, 直接由组态软件发展成大型的c 1 m s ( c o m p u t e r i n t e g r a t e dm a n u f a c t u r i n gs y s t e m , 计算机集成制造系统) ,e r p ( e n t e r p r i s er e s o u r c ep l a n n i n g ,企业资源计划) 等系统 软件:另一方面向小型化发展,由通用的组态软件演变成嵌入式组态软件。” 后者是组态软件的发展趋势,因为其“使大量的工业控制设备或生产设备具有更 多的自动化功能,推动了我国工业自动化程度的快速提高”【4 】。 目前,根据厂商的不同,国内市场上的组态软件主要有两类:经过汉化的国 际组态软件,例如西门子的w i n c c 、w o n d e r w a r e 的i n t o u c h 、i n t e l l u t i o n 的f i x 等等, 另外一类就是国内自行开发的组态软件,。从另外一种角度来看,组态软件又可 以分为通用型和定制型。前者并没有特定的行业划分,只要是符合组态软件的应 用场合( 即工业自动化领域) 都可以使用。应用时要考虑的一个主要问题是选定 的组态软件平台能否与下位机良好的通讯。后者适用范围有限,基本上是各个行 业的定制软件。目前国内的组态软件市场主要还是被国外几家组态软件厂商所占 据。 组态软件领域国外厂商起步较早,积累了一定的经验,所以在功能完备性、 产品的包装、市场的开拓等方面占有一定的优势。这些软件也正因为功能完备, 注重了通用性,往往对某一行业而言有许多使用不到的功能,造成了系统臃肿、 坷海大学硕士学位论文植入g i s 的组态图形系统研究与实现 成本增加、耗用的系统资源上升。另外,通用型组态软件对特殊设备的支持也成 问题。如果自己开发硬件驱动,那么组态软件的优势已不明显。而且,商用的组 态软件往往不能满足一些个性化的需要。 1 。3 课题背景简介 本课题是老师项目一一“苏州市古城区永环境实时监控系统”的一部分。 该项目的最终目的在于建立一套完整的苏州市古城区水环境实时监控系统, 为“水环境质量改善工程”提供一套实用的“数字化”平台,使之有“千里眼、顺风 耳”,运筹帷幄于一室之内,例如在监控中心就可以远距离地监测水质状况、重 点污染源的排放情况,启闭泵闸进行水调等,实现苏卅i 城市河网区水动力调控。 水环境的监测符合自动化数字监控的范畴,可以应用组态软件的思想来解 决。对于众多的泵站来说,虽然此前也有些应用于此领域的监控软件,但这些没 有应用“组态思想”的软件功能相似,只是“由于监控对象本身的差异,软件的 监控界面和控制算法”不得不“靠重新编程来实现”f 2 3 j 。引入组态软件是改变这 种局面的最佳选择。 研究表明:苏州古城区河网水环境实时监控系统计划在古城区内及周边地区 设置1 0 座测站,3 座泵、闸监控站点等,这些测点地理位置分散,且将来还计划 扩展到城外若干的测、控站点;另一方面,系统对远程通信有特殊要求,如通信 速率、信道质量、服务质量、运行费用、安全性等。 因此,传统的s c a d a 已经捉襟见肘,选择1 个合适的分布式平台,把数据采 集、远程控制、m i s 系统、分布式事务管理等集成在起,是必要的。j 2 e e 是s u n 公司定义的一个开发分布式企业级应用的规范。j 2 e e 按功能逻辑定义了一个多层 次分布式应用模型,它在支持j a v a 语言的服务器端部署,提供平台无关、可移植 的、多用户的、安全的和标准的企业级平台。j 2 e e 容器负责并发控制、负载平衡、 持久性、安全性、线程和其它系统级的服务与管理。3 为了缩减开发成本,j 2 e e 提供了基于组件的设计方法来设计、开发、集成和 部署企业级应用程序。j 2 e e 平台提供了多层分布式应用模式、可重用组件的能力, 集成了基于x m l 的数据交换机制、一个统一的安全模型以及灵活的事物控制。 j 2 e e 目前已经在世界上取得了许多成功的应用。因此,苏州古城区河网水环 境实时监控系统将实现成j 2 e e 平台下的s c a d a 系统。 j 2 e e 基于j a v a 语言。j a v a :i 垂行在j a v a 虚拟机( j a v av i r t u a lm a c h i n e ) 上,这使 得j a v a 成为一种跨平台的编程语言。只要一台机器安装了相应版本的m ,那么 j a y a 程序就可以直接在这台计算机上面运行。这样就解决了困扰开发人员多年的 软件跨平台移植问题。 4 河海大学硕士学位论文 植入g i s 的组态图形系统研究与实现 综上所述,系统的开发语言选定为j a v a ,架构采用j 2 e e 体系结构。 1 4 作者的工作 作者的工作是根据“苏州市古城区水环境实时监控系统”的需要,提出了一个 结合部分g i s 功能的组态图形系统的设计方法。作者以j a v a 为开发语言,以软件 工程的思想为导向,以r a t i o n a lr o s e2 0 0 3 为建模工具,以j b u i l d e rx 为编程工 具,实现了一个原型系统。 在实现的过程中,作者解决了如下主要问题: 1 在自主设计实现的图形系统基础上,设计实现基本的组态功能机制, 使图形系统升级为组态图形系统; 2 g i s 与组态图形系统结合的问题,使g i s 地物转换为本系统中的图元加 以显示: 3 设计实现一个g i s 读入后锯齿状河岸线平滑的算法; 从组态软件的角度来说,本原型也只是完成了组态软件中基础的部分。因为 用户的需求也还没有完全敲定,所以本系统的开发只能从相对通用的角度着眼。 基于此,本系统为后面的设计预留了接口和空间,方便了后续开发人员的补充和 完善。 河海大学硕士学位论文植入g i s 的组态图形系统研究与实现 2 1 组态技术 第二章相关技术介绍 本项目所开发的水环境实时监控系统本质上是个组态软件,用户可以用它 开发所需的各种图形监控系统,组态图形系统是这个组态软件中的重要组成部 分,用于生成监控系统的监控界面。一般来说,除组态图形子系统外,组态软件 还主要包括数据库组态、系统组态、通信组态、表格组态、曲线组态、存储组态、 语音组态、图像组态、数据处理等功能模块或子系统。组态软件虽然品种繁多, 其功能强弱也不尽相同,但从大体上讲,都是由图形组态等功能模块或子系统所 组成。 工业缀态软件是一种开发平台,工业控制领域的用户可以针对具体的应用背 景,在此平台之上进行二次开发,生成面向最终用户的实时控制系统。 工业组态软件主要有两类,一类以提供界面生成工具为主,开发人员可以快 速制作友好的人机界面供控制系统使用,同时这类软件又提供了一些数据交换接 口如d d e 等,使界面能动态地反映系统的运行情况。这类软件称为h m i 或人机界 面;另一类则除了提供界面生成工具外还提供系统的其它部分的工具,通过这类 软件可以迅速生成一套完整监控系统,包括界面的数据显示、实时的控制、数据 的存取与分析、系统维护等全面的功能,这类软件称为s c a d a 或监控软件。 概括地说,。组态就是指根据应用对象及控制要求,配置用户软件的过程:而组 态图形系统既是工控系统的人机界面,也是一种基于计算机操作系统的软件平 台,其硬件平台是个人计算机( p c ) 或者工业用计算机( i p c ) 。在利用组态软 件时,用户只需通过一种近似“搭积木”式的方法,便能生成所需的应用“软件”, 它取代了以往“量体裁衣”式的软件开发,因此必将成为计算机监控系统软件的主 流。 随着分布式计算机控制系统的发展,人们越来越看重软件的组态和配置功 能。组态软件通用性强,可以适应于一大类应用对象,对于不同的应用对象只需 改变数据实体即可。这样,既大大提高了系统的集成速度,又保证了系统软件的 成熟性和可靠性。组态软件实际上就是一个功能十分强大的软件工具包,应用组 态软件开发应用程序的过程就是组态的过程。 组态软件的突出特点是能够提供一个友好的用户界面,使用户可以在不编写 程序的情况下便生成自己需要的应用软件。另外,组态软件采用模块化设计,提 供一系列功能模块,开发者只需对各功能模块分别进行配置便可生成备功能模块 协调工作的完整的应用软件。组态软件提供如下一些基本功能模块: 6 河海大学顾士学位论文植ag i s 的组态图形系统研究与实现 3 4 5 6 数据输入输出模块。提供多种通信协议,如m o d b u sr t u 、m o d b u sp l u s 等,可方便地与世界上多家厂商的p l c 、d c s 监控站和总线设备通信。 图形界面生成模块。提供多种工业设备图素,可方便地对各种流程画 面底图进行编辑,可编辑各种动态显示点,可方便地连接动态点与实 时点或历史点。 报警模块。可设置低低报警、低报警、高报警和高高报警等报警点, 提供报警数据与界面图素的动态连接,从而方便地实现界面动态报警, 提供语音报警,提供报警记录表格。 数据库生成模块( 包括实时数据库和历史数据库) 。可编辑数据库记录, 打印数据库记录,对数据库记录进行转换和连接,生成实时趋势图和 历史趋势图,通过o d b c 方便地与第三方应用程序进行连接。 策略模块。提供多种逻辑运算模块、算术运算模块和控制率模块,并 支持自定义模块封装,即用用户常用的程序开发语言( 如c ,c + + 或 v b ) 开发的自己的运算模块也可嵌入到组态软件当中。 数据存档与交换模块。提供多种数据存档文件格式,如纯文本文件、 r t f 文件、d b a s e 文件等,同时提供如d d e 、0 d b c 等多种与第三方软 件进行通信的数据交换方式。 报表生成模块。可对底表进行编辑,生成数据库点记录值。 网络配置模块。只霈对节点间的通信协议进行必要配置,应用软件便 可以基于网络运行,节点间的数据交换对用户是透明的。 2 。2 矢量图形技术 除用做背景、点缀用的栅格图片外,本图形系统操作的全为矢量图形。这些 矢量图形目前采用本系统自定义的图形格式进行存取。 计算机图形图像技术的迅猛发展,使得各种图形图像文件格式不断涌现,但 是计算机处理的图形图像不外乎栅格图像和矢量图形两种不同的格式。 栅格图像,简单的说就是特定象素的集合,是通过一些画图工具,扫描仪, 数字照相机等产生。j p g 、b m p 、g i f , p r i g 、t i f 等都是栅格图像文件的后缀。在文 件大小上栅格文件要比矢量图形大的多。橱格图像的轮廓会随着图像的放大而出 现模糊,而矢量图形可任意缩放并保持图像的清晰度。 矢量图形,是由代表数学模式的指令集合来描述线条和形状,再由这些线条 和形状来组成的图形,是一种用数学函数来描述图形的位置、大小、形状、色彩 的格式。它采用记录图形端点和向量的形式描述图形的内容,而不是按点阵形式 存储图形数据。矢量文件中的图形元素称为对象。每个对象都是一个自成一体的 河海大学硕士学位论文 植入g i s 的组态图形系统研究与实现 实体,它具有颜色、形状、轮廓、大小和屏幕位置等属性。既然每个对象都是独 立的实体,就可以在维持它原有清晰度和弯曲度的同时,多次移动和改变它的属 性,而不会影响图例中的其它对象。这些特征使基于矢量的程序特别适用于图例 和三维建模,因为它们通常要求能创建和操作单个对象。基于矢量的绘图同分辨 率无关。这意味着它们可以按最高分辨率显示到输出设备上。矢量图形的特点是: 存储简单图形对象时,数据冗余少;对于精美图形的描述比较困难;放大、缩小 时数据损失很小,局部编辑不影响周围。 矢量图形与传统的栅格图像相比,表示同样一幅工程图,使用矢量图形技术 所存储的信息量小于使用栅格图像技术。因为本系统中可能需要将监控图在网络 上进行快速传输,所以矢量图形技术在本系统的运用就相对重要。而且矢量图形 由矢量定义的直线和曲线组成,图形的轮廓画出后,被放在特定位置并填充颜色。 移动、缩放或更改颜色不会降低图形的品质。随着计算机软硬件的发展,矢量图 形在各类软件中已获得大量运用。 但是,矢量图形也存在着先天不足,即不能表示有过多信息和细节的照片。 复杂的信息容量可能会超出电脑系统的内存,使图像不能装载。因此矢量图形特 别适合制作标志,比如商标之类要求线条清晰,规格多样的图形。 2 。3 j a v a 2 d 绘图 j a v a 2 d 指的是j a v a a w t g r a p h i c s 类的相关扩展版本。它在原来j a v a 绘图的基础 上提供了一组用于在屏幕上绘制对象的方法。直观的来看就是在g r a p h i c s 类的基 础上又派生了一个g r a p l l i c s 2 d 类。除了常见的直线、矩形和圆形之外,j a v a 2 d 还 添加了一个名为g e n e r a l p a t h 用来表征任意图形形状的类。它可以有任意数量的 边,所以可以创建复杂的形状。j a v a 2 d j 丕使甩j a v a a w t g e o m a f f i n e t r a n s f o r m 类支 持仿射变换。这使程序员能够对所创建的图形对象进行移动、旋转、缩放和剪切。 计算机能够处理的是离散数据,这样不可避免在表示连续数据的时候会产生 一定的失真。这种现象的典型例子就是在显示某些角度的倾斜线段时会产生锯 齿。这是计算机图形学研究人员在处理图像图形显示时必须要解决的问题。对于 j a v a 程序员来说,a p i 已经屏蔽了具体的平滑细节。因为,j a v a 2 d 就支持抗图形 失真,能够使图中文本、图形的外观变得平滑。如果需要打开抗图形失真功能, 只需要通过g r a p h i c s 2 d 的s e t r e n d e r i n g h i n t 方法,将k e y k n t i a l i a s i n g 开关打 开。例如醇d s e t r e n d e r i n g h i n t ( r e n d e r i n g h i n t s k e y _ a n t i a l i a s i n g , r e n 缸n g h i n t s v a l u ea n t i a l i a s o n ) 2 5 】。 j a v a 2 d 还支持透明度以及在图中包含图像,此外还包括一些滤镜功能,可以 使图像变得模糊或清晰。这样j a v a 程序员可以仅仅调用一些a p i 就能够实现一些 河海大学硕士学位论文植入g i s 的组态图形系统研究与实现 类似于p h o t o s h o p 的功能。对图像的处理不是本系统关注的方面,在此不作展开 叙述。 对图形程序开发人员来说,肯定涉及到的两个概念就是设备空闻和用户空 间,但是对于众多应用程序员来说,这两个概念也极易混淆,因为设备空间与用 户空间的差异己经被屏蔽了。毕竟程序设计追求的一个目标是设备无关性,程序 员不用关心用户的屏幕分辨率,也不应该关心输出设备是多少d p i 的打印机。总 之,程序员不用把精力放在输出设备上。 但对于从事底层操作的系统程序员来说,这个问题却无法回避。每种显示设 备都有一组性质,例如大小和分辨率。这些性质被称为设备空间。每种设备都有 自己的设备空间。设备坐标是由特定设备使用的象素或点尺寸。如果没有用户空 间的帮助,就会给编程工作带来很大的麻烦,必须为每种输出设备编写单独的程 序,例如,点( 6 0 0 ,6 0 0 ) 在1 0 2 4 7 6 8 的分辨率下面位于屏幕的中央位置,但 对高d p i 的打印机而言,其位置就要偏在一边,因为打印机每英寸的象素数比屏 幕多得多。耍解决这个问题,就要用到用户空间。 用户空间可以使程序员以他认为有意义的度量单位在自己的空间进行编程。 然后,这些单位可以转换为设备特有的单位以便进行显示。在上层进行编程时, 不同设备空间的差异己经被编程语言和操作系统屏蔽了。应用程序员直接操作的 往往都是用户空间。 就如同现实中绘画一样,绘图者必须找到一块能够作画的材料,比如画布。 计算机编程实现绘画操作同样需要一块“画布”,那就是设备环境,一些书刊上称 之为“图形上下文”。j a v a 中的图形上下文就是g r a p h i c s 类或g r a p h i c s 2 d 类。对于 j a v a 图形程序开发,就是利用这两种“画布”。 2 4 多线程技术 提到线程,不能不提进程。因为“线程通常的定义是一个计算机程序的一个 执行路径。操作系统将一个计算机程序作为一个进程执行,一个进程可能有多 个线程。”【2 5 】 进程是操作系统调度和执行的基本单位9 1 。在多任务的操作系统中,就可以 同时生成多个进程,并允许他们同时运行。当一个进程阻塞的时候,操作系统可 以调用另一个进程,从而提高了资源的利用效率。但是,进程的生成是需要操作 系统分配一部分c p u 处理时间和内存资源的。况且,为了保护各个进程的安全。 进程间的直接通讯是禁止的,最直接的体现就是每个进程的内存空间是独立的。 如果通讯,必须通过操作系统提供的进程间通讯手段( i p c ) ,而且进程“也不会 把它自己提供给容易的编程模型”拉”。 9 河海大学硕士学位论文植入g i s 的组态图形系统研究与实现 线程可被看作轻型进程,目标在于改进应用程序的响应能力。它的作用范围 是一个进程的内部。创建线程的开销比创建进程廉价的多,而且,线程间可以相 互访问。这是线程相比进程明显的优势,但线程的实现必须要操作系统的支持, 不同的操作系统对线程的表示方式也不同。通常,线程可以由一个数据结构来表 示,它能够确定接下来应该执行程序的哪条指令。线程在j a v a 开发出来之前就已 经诞生了。此后出现的j a v a 语言将多线程技术与语言本身融为一体,对线程提供 了良好的支持。通常来说,线程的生命周期要经历4 个基本状态:新建、可运行、 阻塞和死亡。x r j - j a v a 来说,相应的就是t h r e a d 类的s l e e p 、n i l l 、s t a r t 、y i e l d 等方法。 注:本节参照了文献 2 8 。 2 5x m l 技术 x m l 起源于标准通用标记语言( s g m l ) ,而该标准是为了操作手册和其他 形式的文件而开发的。其早期是面向j a v a a p p l e t 的,然而现在它在对企业级应用 的支持上面效果更好。x m l 最优越之处在于数据的传递上。如同j a v a 是可移植代 码的强大语言一样,x m l 是可移植数据的强大语言。【2 9 】 对于程序解析x m l 来说,总共有两种方法:一种是通过监听解析器在文件中 移动时所产生的事件( b o s a x ) ,另一种使用文档的层次视图( b o d o m ) 。 s a x 是用于x m l 解析的简单a p i ,由一套被多个解析器用来解析x m l 文件的 a p i 组成。s a x 解析器是基于事件的解析器。这样做各有利弊。其优势在于它是 一种快速浏览文件的好方式,而且需要的系统资源较少。解析器除了需要调用的 类外不需要记录任何其他信息。弊端在于它无法提供种回溯的机制,无法得到 x m l 文件整体结构的信息。 d o m 是除s a x 夕b 解析x m l 文件的另外一种方式。在利用s a x 方式解析x m l 文件的时候,当响应了所有的事件,e n d d o c u m e n t 方法也已被调用,那么当想对 文件去做其他事情的时候,则不得不重新解析它,而且s a x a p i 不能够操作文档、 遍历层次或创建一个新的) 。帆文件。在不需要遍历x m l 文件、不需要了解它的 层次结构时,s a x 是一个好的选择。而文档对象模型( d o m ) ,允许将一个x m l 文件作为一个对象的集合来看待,并使用这个模型去处理、创建和改变x m l 文 件。它将x m l 文件所有的信息和结构保存在内存里,从而达到了任意遍历这个 文件的目的,但随之而来的是对系统资源更大的需求。 j a x p 是s u n 公司专用于x m l 处理的j a v aa p i ,保持着每季度更新一次的频率 ( 就大版本号而言,j a x p 在2 0 0 1 年发布,成为了j a v a2s t a n d a r de d i t i o n ( j 2 s e ) 1 4 和j a v a2e n t e r p r i s ee d i t i o n ( j 2 e e ) 1 3 的一部分。随着规范的小幅 修订,2 0 0 2 年发行了j a x p1 2 。目前j a x p 的最新版本为1 3 【3 0 j ) 。j a x p 支持s a x 河海大学硕士学位论文 植入g i s 的组态图形系统研究与实现 和d o m ,允许使用默认的解析器或者插入自己需要的解析器。依靠解析器的配 置方式和处理者的需要,能够使用基于s a x 的解析器响应事件,或者使用d o m 来操作和改变一个x m l 文件。j a x p 不是一个解析器,而是提供一个抽象的层, 从而允许使用自己喜欢的解析器而不用过多考虑该解析器的细节。j a x p 支持 d o m 和s a x a _ p i 。 j d o m 是j a v a 平台上面专用于d o m 解析的a p i 。因为传统的d o m 并非专为 j a v a 而设计,而且其存在严格的层次结构,并且w 3 c 对d o m 的实现细节并不关 心,这又导致了d o m 中接口过多,实现类很少。针对以上不足,“在j d o m 中, 订l 元素就是e l e m e nt 的实例,x m l 属性就是a t t r i b u t e 的实例,x m l 文 档本身就是d o c u m e n t 的实例。由于在x m l 中所有这些都代表了不同的概念, 因此它们总是作为自己的类型被引用,而不是作为一个含糊的结点;而且, “j d o m 对象就是像d o c u m e n t 、e l e m e n t 、a t t r i b u t e 这些类的直接实例,因此 创建一个新j d o m 对象就如在j a v a 语言中使用n e w 操作符一样容易。它还意 味着不需要进行工厂化接口配置一j d o m 的使用是直截了当的”。1 在本系统中,对应于各个图元的属性信息保存在不同的x m l 文件之中。之所 以这样做,是为了减少与远程数据库的交互次数,尽可能的减少网络流量;同时, 这样也可保证在网络中断的时候,系统仍然可以运转。另外,组态系统中所有的 指令信息都是以x i v i l 的信息传送到后台业务层,这样做是为了实现x m l 的信息 融合;指令的反馈信息同样以x m l 的形式传回组态图形系统当中,其中可以封 装有指令要求取得的数据等。因为j d o m 与j a v a 奉f 着密切的联系,本系统的) 0 v t l 解析工作便利用了j d o m 。 。 河海大学硕士学位论文 植八g i s 的组态图形系统研究与实现 第三章植入g i s 及相关算法研究 “植入g i s ”被实现为组态图形系统的一个模块,模块的输入为需要显示的 g i s 文件的名字,输出为构造本系统用户自定义的图形封装类所需要的基本数 据。它与组态图形系统是低聚合的结构,可以单独拿出来在此讨论。而对组态图 形系统的详细讨论放在了第四章。 3 1 相关背景 地理信息系统( g e o g r a p h i c i n f o r m a t i o ns y s t e m ,g i s ) 是一门集计算机科学、 信息学、地理学等多门学科为一体的新兴学科,它是在计算机软硬件支持下,运 用系统工程和信息科学的理论,科学管理和综合分析具有空间内涵的地理数据, 以提供对规划、管理、决策和研究所需信息的空间信息系统。在目前,无论图形 系统还是g i s i 程,均已有成熟的商业软件产品,但将两者有机的整合起来做成 图形组态,成熟有效的产品还不多见。本图形系统就是在两者的结合方面,做了 一些有益的尝试。 普遍认为,涉及到g i s 系统的开发不外乎三种模式,即独立开发、单纯二次 开发、集成二次开发【3 “。三种开发分别针对了不同的应用目的。独立开发是完完 全全的从零做起,目的在于实现自主知识产权、满足科学研究的需要或者用于实 现简单的g i s 功能:单纯二次开发指的是借助g i s - f 具软件提供的二次开发语言 进行设计,例如e s r j 的a r c v i e w 提供的a v e n u e 语言。这种方式开发功能有限,而 且增加了用户的学习负担;集成二次开发指的就是利用现成的g i s 组件,将其作 为应用系统的一个功能模块。本系统最初也想采用这种模式( 利用e s r i 的 m a p o b j e c t s - - j a v ae & f i o n ,简称m o j ,下同) 。但是,就本系统的需求而言,其 是一个图形系统,其目的在于丰富g i s 中地图符号的内容。即将水利系统中常用 到的图元作为地图符号添加到地图上去,从而弥:f i - g i s 组件在地图符号方面的不 足。而且,g i s 模块与图形系统的良好交互也有修改g i s 组件源码的要求,但是 g i s 组件不便于修改。因为对聚合紧密的组件模块的局部修改比较困难,而且本 图形系统需要的g i s 功能有限:一方面只需要处理空间数据,例如读入现成的二 维g i s 数据并加以显示,或者直接用图形系统绘制一张简易地图,另外一方面也 只要实现基本的g i s 导航和查询,所以本系统的g i s 模块采用独立开发模式来实 现。 说到g i s ,也不能不提空间数据的来源。空间数据是用来表征地球表面具有 一定特征的物体、自然现象及其分布的一类数据。空间信息的输入过程要么耗费 大量人力、物力,要么需要昂贵的录入设备,从而导致了空间数据的成本昂贵。 2 河揖大学硕士学位论文植八g i s 的组态图形系统研究与实现 在本系统中,空间数据的生成可以利用系统的图形绘制模块来完成( 图4 1 5 便是 利用本系统绘制的一幅水系图) ,从而降低了利用空间信息的成本。当获取现成 空间数据存在困难时,可以考虑采用这种方式。目前j a v a 已经包含了大量成熟的 绘图功能。借助于j a v as d k 的支持,本系统具备了绘制基本图形从而组成图元的 能力。绘制地图只是生成图形功能的复杂应用。当然,能够读取一些公开格式的 g i s 文件的功能也必不可少。生成、加工空间数据仅仅是读取g i s 空间数据的补 充。众所周知,目前公开标准的o i s 文件格式主要有以下几种:e s r i 的s h a p e f i l e 格式、m a p l n f o 的m i f 格式等。下面重点将以e s r j 公司的s h a p e f i l e 文件格式为例对 g i s 空间数据的读取与加工进行一番探讨。目前绝大多数的g i s 软件均支持与 s h a p e f i l e 文件的格式转换。 由地图学的知识我们知道,现实世界中空间对象以四种最易识别的类型出 现:点、线、区域和表面。这四种类型能反映现实生活中的绝大多数自然
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中级会计量考试题及答案
- 2025年花艺师职业资格考试花艺作品展示与交流试题卷
- 自考专业(护理)模拟试题及答案详解(有一套)
- 2025年中学教师资格考试《综合素质》心理辅导案例分析题库试题及答案
- 2025年摄影师职业技能鉴定试卷:摄影器材故障排除与维修试题
- 2025年小学语文毕业升学考试全真模拟卷(文言文阅读理解拓展试题)
- 2025年统计学期末考试题库:统计推断与检验方法在2025年社会科学研究中的应用试卷
- 2025年成人高考《语文》诗词格律与欣赏真题题库
- 2025年大学统计学期末考试:统计调查设计与实施在风险评估中的应用试卷
- 2025年小学教师资格考试《综合素质》真题模拟(含答案)教育研究方法试题
- 第五讲中日关系课件
- 一年级上册语文全册课件
- 消防安全检查记录表(完整详细版)1
- (完整)动画运动规律动物ppt
- 光伏电站项目监理旁站方案
- 2022年家用空调安装合同范本
- 二手车鉴定评估的报告书
- 教学课件 金属学与热处理-崔忠圻
- 多智能体系统教材课件汇总完整版ppt全套课件最全教学教程整本书电子教案全书教案课件合集
- 艺术欣赏完整版课件全套ppt教程(最新)
- 北师大版五年级数学上册全册教案含反思
评论
0/150
提交评论