基于gis的突发事件应急预案及检索系统的应用研究样本_第1页
基于gis的突发事件应急预案及检索系统的应用研究样本_第2页
基于gis的突发事件应急预案及检索系统的应用研究样本_第3页
基于gis的突发事件应急预案及检索系统的应用研究样本_第4页
基于gis的突发事件应急预案及检索系统的应用研究样本_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业论文基于GIS突发事件

应急预案及检索系统应用研究BasedonGISapplicationoftheemergencyresponseplanandretrievalsystem院系信息工程学院专业智能信息工程中文提纲应急预案又称应急筹划,是针对也许重大事故(件)或灾害,为保证迅速、有序、有效地开展应急与救援行动、减少事故损失而预先制定关于筹划或方案。咱们很难掌握突发性事件发生,但是可以通过完整预案体系来将其损失减少到最低限度。“基于GIS世博园突发事件应急预案系统”是北京市劳动保护科学研究所“安全社区”项目中子项目,安全社区是国内都市发展中一种热点问题,对实现公共安全建设有着重要实际意义。随着奥运脚步临近,安全问题也被越来越多人所关注。当前国内在这方面尽管有诸多机构在做研究,但还没有完全成熟应用系统问世,因此该课题研究工作具备相称应用前景和实用价值。本系统通过VB开发平台,结合了MapInfo地理信息功能,可以实现GIS信息检索、地图定位、空间查询、地图热链接等功能。本文获得重要成果有:开发平台链接;定位搜索、空间数据查询;地图热链接;设立了事故记录功能。基本可以完毕应急预案中操作规定。核心词:GIS,MapInfo,应急预案,突发事件AbstractTheEmergencycase,alsocalledthecontingencyplan,aimsatthepossiblesignificantaccidents,developseffectivelyemergencywiththerescuemotion,andreducestheaccidentloss.Weareverydifficulttograsptheoccurrenceoftheburstcharacteristicsevent,butwecanreduceitslosstothelowestdegreethroughtheintegritypredeterminedplansystem."BasedonGISeventemergencypredeterminedplanandretrievalsystem”isthesub-projectofBeijinglaborprotectionresearchinstitute"thesecuritycommunity”.Thesecuritycommunityisahotprobleminurbandevelopmentofourcountry,andhasimportantandactualsignificanceforrealizingcommonsecurityconstruction.WithOlympicGamesisclosing,thesafeproblemsarealsopaidmoreattentiontobymoreandmorepeople.Atpresent,theredoesnothavethecompletelymatureapplicationsysteminthisaspecttobepublishedindomestic,thoughmanybigdevelopmentfacilitiesalreadystartedthesystem-relateddevelopmentworkinourcountry,sotheresearchinthistopichadasuitableapplicationprospectandapracticalvalue.ThissystemcanrealizesuchfunctionsasGISinformationretrieval,mapfixation,spatialinquiry,maphotlinkthroughtheVBdevelopmentplatformandunifyingtheMapInfogeographyinformationfunction,.Thisarticleobtainsthemainachievementsincluding:thelinkofthedevelopmentplatform;Localizationsearch,spacedatainquiry;Maphotlink;theestablishmentofaccidentrecords.Itmeetsbasicallytheoperationrequirementintheemergencypredeterminedplan.Keywords:GIS,MapInfo,Emergencycase,Urgentevent目录1绪论 图3-2。当前所能展示查询功能,也没有将表格中所有地名、资料信息都给出,只是示意性将一某些场馆信息给出,可以实现查询功能而已,由于是一种相称耗时数据整顿工作。尽管没有给出所有信息,但在功能实现方面却没有缺少。图4-SEQ图_4-\*ARABIC1图层整顿前:150个图层,命名毫无规则,给查询工作带来不便

图4-SEQ图_4-\*ARABIC2图层整顿后:9个图层,依照地图信息重新命名,有效提高信息检索速度导入导入表4-SEQ表_4-\*ARABIC1地图资料使用过程建立索引显示信息嵌入MapBasic语句嵌入VB程序依照需求在MapInfo中保存导出整顿原始CAD图(150多层)CAD图.DXF格式MapInfo.tab格式显示图形定义表构造系统中显示结合VB查询信息地图中标出生成.MIF文献查询(MapInfo中自带)4.2界面确立MDIForm窗体MDI窗体和所有子窗体都具备特性:(1)MDI窗体为子窗体提供工作空间,像其她普通窗体同样,顾客可以移动子窗体并变化子窗体大小,但子窗体不能移出MDI窗体,即子窗体被限制在MDI窗体工作空间内。(2)最小化子窗体时,子窗体图表显示在MDI窗体中而不是显示在任务栏中,这对于地图和图表同步察看带来便利。(3)MDI窗体被关闭时,所有子窗体也被关闭;子窗体被关闭时,MDI窗体还是存在。(4)对于一种MDI窗体可以同步打开几种子窗体,对于开发系统是十分有必要。便于顾客对图文数据察看。(5)加载子窗体时,其MDI窗体会自动加载并显示。而加载MDI窗体时,其子窗体并不会自动加载。这样使系统更加规范化。图4-SEQ图_4-\*ARABIC3界面截图在最初开发该系统时,没有考虑到父窗体和子窗体问题,在窗体中就是用一种Picture工具,将要显示地图嵌入系统,通过后来开发,慢慢理解到这种做法不便。由于Picture之固定,显示图像大小就只能是固定,并且想要多打开几种数据表格也是不也许。此外MIDForm与Form窗体区别还在于对图片显示作用,MIDForm是调用一种子窗体并将地图显示在其中,要修改属性有MIDChild,决定其与否为mid一种字窗体,这样就可以完毕对图像独立操作了,不会影响到工具栏和状态栏显示问题。因而才变化主窗体框架构造,尽管耗费了大量时间在变化窗体风格上,但对于在该软件功能增长方面却留有拓展余地,以为也是值得。4.3查询功能及MapInfo数据库连接查询和定位空间对象,并对空间对象进行量算是地理信息系统基本功能之一,它是地理信息系统进行高层次分析基本。图形与树形互查是最惯用查询,重要有两类。第1类是按属性信息规定来查询定位空间位置,称为“属性查图形”。这和普通非空间关系数据库SQL查询没有区别,查询到成果后,再运用图形和属性相应关系,进一步在图上用制定显示方式将成果定位绘出。第2类是依照对象空间位置查询关于属性信息,称为“图形查属性”。此类查询普通分为两步,一方面借助空间索引,在地理信息系统数据库中迅速检索出被选空间实体;然后依照空间实体与属性连接关系即可得到所查询空间实体属性列表。4.3.1自定义空间查询功能由于本系统是基于GIS开发流程,选用GIS开发软件是MapInfo,在查询过程中就必不可少需要对MapInfo表进行调用,由于软件开发语言是VB,就需要通过VB对MapInfo进行数据库式搜索和查询。在这里用到了VB与MapInfo互调问题。流程图:否否是输入地名表中查找信息与否存在查找成果不存在地图上显示位置各某些功能代码:查询MapInfo表中信息,将找到信息转换为数字MapInfo.Do"Select*From"&Tablet&"whereInStr(1,名称,"""&Name&""")>0intoSelection"N=Val(MapInfo.Eval("SelectionInfo(3)"))查找表中信息:If(N=0)ThenNameSM="没有找到"NameXM=NameTEL="没有"ElseReDimNameSt(1ToN),NameXt(1ToN),NameJt(1ToN),TELt(1ToN),NameLatT(1ToN),NameLonT(1ToN)ForJ=1ToNMapInfo.Do"FetchRec"&J&"FromSelection"NameJt(J)=MapInfo.Eval("Selection.col3")NameJX=Trim(NameJt(J))If(StrML=Trim(NameJX))Then找MapInfo表中“名称”信息NameSt(J)=MapInfo.Eval("Selection.Col1")NameS=Trim(NameSMt(J))NameXt(J)=MapInfo.Eval("Selection.col2")NameX=Trim(NameXMt(J))TELt(J)=MapInfo.Eval("Selection.Col4")TEL=Trim(TELt(J))NameLonT(J)=Val(MapInfo.Eval("ObjectGeography(Selection.obj,1)"))fBaseX=Trim(NameLonT(J))NameLatT(J)=Val(MapInfo.Eval("ObjectGeography(Selection.obj,2)"))fBaseY=Trim(NameLatT(J))MapInfo.Do"SetMapLayer0EditableON"MapInfo.Do"SetStyleSymbolMakeSymbol(34,16711680,16)"MapInfo.Do"InsertIntoCosmetic1(Object)values(CreatePoint("&fBaseX&","&fBaseY&"))"MapInfo.Do"SetCoordSysEarthProjection1,0"MapInfo.Do"OBJ_Temp=CreatePoint("&fBaseX&","&fBaseY&")"MapInfo.Do"SetMapCenter("&fBaseX&","&fBaseY&")Zoom400Units""m"""MapInfo.Do"setmapredrawon"EndIfNextJ查找“部门”信息If(NameSM="")ThenForJ=1ToNMapInfo.Do"FetchRec"&J&"FromSelection"NameXt(J)=MapInfo.Eval("Selection.col2")NameX=Trim(NameXt(J))If(Name=NameX)ThenNameSt(J)=MapInfo.Eval("Selection.Col1")NameS=Trim(NameSt(J))NameXt(J)=MapInfo.Eval("Selection.col2")NameX=Trim(NameXt(J))TELt(J)=MapInfo.Eval("Selection.Col4")TEL=Trim(TELt(J))StrML="资料中没有该部门"EndIfNextJEndIf图4-SEQ图_4-\*ARABIC4查询-菜单栏-截图图4-SEQ图_4-\*ARABIC5搜索对话框图4-SEQ图_4-\*ARABIC6查询成果显示所作定位搜索功能,是通过VB实现对MapInfo表查询,不光是对于数据检索,同步也能在地图上找到想搜索地名位置,直观地呈当前顾客面前。某些代码简介:Lon(J)=Val(MapInfo.Eval("ObjectGeography(Selection.obj,1)"))fBaseX=Trim(Lon(J))//将搜索到MapInfo表中数据,除去左右空格Lat(J)=Val(MapInfo.Eval("ObjectGeography(Selection.obj,2)"))fBaseY=Trim(Lat(J))是获得点坐标语句。通过VB执行MapInfo功能,要用到MapInfo.Eval(),ObjectGeography是提取点坐标语句。MapInfo.Do"SetStyleSymbolMakeSymbol(34,16711680,16)"选取标注符号颜色及大小MapInfo.Do"InsertIntoCosmetic1(Object)values(CreatePoint("&fBaseX&","&fBaseY&"))"/将坐标点倒入,表中插入新点在地图上表达。MapInfo.Do"SetMap难点:在地图表格设计方面,始终决定不了都该定什么表头好,最后拟定表头有:地区范畴(场馆所在范畴,将整个世博园划提成几种区域,分区管制)、名城(重要是场馆名称,便于搜索)、部门(本系统重要针对火灾应急预案所调用消防、水源、医疗设备所在地来设计)、电话(这里只是象征性给出了个地区范畴主管部门电话,如果时间容许话可以在详细地给出合组织分支联系方式)、X轴坐标、Y轴坐标(用于拟定点位置所用);在有表格中尚有场馆信息、链接等表头,为是可以查询出场馆有关信息以及链接。整个过程注重是表与表之间连接、属性。在此处可以将要展示给顾客看信息,详细编写到表中以便于查询。搜索过程与查询略有不同,是通过对地图编辑及标注,转换成图表格式。由于是要在此建立图与表连接,因此再次要有所区别。4.3.2应用MapInfo查询功能由于MapInfo就是一款地理信息应用软件,自带了某些查询功能,开发系统可以直接引用定义好查询功能实现对表基本查询。代码:MapInfo.runmenucommandM_ANALYZE_SELECT图4-SEQ图_4-\*ARABIC7图表查询代码:MapInfo.runmenucommandM_ANALYZE_FIND图4-SEQ图_4-\*ARABIC8查找点在地图上位置图4-SEQ图_4-\*ARABIC9变化标注属性:样式、颜色图4-SEQ图_4-\*ARABIC10对于所搜表内容进行查找图4-SEQ图_4-\*ARABIC11地图中显示查找成果4.3.3事件记录管理及查询功能本功能是对于发生过事件进行记录取,运用access数据库,将以往事件当作资料记录进数据库,便于时候查阅。该功能涉及到了:清空、添加、删除、保存、查询功能,可以实现数据管理。数据库连接用是ADODC控件,连接语句:CnStr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="CnStr=CnStr&App.Path&"\记录.mdb;PersistSecurityInfo=False"初始化数据库Adodc1.ConnectionString=CnStr查询功能:用到也是类似SQL语句,对于mdb中数据进行查询。显示查询成果我用是ListView控件,这里值得强调是对于控件定义。DimLtItmAsMSComctlLib.ListItem如果只定义为DimLtItmAsListItem系统是不会报错,但是当运营到显示成果时SetLtItm=Me.LvResult.ListItems.Add()就会报错:类型不匹配。通过查阅资料,懂得ListView在vb中有6.0和5.0,问题浮现也许是同步引用了MicrosoftWindowsCommonControls5.0和6.0因素,在ListItem前加上类库名就可以解决.DimLtItmAsMSComctlLib.ListItem'6.0不可以DimLtItmAsComctlLib.ListItem'5.0可以4.4链接功能做为一种连接整体,链接被作为一种新工程添加到程序当中,这不但使得整个程序更加有条理,并且作为开发者而言也更加规范和容易调用。最为一种面向封装好独立整体被调用。设立两个工程时要注意该其属性值,并选取好那个为要启动主程序那个为子程序。此外,还要注意保存成组,将两个工程存在一种组中,组位置可以自由设定,起作用就是最后显示整个程序,而单个工程也可以独立打开,独立修改,体现出了整个程序封装性是十分完整。调用代码:CallHotLinkDLl(MapInfo,TheInstallPath)TheInFile=ListHotLink.List(ListHotLink.ListIndex)CallHotLink(TheInFile)热连接功能实现过程:CallHotLinkDLl(MapInfo,TheInstallPath)链接到工程hotlinkdllMapInfo引用TheInstallPath安装途径nRow=MapInfo.Eval("SelectionInfo(3)")判断有无选中表,有几种If(nRow<1)Then没有链接到表话,先是提示窗体"无选取信息!"MsgBox"无选取信息!",vbOKOnly,"关于热链接"ExitSubEndIfTableName=MapInfo.Eval("SelectionInfo(1)")有表被选中话,将名字赋给TableNamenCol=Val(MapInfo.Eval("TableInfo("&TableName&",4)"))判断表中有哪些内容需要查询,并将表内信息数赋给nColnListFile=0ReDimListFile(1To100)将表头内信息挨个查询,为此要重定义ListFileForRow=1TonRow进入循环,在多张表中MapInfo.Do"FetchRec"&Row&"FromSelection"ForCol=1TonCol在表头重信息中挨个查找FileName=UCase(Trims(MapInfo.Eval(TableName&".Col"&Col)))PrivateFunctionTrims(TempAsString)AsString循环过程中调用Trims函数,查看表内有无信息如果存在信息If(DirFile<>"")ThennListFile=nListFile+1ListFile(nListFile)=FileName就给nListFile赋值If(nListFile>0)Then'文献存在,热链接其他程序调用If(nListFile=1)Then判断,如果只有一种链接,直接调用HotLinkCallHotLink(ListFile(1))Else如有各种链接,显示复选框,由顾客选取链接到哪个文献FrmHotLink.Show1EndIf此时拟定有链接,就要进入定义模块PublicSubHotLink(TheInFileTAsString)TheInFileT是连接文献途径Index=UCase(Right(TheInFile,3))在指定途径上,找到文献名,并取文献名后三位,通过大写字母转换,付给IndexSelectCaseIndex在由index中内容进行选取,链接到每个文献调用模块(简写):SelectCaseIndexCase"TAB"...Case"BMP","GIF","JPG","ICO","DIB","WMF","EMF","PCX","TIF"CaseElse//.DOC.TXT等,以word形式连接SetMsWord=CreateObject("Word.Application")EndSelect图4-SEQ图_4-\*ARABIC12热链接截图图4-SEQ图_4-\*ARABIC13热链接成果4.5图片显示与浏览对于图片显示功能,有诸多事例可以参照,图片显示方式也各有不同,有相册式、滚动式、搜索式等等。在软件中用到是滚动条式办法,在窗体上定义Picturebox,在Form_load中定好要显示图片大小和位置即可。代码:Image1.Visible=FalseSetWindowPosMe.hwnd,HWND_TOPMOST,0,0,0,0,SWP_NOSIZEOrSWP_NOMOVEi=0Timer1.Interval=500'设立时间间隔。图4-SEQ图_4-\*ARABIC14菜单栏-图片浏览图4-SEQ图_4-\*ARABIC15图片浏览窗体除了浏览图片外,还添加了电击图片随后放大展示功能。代码:Image1.Visible=TrueSelectCaseIndexCase0Image1.Picture=LoadPicture(App.Path&"\Resource\沈阳世博园\鞍山.jpg")//定位要显示图片lookpic.height=Image1.height+300//规定展示时高度lookpic.width=Image1.width//规定展示时宽度图4-SEQ图_4-\*ARABIC16点击后放大图片同理,将剩余图片照此办理,在调用时,只要返回case数字,就可以调用相应图片放大显示。4.6视频连接本系统还可以连接视频,但就当前代码实现状况,只能播放拟定好视频文献,在系统开发前期,作了一种关于应急预案流程展示视频,此处视频连接就是连这个文献。顾客可以通过视频,大体理解到应急预案执行过程和各级分工。代码:PrivateSubCommand1_Click()MMControl1.Command="close"MMControl1.Notify=FalseMMControl1.Wait=TrueMMControl1.FileName=App.Path&"\最新演示版.avi"MMControl1.Command="open"MMControl1.Notify=TrueMMControl1.Wait=FalseMMControl1.Command="play"EndSub图4-SEQ图_4-\*ARABIC17菜单栏-视频图4-SEQ图_4-\*ARABIC18调用后显示窗体5系统性能测试5.1开发环境和数据集硬件环境:PC机,Pentium(R)41.8GHz,512M内存软件环境:MapInfo7.0;AutoCAD操作系统:WindowsXP开发环境:VisualBasic6.0系统所采用数据集涉及16个详细园区内知名景点配备图,13个应急预案文本,35张园内展区彩图,10张园内特色风光图片,150个MapInfo图表构建整个世博园展图。5.2功能测试成果及分析(黑盒测试)通过对系统使用,可以基本完毕需查询功能,在查询菜单中引用MapInfo功能,要在当前显示图层中才干实现查询功能,如果所查询图层没有显示那么在地图中是不能默认打开图层,并且显示所查空间位置。工作空间显示,在启动该系统时候,工作空间自动启动,但是一旦想要放大或缩小工作空间或者对整个窗体位置进行调节,电子地图大小是不会随着窗体变化而改。图片浏览功能,被放大图片某些会有跳动状况,也许是硬件系统不稳定因素,由于在配备较好PC机上面没有发现这种状况。查看视频,如果不通过窗体,点击主界面视频就能连接到所播文献就好了,由于当前功能只能播放事先制定好文献,因此在功能方面可以继续改进,节约一种窗体。热链接,当前功能是可以对地图上所有点进行链接,不分有用和无用信息。由于诸多点信息都是无用,链接到成果对于GIS可以说没有用处,但当前功能也是将其显示出来,尽管只是一种数字或空格,都会不加选取显示出来。对于有用图片链接、文档链接,在显示同步,又不能显示该点数据信息。由于时间和开发人员限制,本系统当前仅局限于功能基本实现,在某些方面还存在着局限性,功能完善方面尚有待加强。此系统局限性之处是对于使用平台规定,规定PC机上要安装上VB和MapInfo才可以使用。对于普通操作系统,是不能兼容该开发系统,必要要安装相应软件才可以。5.3代码测试成果及分析(白盒测试)代码测试是针对系统开发代码完整性进行测试,与否将所有状况都考虑到程序中。基本考虑到了软件开发过程中各种状况,代码规则也可以按照比较规则命名方式,可以通过代码理解届时那某些程序。在数据库事件查询中,由于listview控件不知为什么总是报错:类型不匹配,因此暂时没有将次查询功能放入系统中,只是可以实现添加、删除、修改功能。5.4边界值测试顾名思义,边界值测试是对系统使用过程中某些边界值进行测试工作。5.4.1查找功能测试依照顾客需求,可以设定想要查找表和表头内容,对于输入内容测试成果是:如果输入内容是存在表中,那么就直接在成果中显示出来;如果输入数字(非表中内容)或空格,在成果栏中就会显示表中所有该表头内容。5.4.2定位搜索测试定位搜索是可以查询到空间位置,正常输入内容是:场馆名称+部门名称,所查成果会弹出信息窗体显示查询成果,并在地图中标出所查部门位置。如果不是正常输入法:输入空格、数字、下划线、只给出一种信息等,成果都是显示出一种窗体,查询成果是“没有找到”,在地图上也不会有其她标注。5.5集成测试由于本系统开发是由几种模块共同搭建完毕,除了主窗体所在工程外,还涉及热链接功能(MapHotLinkDLL)、查询功能(MapSearchDLL)模块。每一块都是一种独立工程,集成在一起形成了一种工程组。在集成测试时,发现了数据库添加问题,由于在添加新工程时觉得会用到一种数据库控件,因此引用到工程中,成果在添加数据库时,由于两个数据库冲突,导致access数据库无法链接,发现后去掉该引用即可。通过主程序启动,可是实现其她模块调用,在使用方面没有产生错误。值得强调事,要设立其她两个工程属性为ActiveXDLL,启动对象设为None;并且在整个工程组中要拟定谁为程序启动是最先启动工程,为系统启动工程,为工程组引用其她模块工程。6总结与展望6.1全文总结鉴于该项课

温馨提示

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

评论

0/150

提交评论