南京气象台自动雨量系统的研发_第1页
南京气象台自动雨量系统的研发_第2页
南京气象台自动雨量系统的研发_第3页
南京气象台自动雨量系统的研发_第4页
南京气象台自动雨量系统的研发_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

南京气象台自动雨量分析系统的研发摘要SVG是由W3C组织开发的基于可扩展标记语言的一种矢量图形描述语言,已经在互联网上得到了较广泛的应用。为了以图形方式直观地显示雨量数据变化,方便工作人员进行雨量数据的查询及分析,设计了本套基于SVG的雨量分析系统。该自动站雨量分析系统是基于B/S架构,使用ASP.NET来开发的。主要使用了.NET三层架构、XML程序集、矢量图形的动态生成、Web服务等技术,并实现了系统模块管理、雨量数据管理、城市数据管理、雨量数据查询、生成矢量图形格式的图表等功能模块。在系统中主要对矢量图形文档的生成进行了分析和设计,采用DOM模型来操作该图形文档,并封装了基本的图形元素。该自动站雨量分析系统作了新的尝试,采用基于可扩展标记语言的矢量图形作为图形格式,系统与Web服务技术相结合,使系统的可重用性和开放性得到了很大的提高。关键词:可伸缩矢量图形;可扩展标记语言;.NET三层架构;Web服务DesignoftheAuto-StationRainfallDataAnalysisSystemBasedonSVGAbstractSVGdevelopedbytheW3C,isavectorgraphicslanguagebasedontheXML.AndithasbeenwidelyusedontheInternet.Thisrainfallanalysissystemisdesignedtoachievethegoalthattherainfalldata'schangesaredisplayedbygraphicmodeintuitivelyforassistingtoanalyzetherainfalldata.Theauto-stationrainfallanalysissystem,developedinASP.NET,isbasedonBrowser/Serverframework.Inthissystem,manytechnologiesareused,suchas.NETTrip-LayerFramework,theXMLprogramassembly,automaticcreationofSVGdocument,WebServiceandetc.Thesystemcontainedfunctionmanagementmodule,rainfalldatamanagementmodule,citydatamanagementmodule,raindataquerymodule,automaticcreationmoduleofSVGdocumentandetc.TheDocumentObjectModelisusedformanipulatingSVGdocuments,andthebasicgraphicselementisencapsulated.Somenewattemptshavebeenmadeintotheauto-stationrainfallanalysissystem.ByusingSVGasgraphicsformatandtheWebServicetechnology,reusabilityandopennessofthesystemisimprovedgreatly.Keywords:SVG;XML;.NETTrip-LayerFramework;WebService目录论文总页数:25页毫1篇引言肠慎1胜1.1轰项目背景泥阳1努1.2拼本项目的应崇用价值昨趋1邀1.3表本项目的相够关开发技术业社1累2SVG折技术壤哑1竭2.1X库ML奥介绍弟继1融2.2S拐VG描介绍想撕2箭2.3S魂VG存的特点著根2芳2.4S色VG杰规范烫蹦2识3酿雨量分析系袄统的需求分鬼析急宗4雷3.1塑系统需求肝凑4摔3.2桑功能分析原那4羞3.3卷用例分析昨酷5值4蓬雨量分析系率统的设计迁四6抽4.1拘系统模块结塔构却份6掀4.2辨数据库的设辫计御夺7育织款总体设计炕还7御勒堂数据库表字速段说明念骡8率4.3且开发技术及灿过程但漏10画数架三层架构鸡慨10存泼SVG颠文档的表示肉押14缝5址系统实现罪北15士5.1仍雨量数据管年理的实现勉封15抖5.2遇雨量数据分爷析与内SVG顽图像的生成雀辅16馒5.3谦使用枪WebS法ervic分e条方式提供开晋放的外部接呆口骂摩20壮泼Web悲Servi叶ce他介绍雾絮20奥校振使用疏WebS齿ervic欲e寨的意义秧栽20冬肺Web狂Servi犹ce漏接口的实现锤煮21脱6恳系统测试贤幼21跪结冒匹论蓄尊22窄参考文献盆刊22完致碧裳谢横闷24俩声塘盈明轻狐251引言娘1.1桨透项目背景蚁雨量监测对横于工农业生谎产泄以及人民生渡活中的六灾害水预防旋、有效利用倦水资源具有时重要意义,阔建立完整高铺效的雨量监锣测系统显得烧非常有必要薄。雨量分析骗系统是应用雷于防汛、水改文等部门的嫌,用于辅助枕分析自动气泛象站雨量监登测的数据。残雨量分析系档统通常都会略生成一些图奋表,但由于掀这些图表是吉二进制格式脖的,其可重嘴用性不高,喜而且这些系歪统通常都缺悔乏开放性,捏大量的数据废无法提供给阁外部研究人迎员使用,造故成资源浪费瓣。柄该自动站雨济量分析系统赠在雨量分析睁领域中作了纪新的尝试,徒它采用了基霜于XML盏(eXte颤nsibl喝eMar猫kupL放angua苦ge御,可扩展标师记语言灿)粒的开放泥的醒SVG肆(Scal搬able凶Vecto游rGra币phics羊,可伸缩矢润量图腿形硬)晚作为图形格矩式,在引入喷先进技术的秆同时,提高将了系统的可阔重用性,而张且该系统与勉Web脑服务央的结合也使辫系统的开放虏性大大地提逆高。作为示留例,该系统塌要实现对四萌川省部分市情县的城市及眉雨量数据进承行管理与分校析,能查询菠各市县的历趋史雨量数据补并以SVG披格式的曲线烘图显示出来鱼,实现简单醒地统计分析隆功能。作为从一个完整的贿系统,还要雁实现那对赞系统内各个饶模块以及用妇户权限登的管理牲。洒1.2床歇本项目的应吐用价值辱本套系统是尿基于SVG扒的雨量分析蚁系统,实现巷的妥主要功能是喉对各地收集划的雨量数据段加以分析,颤并以SVG疲矢量图形方台式进行显示促,使用户能骂够更加直观牧地了解某一垄区域的历史码雨量。雨量耻分析系统主爬要应用于防能汛、水文等葬部门,通过锅对各地雨量摆数据的统计野与分析,来牧预防可能堤会菠造成的洪水群灾害并有效允的调配和利铸用水资源。蜂1.3梢邀本项目的相唯关开发技术月该项目采用透.NET开叫发,开发环漆境采用Vi旺sual协Studi托o200沾3,数据库袭采用MSS授QLSer戚ver,并扑使用.NE折T的三层架姻构技术,使疾业务逻辑与微数据表示隔拣离开来,提孟高系统的模半块化程序;裳在图像显示纯上使用了基浑于XML的疲矢量图形语蛋言SVG,粉并使用.N器ETXM杀LDOM脂(Docu咏ment爹Objec呆tMod纲el,文档雄对象模型)汤来生成和操趣作SVG图扎形;并使用牙Web绘服务芒来提供外部丽接口,以提块高系统的开歉放性。适2到纯SVG技术母2.1腊专XML介绍漆XML是可猎扩展标记语慧言宾的简称,它道定义了结构量化表示猜数据的标准义格式。XM潜L是W升3C据(Worl名dWid振eWeb馒Cons厌ortiu您m垂,潮万维网联盟灯)为适应委互联网婆的发展而推尾出的新型W闻eb语言,馅是国际标准爱化组织所制搏订的SGM屯L祝(味Stand攀ardG印enera馒lized伪Mark数upLa砌nguag错e拿,杰标准通用标烫记语言严)凳的子集。它梦是用于定义涉其他标识语嚼言的一种元奥语言。它具葱有可扩展性易、平台独立脆性、数据与思表现分离以土及结构化数哨据等特点,隶非常适合网好络环境下的搜数据传输和复表达。XM郑L通过造其捎可扩展性提三供了一种通钥用的数据格云式,不同的弱软件系统之蛇间可以通过俯这种新的数见据描述方式食进行通信,霉从而实现完僚全的绕交乘互操作,这盘源于XML慰将结构化的忽数据表示为肺一个纯文本师的特性。可吴以通过XM虚L对信息加百以规范化定际义和描述,爱并且在互联枣网上进行数计据的传输。均SVG就是末XML在图透形图像领域厌的一个应用挂。岔2.2钳晒SVG介绍厅SVG是一倚种基于XM狂L的开放的沫标准文本式燃矢量图形描气述语言,即萝它是用XM尖L元语言定惨义的语言。伟SVG图像扑是与XML借1.0兼容艳的文档,S晓VG元素是夫指示如何绘未制图像的一茎些指令,阅妇读器解释这石些指令,把婶SVG图像剖在指定设备蔑上显示出来绸。使用SV吸G可以在网罗页上显示出敞各种各样的惑高质量的矢膛量图形,包天括许多图像两处理中常见集的功能,如刺图形、文字木、动画、颜户色、滤镜效助果等。最关糟键的是SV招G完全用普浊通文本来描渗述,也就是辟说,这是一劈种专门为网掘络而设计的斤基于文本的捉图像格式。播由于SVG些是基于XM映L的,所以失可扩展性很肉强,能够描律述任虑何豪复杂的图像益,甚至动态铁交互式图像招。边2.3妖桂SVG的特肚点慰虽然SVG迈的指“届矢量描述念”捷并不是一个奋全新的概念紧,但它综合么了矢量图形渐、点阵图像蜘和纯文字的糖优点,以一乐种标准将其留统一起来描章述土。殊它由计算机剑根据矢量数科据计算后绘碍制而成惯,欣相宪较最于位图图像森矢量图像蒸有以下特点青:(1)文巾件的大小与落图形的复杂铅程度有关,奇而与图形的西具体尺寸无球关却;厘(2)图形打的显示尺寸日可以无限缩陷放,变化后还不影响图形诸的质量。正蜻是由于矢量车图像的这些督特征,使得姥它尤其适合摧于网上传播哨。跪图片和交互茫在以前是两牙个独立的概各念董,受而涛在久SVG巡中,终文字与图形纪并非封装于蚂SVG内,匆而是可以借息助DOM和垄脚本语言坐等手段与外脆界交互键,君使得在图片渡内进行交互桂成为可能融,叫这是以往的趁图像所不能冰做到的供。统一的标微准和开放性吓是SVG的跳强大生命力蝴所在。标准程统一可增强梁网络的交流迎,结束目前罪业界各种格炭式并存的混宾乱局面;开迎放性则有利沿于日后的各选种新的元素部加入其中扩毅充其功能。低SVG使用阴时,客户端诵的软件负责渣解释SVG坛文本并将其从转化成实际朽的矢量图像毯,文字仍是跑文字,线条繁仍是线条,掩可在客户端改即时修改,污这也是SV咱G的一大特咏色。疮2.4茂糖SVG规范咐SVG规范胃定义了6种皱类型的对象宾,包括矢量充图形、图像柴、渐变填充鸭、滤镜、可形重用单元和戚文本。图形权对象可以进粪行组合、添其加样式、几比何变换等操目作。根据功毫能不同,这爷些主要对象认可归结为基床本要素对象适和页面描述丸功能对象两矛大类,具体奥请弓见死图云1京和图2企所示毛。洽图揪1泊卷SVG基本到要素铃图弦2鸦SVG页赠面描述功能谷框架元素,础就是组成一歉个完整SV子G文档的基猴本元素,主扣要包括<s版vg>、<蒸g>、<d北esc>元碰素和<ti闸tle>元浓素等等。<仓svg>元枝素是文档元借素,必不可刷少的,它相润当于指定一彻块画布,内那部的所有图音形元素都将盆显示在这块央画布指定的氧区域中。因越此它有一些栏标记位置的恒属性律像岩x,y,w拒idth,捉heigh挂t。<de纸sc>和<逢title瑞>元素是用迈来描述图像剩的注释性元性素。还有一矿些表示基本涝图形的标记狠,如rec沈t,cir抽cle等等疤,SVG图毫形就是通过锅组合这些基伤本的元素和申组件,来生复成复杂的图铜形的。肆3尤请雨量分析系粱统的需求分愿析穿3.1臂叔系统夜需求摇需求分析是馋一种软件工昼程活动,它但在系统需求词工程和软件咸设计间起到管桥梁的作用稼,主要任务矮是将用户的帆需求变为软逼件的功能和吸性能描述。报基于SVG倡的自动站雨宁量分析系统违要实现对四估川省部分市普县及钻其呢雨量数据进爪行管理与分味析,能够以柏各种时间方宿式查询各市锈县的历史雨纠量数据并以厘SVG格式废的曲线图显趟示出来,要抬求实现简单持地统计分析赌功能贼,月例如统计同唐一时间段内渐两个不同地鸣区的雨量数渡据,须对其进行分厕析余,区并赔生成两SVG图形剃以倒辅助工作人索员判断某一傲时间数据点飞过高的城市粪是否有发生挺灾铲害受的可能性。辫作为一个完齿整的系统,便还要起能够撇管理系统内用各个模块及幅设置铺不同访用户糟的据权限。由于肢会涉及到大拢量数据,因越此要有对数等据库的管理春,实现数据执备份功能,仁以保障数据辆的安全性。条系统功能模莲块主要包括爸以下几个方际面:贤1候、辞系统管理边;挪2董、葬雨量数据管稍理览;壶3娘、章城市信息管福理缴;禽4丰、疲前台管理岂;指5怀、卫数据备份查。街3.2士省功能鞠分析俭以下按照不狸同的模块进观行功能描述诵:拦1当、贺系统管理实犬现以下四个磨功能断:衡(1)模块奏管理:管理佳系统中所有亿模块,对模枪块进行添加谜、更新及删返除炭;戴(2)用户绞管理:添加锹系统用户,蚂选择对应的湾角色,对系江统中已有用刻户进行更新掩(包括登陆臭密码及角色盒)、删除开;逝(3)角色住管理:新增递、更新、删齿除系统角色屿,分配角色满权限谅;驻(4)日志式管理:能根蛇据选择条件算对已有日志时进行查询、增删除和下载团。亩2甚、山雨量数据管个理遭页面山管理后台的扛所有雨量数功据谋,舌有如下猾功能:暮(1)数据杯查看:可根限据选择条件映(包括日期埋和城市选择耐)显示雨量为数据,也可低根据选择的诸显示方式,挑以SVG图帽形方式查看碑雨量数据收;己(2)数据印录入:选择庸某一城市后骨,可以选择把任意一天进绍行雨量数据灭输入宁;娇(3)数据黑更新:在选泼定城市某一甲天的雨量数比据后,点击都更新可以修吵改雨量数据俊。闻3菠、捐城市信息管父理篇页面慨管理地图页奥面中出现的净所有城市的嘱雨量数据祝,县通过输入城睛市名及选择糖上级城市新闷增城市数据辆,援也可以对已庙有城市茫数据布进行更新(盛修改名称或腹上级城市)害、删除操作巧。盯4、拒前台管理壮页面怀放置了将踢前台查询煮页面块,谋这一模块是观整个系统的阀重点部分,窄包括地图管球理、选择涉显示方式窗、选择查询衰方式并生成染图形显示答页面剑。碧区别于其它听系统,本套编系统对于数桐据治图形芳使用了SV倾G这种文本械式你矢贤量图形描述狂语言。葬用户查询数隆据稀,妻并生成SV俱G达曲线图的操例作流程如澡图婚3甚所示。协图盛3沈SVG页客面描述功能抬5旋、看系统的数据机备份操作能度够实现将数抽据库文件备爷份到本机上摧的指定目录钓下,需要时纵再进行数据嚼恢复,以保关证数据的想安全当性片。茅备份管理有健如下功能:没(1)数据模备份:利用验SQLSe百rver的僚备份操作b矩ackup闸data雨base进妇行数据备份勾;奉(2)数据虫恢复:利用蔑SQLSe毒rver的蚊恢复操作r息estor侵e杨data幼base溜进行数据恢痰复车。轨3.3里历用例分析傅系统全局管观理员用例图本如饱图4所示。挪图丰4拍抓系统全局管立理员用例图猫4昂丘雨量分析系牲统的设计耍4.1嫌河系统模块结西构番系统主要分文为系统管理前、雨量数据廉管理、城市集信息管理、旗前台赏管理面等几大模块宜,其结构关毅系如图粮5所趟示。朵图5望系统羊模块结构摊4.2犯低数据库的设外计筒献疑总体设计开数据库户的干E陵-裂R模型图行如夕图窃6体所示猴。厌图啊6赞中既,止用户背在伸具有某些角榨色之后,才寄有近权限使用系阶统功能,而妥不能直接使萌用,麦因此设计中蠢将角色与系希统功能关联状起来,并将魄用户与系统假功能隔离开言来;日志的在生成是在用制户使用系统捧功能的过程乞中自动生成牙的省,酱其中早需要虫保存拿当前用户的茫ID和对应愚的系统功能蛇的本ID。恨图艇6气供数据库E盾-筛R图楚请莫数据库表字企段说明哗1、玻城市数据表承(City稠)存储的是芳地图上所有暖城市的相关忙信息娘,城具体彼见表1所示钳。东表1比城市数据表张字段恢字段名烟数据类型皂长度握允许暑为空苏备注功1屿CityI克d萝char担10晚否划城市号拍2腹CityN闪ame郑varch俊ar恨100控否衫城市名称畏3省Fathe镜rCity僚Id跨char来10横否炉上级城市号心4川Order眉Id锯bigin昂t徒8鹿否麻排序号秀5仇CityD纹es危varch繁ar岭500民是先城市描述懂2、楼每小时降雨貌量表(Ra封inPer蜂Hour)舍存储的是城骑市中具体一贪天24小时足的雨量数据桨,巡Hour0拌1表示0~贵1时的雨量尼数据,依此榴类推,中间刘省略飞部分行,具劲体见表2所求示。焦表垫2姜断雨量纽数据表许字段闻字段名端数据类型拳长度坏允许升为空环备注蜂1矮Recor既dID得varch幻ar沟10拘否煌记录号臂2猴CityI纠D他char邪10驳否斩城市号秀3桶Year休varch制ar足10仗否修年票4奶M呀onth释varch傅ar疗10贤否陈月阻5购Day辰varch属ar过10锐否霸日给6垫Hour0亡1性varch膏ar匀10鉴是妻0~1小时龟7裤Hou谢r薪12否varch返ar疗10锡是膝1~2小时把8症Hou魂r舍23殿varch蔬ar耍10反是语2~3小时控9筐……邮varch树ar滚10衣是恨10夸Hour2私223铜varch贤ar玩10能是装22~23拼小时源11属Hour2窜324帮varch雕ar四10打是炭23~24木小时举3、倘模块表(F挽unc)存确储的是系统给中所有模块穷的信息脾,具体见表碌3所示。呢表帽3馅列模块姑信息棋表罪字段广字段名情数据类型踩长度造允许岸为空礼备注辩1雷FuncI像d孔varch凯ar毁110云否古模块号案2个FuncN陆ame算varch兰ar合50浙否垦模块名称辣3望Fathe扎rFunc允varch讯ar骨10铁是查上级模块号倍4默PageP厨ath微varch垂ar细100桂是韵页面路径养5减Order围Id锈bigin孤t号8趋是广排序号牌6斯Des有varch青ar旧200僵是冬描述现7砌Syste严mId豪varch筒ar躬10鬼是妇4、禁日志表(L唱og)中存林储管理员对偿某一模块进狠行捉添加、修改便等挣操作非的香记录降,宋无论成功与访否,系统渔都会闹自动记录洲相应污的信息临,具体见表帐4所示。胳表浓4蔑焦日志斥信息驳表凶字段种字段名冷数据类型沸长度免允许淋为空撇备注浸1产LogId售varch杜ar边10挨否堵日志号帮2断OptTi报me私datet肆ime彩8究是汪操作时间朵3彼OptDe星s掘varch悟ar害100夹是孟操作描述值4免OptRe递sult防varch天ar歼1虫是府操作结构枕5立OptTy段pe轿varch件ar史1治是僵操作类型贫6罪UserI视d衔varch下ar箭10通否慈用户号违7顶FuncI绪d牙varch铺ar叼110桐否呜模块号迹8祸OptIP秘char节10裕是怒操作者IP级5、共用户表(U俗ser)乘中盏存储用户登衰陆系统的I吊D号、名称县和密码茎等蚊信息啦,具体见表弓5所示。郊表恐5徐袭用户扩表骂字段阵字段名旦数据类型奇长度绪允许贸为空徒备注压1失UserI菌d宜varch幻ar删10岔是落用户号页2浮UserN雀ame侧datet蹄ime筑50挂否榨用户名卧3钉UserP购wd缘varch誓ar剖50慨否点密码匀6、哭用户角色零关系姑表(Use瓜rRole玉Rel犬)存储用户今在系统中属目于哪一角色雨的信息,具技体见表6所遗示。猎表插6霸肠用户涝角色关系延表雨字段吉字段名善数据类型熔长度赚允许掉为空欣备注荐1条UserI慕d古varch旧ar李10兽否秘用户号税2削RoleI环d六varch乳ar靠10印否背角色号过7、原角色表(R么ole)存稼储每一个角膜色的角色名剩及对它权限观的描述员,他具体见表基7钞所示。梅表麻7换份角色格表清字段仅字段名应数据类型率长度体允许凝为空嫂备注搁1摄RoleI拜d您varch倘ar初10拴否英角色号匆2抱RoleN扶ame办varch级ar饥50鹿否乖角色名推3紧Des赴varch惕ar紧200彼是估权限描述慰8、贤角色权限纪关系摇表(Rol嫂eFunc草Rel)奖存切储角色对于床某一模块是傲否具有坚读取、增加恰、更继新、删除等懂操作屋的权限迅,具体见表睁8刃所示。浇表川8昼附角色权限关像系列表惠字段胖字段名足数据类型涉长度廉允许叹为空炊备注州1许FuncI盲d俘varch正ar哥110抓否秘模块号开2物RoleI担d侦varch激ar旨10象否祸角色号贝3垂PRead巾char娱1致否毕读取芳4傅PAdd吩char饲1杠否巧增加永5旁PUpda显te畅char型1营否艺更新稳6翻PDele亡te鸭char吃1岂否甘删除省4.3己兄开发技术及岂过程啄遍躺三层架构哲三层架构也望称三层体系密结构,即兄表现纠层、荡业务逻辑层望和数据访问择层违。有表现郑层主要指用怀户界面,它抄要求尽可能瞧的简单,使阴最终用户不上需要进行任盐何培训就能餐方便地访问冻信息;第二扔层就是案业务逻辑层稠,也就是常放说的中间件宰,所有的应梅用系统、应皆用逻辑、控鱼制都在这一谦层,系统的持复杂性也主许要体现在杜业务逻辑赚层;最后的章数据伪访问层狭存储大量的治数据信息和葛数据逻辑,赚所有与数据驻有关的安全肆、完整性控岁制、数据的锐一致性、并绪发操作等都坟是在第三层黑完成。素三层架构的皱层次关系面见图拔7厅所示。哥图弯7特升三层架构示廊意魂图阀这些层相互拼之间独立性聪好,可以单阁独开发,单扯独测试。三援层架构另一肾个优点是它柿的安全性,哲客户端只能电通过上一层吓来跳访问下一层艇的服务,减此少了入口点龄,把很多危向险的系统功平能都屏蔽了哄。斯表现层位于典最上层,离赛用户最近,闻用于显示数摄据和接收用假户输入的数凶据,为用户静提供一种交何互式操作的夺界面。通过管表现层,用蜂户输入数据萍、获取数据巴。表现层同革时也提供一管定的安全性烧,确保用户厦没有机会看伴到机密的信区息。中间满的乘业务钩逻辑旺层是表现层诊和数据访问印层的桥梁,板它响应表现梁层的用户请茎求,负责处素理用户输入伤的信息,或材者是将这些作信息发送给筒数据访列问层进行保制存,或者是贵调用数据访洞问层中的函狡数再次读出将这些数据。泛业务粱逻辑匀层也可以包养括一些对澡“馆商业逻辑悟”蛾描述浸的闯代码在里面直。数据访问纸层定义伸和视维护数据的风完整性、安截全性,它响欲应业务逻辑衬层的请求来计访问数据,帜仅实现对数励据的保存和茎读取操作。稀访问纲的家数据可以缠是牺数据库系统肯、二进制文熔件、文本文讨档或是XM司L文档激等等冬。颂本项目中.经NET三层骆架构中各室个缠包缓之间越的关系结构岁如太图伏8束所示。船图岗8何下三层架构名垮称空间关系内图卧其中,Mo恩del命名殿空间中的类走对应于数据家库中的表,担为整个架构箩提供方便的弄数据表示形承式;IDA柿L和SQL扬Serve得rDAL对葬应于数据访皮问层,ID梯AL命名空政间中定义了兔一整套用于疼操作数据库机的接口,具临体的数据访厨问操作在S福QLSer奥verDA包L命名空间灵中实现;D拾ALFac再tory命亮名空间中定宣义了获取数旧据访问操作锦的方法,在脊BLL命名豆空间中,就雾使用这些方案法来获取符滋合IDAL过中定义的接性口的对象,握再用它来对助数据库进行透操作,显然辆它们属于业承务逻辑层;劲而表现层对艺应于前台页妙面代码,包金括获取用户考响应和请求帅,再通过B榨LL来获取屋数据并返回辞给用户。货下面给出具盼体例子说明亏数据和指令另是如何在各卫层之间流动昏和传递的。吓首先,表现聚层中的某一疯对象调用业钥务逻辑层B锻LL中的A小dd函数,熔来向数据库臂中添加数据绘:退BLL.S迈VGRAS职_City天.Add(匠city)边;寻其中cit央y是Mod椒el.Ci稀ty类型的唇参数,BL茎L.SVG消RAS_C居ity.A狠dd为被调饶用方法的完仔整路径。仍此时,数据茫流向业务逻郊辑层,指令艳执行到业务贡层,如下:葵publi灾csta群tics薯tring妇Add(笼SVGRA寒S.Mod巩el.SV夺GRAS_击City遭model症){慰币ISVGR街AS_Ci耽tyda损l=SVG追RAS.D词ALFac辈tory.厚SVGRA抓S_Cit论y.Cre姜ate()纤;暴犹retur猛ndal嗽.Add(朱model齐);}搁业务层接收寇到表现层传赞入的参数m触odel,估首先进行业钻务逻辑处理智(比如数据片完整性,合深法性以及其草他一些业务纹处理),然践后调用工厂别中相应的方陕法来创建相大应的SQL息Serve汉rDAL对顺象,以获得丙访问数据访菊问层的对象哀。战工厂类中对蕉应方法如下包:蔬publi爽csta临ticS掌VGRAS控.IDAL骡.ISVG似RAS_C无ityC处reate巴(){亏厉SQLSe亚rverD你AL.SV眯GRAS_从City购obj柿=new殊SQLSe生rverD犬AL.SV在GRAS_丘City(联);谋匹retur韵n捎obj任;}哭此时,数据添流向数据访宜问层,指令妄执行到数据疫访问层:遇publi寇cstr裕ingA丈dd(SV泰GRAS.哗Model愧.SVGR鸭AS_Ci上tymo持del){琴悲model例.City丈ID=Co井mmon.五GetNe裹xtIdB寿yTabl园e("SV斗GRAS_油City"灾,"Cit爸yID",铸"Sing苏leLay映er",n售ull,1皂0);栗炮model欧.Orde咐rID=m提odel.齐CityI移D;竟饮Strin凭gBuil诞ders盛trSql品=new矮Strin俯gBuil警der()叮;凭谨strSq区l.App捆end("亚inser坚tint搂oSVG讯RAS_C湿ity(C恭ityID辩,Fath盆erCit府yID,O修rderI岩D,握花CityN侍ame,C把ityDe朗s)va句lues垮(");逼语strSq损l.App差end("屑'"+mo胁del.C船ityID站+"',"撕);攀飘strSq矿l.App恰end("芝'"+mo系del.F艳ather判CityI惧D+"',贺");啄握strSq厨l.App怜end("市"+mod叮el.Or百derID絮+",")嚷;皇夫strSq刚l.App击end("港'"+mo邮del.C喘ityNa究me+"'栏,");评劳strSq槽l.App缺end("震'"+mo硬del.C吩ityDe姻s+"')懒");稀迷DbHel嫌perSQ日L.Exe俯cuteS棍ql(st辆rSql.拳ToStr渣ing()含);惭筹retur蹄nmod臭el.Ci骄tyID;}恒在数据访问锻层,通过调找用存储过程决的方式,将胜数据传递到隆数据库,并予执行相应的察操作。Db迹Helpe动rSQL.鉴Execu臣teSql养()表示封新装好的方法违,strS渠ql.To郊Strin鸣g()放置手添加语句。穴此时,调用扫DbHel俭perSQ茶L.Exe追cuteS谋ql(),重执行SQL兄语句。碎孙publi边csta零tici弊ntEx俘ecute谈Sql(s千tring嗓SQLS歪tring或){携惕using线(Sql泛Conne逢ction救conn忧ectio志n=n刷ewSq案lConn举ectio略n(con博necti裕onStr脖ing)){县脱虏using伏(Sql旅Comma棉ndcm稿d=n前ewSq忧lComm捐and(S瞧QLStr拌ing,c链onnec锐tion)制){腐泻五没try{蝶央用亲杏conne情ction状.Open早();突圣萄际年intr朴ows=c屯md.Ex勾ecute殿NonQu芹ery()蜡;煎蝇锋青玻retur躬nrow芝s;}逝倚挨贼catch俩(Syst遣em.Da钱ta.Sq泡lClie凶nt.Sq复lExce可ption很E){减订层制笔conne滨ction杠.Clos灶e();箱啄驳弃哈throw旬new眉Excep孟tion(奸E.Mes车sage)秤;}}}}辱到此,完成徐了一条城市纳数据的添加寨操作。傍跪厘SVG文档广的表示两SVG文档重的生成使用节了.NET睛XML程冒序集,它提判供了一整套军封装了XM寄L操作的类己,可以很方本便的创建和千处理XML报文档,它的纸整体结构符尊合文档对象矛模型的定义教。将SVG逝文档用DO施M表示,其派结构见图名9灵所示。桑图笑9漠污SVG文档毙的DOM圾对象结构网图9对应的愈XML文档资部分家代码役如下:粘<?xml徐vers胜ion="旧1.0"柔stand敢alone骂="yes拜"?>趣<svg准viewB忌ox="0户0朵5雨0060经0">伞<瑞text山x=墨"息10转"耻y=争"真20命"饰stro至ke=圣"或red丝"忙>获携柜成都信息工谊程学院耀</t活ext>寿</svg留>以5取男系统摩实现缸5.谈1你辞雨量数据恼管理飘的痰实现获5.漠2训婶雨量数据分情析与SVG姜图像拖的吃生成减1读、稠获取用户设猎置的查询参凝数匙用户在查询迹页面中设置怀相应的查询呢参数,如查砌询方式、查气询日期等等志,并点击确职定按钮(即者选择某一城玉市)后,程酱序首先会验屿证用户的参有数设置是否罚正确,若不许正确,则弹泽出错误提示计;若通过验挖证,再按照售用户设置的泉查询参数传杂到后续程序桐中。昌这里的验证拆分为两部分罩,一部分是址在浏览器端佩进行的,使阀用java役scrip赛t代码,在易向服务器发抚送数据前完惠成验证,这梯里的验证是搬测试用户输货入的数据是汤否合法,如窄日期格式是译否正确,参兵数是否设置巡完整等等,珍如果用户设储置的是按多巷日查询,却假只设置了起胃始日期,那桌么就不会通框过验证。只电有通过验证胃才浩会宝将参数数据衰发送到服务眨器端,这样印可以在一定根程度上减轻吐服务器端的缓压力。焰图欺1散1桂些前台百界面窄另一部分验仆证是在服务投器端进行的比,它主要验竹证用户是否太拥有操作权投限,以及数裁据库中是否摩存在数据。属只有通过验残证后,才能纵在数据库中扒查询相应的浸雨量数据。控2放、馆从数据库中堤查询数据卷按照用户设索置的查询模家式,转到相愉应模式的查攀询代码中。厕然后再根据物查询参数,还从数据库中售获取相应的格数据。如:呆用户设置的察查询模式为克按天查询,语查询城市为纯成都,日期洪为普2007-帝5-27咽,然后调用息strWh叼ere()掏方法来生成丛查询参数,刻再传入三层致架构中的业爸务逻辑层中弄的getL垒ist()坛方法,就得铜到了查询的尺结果,代码弦如下:陡DataT洒able谱table洽1=BLL验.SVGR蚕AS_Ra吵inPer史Hour.汇GetLi胞st(st垫rWher动e("da袋ys"))虏.Tabl数es[0]醋;渔3兆、江对数据进行树分析处理,协并组织为适坛合显示的形票式回前面查询得棵到的是一个抄DataT亚able表炸,里面的数颂据是与数据社库中对应起敞来溉的,但这样识的数据却不汗便于生成图障像,因此要绢对它进行重菊组,转换为同雨量挠数据和蛙相关叫文字唯信息赌。在这里定朽义了一个类脖Rainf厌allDa间ta逃来辅助,这着个类弹包含了城市肥信息、时间想信息、相应安的雨量信息薄等等覆,盼具体衣代码如下:拣publi哄ccla芝ssRa呀infal危lData{吼杂publi就cstr怎ingc梢ityId坚;父俘publi新cstr居ingc黑ityNa毯me;追六publi开cint淘max家=0;他节publi尚cint能min销=100班0000;热斩publi扔cdou爬blea运verag权e;妇哗publi租cstr桂ings怠tartY影;骨辣publi康cstr编ings妈tartM茶;轻哪publi亚cstr券ings和tartD互;捧谅publi犯cstr绳inge临ndY;哭创publi德cstr遇inge者ndM;威羊publi辉cstr倚inge岸ndD;歌板//殃计算出最大芬最小值消魂publi载cvoi袄dcal刘MaxMi终n(){袭拍守doubl睛etmp尊=0;跟沙蚁for(核inti紧=0;i誓<da彩ta.Le工ngth;萌++i){材割缎友if(亭data[筋i]>佣max)运击慎铸木max=惕data谱[i];荐缎卫吨else农if(蜘data[没i]<匀min)罩腾忠截削min=旁data铁[i];浸柱衣情tmp+暗=dat桃a[i];}吉躲avera该ge=夕(tmp售/da奖ta.Le宾ngth)值;}辉般publi喇cint奖[]da伪ta;}程然后将每一历组岔雨量数据都材存到该类的饲对象中,并娱将这些对象徐传给SVG娱显示模块。双此外,若查画询模式是多虽日查询或多熔月查询,还垒需要将数据愚按日或月累麦加起来。贼4盘、户使用XML岁对象来生成似SVG文档希项目中定义籍了一个SV旱G文档类S歼VGDoc叉ument石,它继承自树XMLDo义cumen暴t,在它内装部封装了加叶载SVG文洒档元素的操椒作,以后创蝶建好文档中确的元素后就泳直接插入到属该文档中即线可。另外定撇义了一个辅奖助类SVG哗Helpe墙r,里面定利义了一些向折某个结点添顽加基本SV汽G元素的操陪作,以方便亚向文档中添拴加SVG图抬形。现在,稻创建一个S致VG文档,求并且添加一尝条线、一个泪圆、一个矩途形和一行文驼本的代码如院下:摘SVGDo递cumen辞tdoc液ument绸=ne咱wSVG扔Docum陵ent(8嚷00,70颗0);艰SVGHe侦lper.存Inser奖tLine常(doc掘ument革.Docu惰mentE元lemen略t,1,色1,300筐,350,恨Colo调r.Blu乱eViol锁et,5执);踩SVGHe倒lper.有Inser龙tCirc仇le(d料ocume帖nt.Do帖cumen辰tElem庭ent,1结00,10旁0,50,兵Color镜.Red,拨Color希.Gold晌,2.5)被;忘SVGHe且lper.茄Inser必tRect瘦(doc乒ument启.Docu李mentE堡lemen延t,300抓,400,洁80,70裙,Colo伶r.Gra愿y,Col态or.Ho袭neyde乡w,3);召SVGHe绑lper.兄Inser娇tText佩(doc喷ument依.Docu态mentE筑lemen哲t,"网络井工程",1讯0,100秤,15,"诵楷体",C同olor.桃Blue)受;刷5或、深向SVG文兄档中添加坐陷标系惩为了方便坐紧标系的创建运,定义了坐继标系类Co赴ordin凯ateFr窜ame,在灯它里面封装车了坐标系的培细节,并提漠供创建坐标丽系、向坐标生系中添加点尝、添加线等剩接口操作,止相应的也定悼义了坐标类辈Coord篇inate奉,来对坐标告信息进行封姓装。现在,叶向SVG文块档中添加坐拦标系,并向然坐标系中添犯加一系列点隐和线的代码喊如下:铺Coord株inate渣Frame玉fram们e=n念ewCo科ordin遇ateFr椅ame(惑10,10带,600,肥500,5厦,9,do镇cumen翠t.Doc英ument串Eleme绍nt);秤Coord饲inate海poin嫂t=n嫂ewCo样ordin剖ate(5情0,40)乌;之frame益.Inse乳rtPoi痒nt(po歌int);隶Coord围inate雄[]po登ints胶=new末Coor惩dinat铃e[5]咱;立//...荣在此获取局坐标数据王...亦frame缓.Inse伏rtLin愚e(po勤ints,洪"成都",葛Color令.Choc瓶olate论);班6沉、哪将数据转换闹为坐标点的絮数组请处理按照用颠户参数查询线获得的数据逢,并将其转搬换为对应于搅坐标系中的叛坐标点的数观组。划这里需要亮求出所有雨梁量数据的最歪大值和最小液值,并计算享出合理的纵灿坐标的坐标倍点数,然后幸将每一个雨链量数据除以尸一个纵坐标鹿点羽代魔表肠的联雨量数据,么以转换为坐森标位置。夺然后将坐标炒点添加到坐敏标系上,并省连成曲线色。橡7古、声添加相应的绒文字标签团及均值线绝在点上以及盈线上面,加阀上说明文字肾。不同的线鹊会用不同的老颜色显示,抬并标注相应敬的说明文字腊。雾同时,将求交出的每组数担据的均值以拢均值线的方满式画到坐标阿系上。路8饼、茂修改响应类悟型为SVG焦文档类型(蛮image族/svg+小xml)鸣将要返回的营响应类型改蛾为imag冶e/svg姑+xml,占这样浏览器肿才会将页面拢作为SVG凭图形来解析鹿。暂然后将SV壮G文档(以订XML枝对象表示)译的内容态发送彼到客户端。管具体代码如岸下:烫Respo泻nse.C愚onten记tType追="ima蔑ge/sv炊g+xml愚";影docum开ent.S确ave(俯Respo泼nse.O泄utput凑Strea泡m);叛Respo差nse.F蛙lush(忽);趣Respo删nse.E拴nd();扁现在客户端驳就可以看到膊如图壮1来2吸所示的借SVG格式功的图形了。肝图弦1挤2显凉SVG慰图形僻生成漏界面密5.势3念拴使用Web料Serv绣ice方式像提供开放的盼外部接口榴5.合3具.响1内扣WebS败ervic炼e介绍堆WebS鬼ervic途e是建立在搭HTTP协座议、SOA乌P协议和U烂DDI等标颜准以及XM脉L等技术之说上的,其主吊要目标就是递在现有的各按种异构平台殃的基础上构池建一个通用冬的,与平台脱和语言无关极的接口层,恋各种不同平稿台之上的应签用通过这个嫂接口层来集相成已有的服鸭务。程WebS唯ervic京e具有以下灾一些特征:秀1说、蕉完好的封装流性:Web惰Serv纯ice既然恰是一种部署紧在Web上已的对象,自片然具备对象火的良好封装量性。对使用格者而言,只书能看到该对卵象提供的功锋能列表。录2蝇、顽松散耦合:原当一个We血bSer暴vice的餐实现发生变回化时,调用洒者完全不会际感觉到。对醋调用者来说甘,只要调用敌的接口不变牌,其内部实金现的任何变汁化对用户来跪说都是透明遭的。蹲3其、完高度可集成宜能力:由于款WebS旷ervic归e采用简单傲的、易于理澡解的XML找作为接口描坑述,完全屏姐蔽了不同平嘉台和系统的浇差异性,因写此,任何符柴合协议的应酒用都可以集锣成已有的W扫ebSe鲁rvice磁。驻5.予3扑.滩2身冶使用Web永Serv纪ice的意孙义说使用Web蜓Serv辈ice可以别引入很高的优开放性,使护得系统可以策方便的集成更到其它应用筑中,同时,滋也为系统的毒二次开发预母留了很好的汇接口。此外忍,作为雨量链数据分析系拐统,必然会牵涉及到大量插的雨量数据止,而这些雨齿量数据是从朵全国各地的捕设备终端采梨集汇总而来农的,一旦有征了这一开放艳的接口,所段有的数据都唱可以通过它为来写入到数棵据库中。另论外,这些雨够量数据的采加集是相当不昆容易的,一惠般的科研机惜构和学校是君不可能获取思如此大量的哗真实数据的虹,例如本套削系统就无法长获得到这些菠真实数据,肥只能通过随晒机数来生成之假的数据。俱这样就限制盘了这些数据妹的科研作用顾。然而,通系过Web色Servi刻ce来提供唱开放的接口意后,所有的茅用户都可以既通过它来很仗容易的获取馅这些雨量数唐据,还可以盛通过接口使灶用系统中已迎经做好的各逃种功能,避声免了重复开见发的浪费。厌因此,使用盘WebS车ervic杏e来提供开慕放的接口是剪有很大的积趟极意义的。忆5.芹3做.恨3选避WebS恳ervic致e接口的实恼现崖在拾系统中只提动供简单碌功能扫的实现陷,沾主要接口有席:熊1、衡获取城市I门D井通过该接口摘可以查询指郑定城市在系共统中分配的浅ID删值,其参数数为城市名称奥。燕在查询城市昆数据前,首宋先要通过此爆接口获得城吼市的ID值思。岩2、谎获取狼雨量数据蜘通过输入查电询条件,贩来获得豆雨量数据。半这里的查询绩条件上就是脉SQL查询烛语句中的霉w舒here子您句,姿用户可以指颂定某一天、彼某几天或某晃几个月的等泛条件。甘例如最简单蒜的筑查询还“挪江油董”械的所有雨量知数据的参数基为华“巨CityI哗d=氏‘旦00000失00013辜’嘴”厨。阳接口实现代长码如下:欢[WebM刻ethod搬]踏publi复cstr羽ingg荒etCit冶yId(设strin伯gcit蚀y){笋奸retur美nSVG梳RAS.B抬LL.SV协GRAS_校City.卷GetLi扎st("薄CityN放ame='扬"+c返ity+以"'")荡.Tabl优es[0]懒.Rows丢[0]["奇CityI飘d"].T计oStri哥ng()傻;}央[WebM冤ethod士]萍publi柱cDat俱aSet谷getRa否inDat贯a(st刑ring叨sql){卵配retur达nSVG核RAS.B斑LL.SV鸟GRAS_坛RainP腹erHou岂r.Get眯List衬(sql)倦;}豆6宪赔系统测试叮在低前台丛页面中,胸对每种查询许方式都进行册了测试钻,所有数据翠查询、分析奔以及图像生佳成功能仁都豆能正确工作劣。脑例如,选择碰同一城市不涛同时间段比拼较膏模式伯,并设置起家止日期和时淡间撑,宫这里旁的日期锯跨越客两个这月,享即治4月30日思到积5月1日绩,桌设置

温馨提示

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

评论

0/150

提交评论