于GIS的突发事件应急预案及检索系统的应用研究

上传人:痛*** 文档编号:80896294 上传时间:2022-04-26 格式:DOC 页数:46 大小:1.89MB
收藏 版权申诉 举报 下载
于GIS的突发事件应急预案及检索系统的应用研究_第1页
第1页 / 共46页
于GIS的突发事件应急预案及检索系统的应用研究_第2页
第2页 / 共46页
于GIS的突发事件应急预案及检索系统的应用研究_第3页
第3页 / 共46页
资源描述:

《于GIS的突发事件应急预案及检索系统的应用研究》由会员分享,可在线阅读,更多相关《于GIS的突发事件应急预案及检索系统的应用研究(46页珍藏版)》请在装配图网上搜索。

1、 本科毕业论文基于GIS的突发事件应急预案及检索系统的应用研究Based on GIS application of the emergency response plan and retrieval system 院 系 信息工程学院 专 业 智能信息工程 年 级 学 号 指导老师 论文作者 完成日期 2007年 5月 10日 40中文提要应急预案又称应急计划,是针对可能的重大事故(件)或灾害,为保证迅速、有序、有效地开展应急与救援行动、降低事故损失而预先制定的有关计划或方案。我们很难掌握突发性事件的发生,但是可以通过完整的预案体系来将其损失降低到最低程度。“基于GIS的世博园突发事件应急预

2、案系统”是北京市劳动保护科学研究所的“安全社区”项目中的子项目,安全社区是我国城市发展中的一个热点问题,对实现公共安全建设有着重要的实际意义。随着奥运脚步的临近,安全问题也被越来越多的人所关注。目前我国在这方面尽管有很多的机构在做研究,但还没有完全成熟的应用系统问世,所以该课题的研究工作具有相当的应用前景和实用价值。本系统通过VB的开发平台,结合了MapInfo的地理信息功能,能够实现GIS的信息检索、地图定位、空间查询、地图热链接等功能。本文的取得的主要成果有:开发平台的链接;定位搜索、空间数据查询;地图热链接;设立了事故记录功能。基本能够完成应急预案中的操作要求。 关键词:GIS,MapI

3、nfo,应急预案,突发事件AbstractThe Emergency case,also called the contingency plan, aims at the possible significant accidents, develops effectively emergency with the rescue motion, and reduces the accident loss .We are very difficult to grasp the occurrence of the burst characteristics event, but we can red

4、uce its loss to the lowest degree through the integrity predetermined plan system. Based on GIS event emergency predetermined plan and retrieval system” is the sub- project of Beijing labor protection research institute the security community”. The security community is a hot problem in urban develo

5、pment of our country, and has important and actual significance for realizing common security construction. With Olympic Games is closing, the safe problems are also paid more attention to by more and more people.At present, there does not have the completely mature application system in this aspect

6、 to be published in domestic, though many big development facilities already started the system-related development work in our country, so the research in this topic had a suitable application prospect and a practical value. This system can realize such functions as GIS information retrieval, map f

7、ixation, spatial inquiry, map hot link through the VB development platform and unifying the MapInfo geography information function,.This article obtains the main achievements including: the link of the development platform; Localization search, space data inquiry; Map hotlink; the establishment of a

8、ccident records. It meets basically the operation requirement in the emergency predetermined plan.Key words:GIS,MapInfo,Emergency case,Urgent event目录1 绪 论11.1课题研究的背景和意义11.2主要研究内容21.3国内外该课题的研究现状与发展22 地理信息系统GIS42.1地理信息系统概述42.1.1地图的获取42.1.2 GIS功能概述及表现42.1.3GIS开发系统功能62.2地理信息系统的功能和应用62.2.1业务应用系统72.2.2信息资

9、源库72.2.3支撑平台72.2.4接口标准与规范82.2.5系统安全82.3 地理信息系统开发软件-MapInfo82.3.1 MapInfo功能介绍82.3.2 MapBasic开发软件及功能82.3.3 MapInfo与VB的结合83 世博园突发事件应急预案系统93.1 数据采集93.2图层转换处理103.3世博园突发事件应急预案系统的设计与实现技术103.3.1开发环境103.3.2设计流程图113.3.3各部分功能介绍113.3.4难点突破204世博园突发事件应急预案系统实现技术234.1地图资料的整理与应用234.2 界面的确立MDIForm窗体244.3查询功能及MapInfo数

10、据库的连接254.3.1自定义空间查询功能264.3.2应用MapInfo的查询功能304.3.3事件记录管理及查询功能324.4链接功能334.5图片的显示与浏览354.6视频的连接365 系统的性能测试375.1开发环境和数据集375.2 功能测试结果及分析(黑盒测试)375.3代码测试结果及分析(白盒测试)385.4边界值测试385.4.1查找功能的测试385.4.2定位搜索的测试395.5集成测试396 总结与展望396.1全文总结396.2进一步工作及展望40参考文献40致 谢411 绪 论1.1课题研究的背景和意义社会信息化飞速发展的今天,越来越多的人们接触和使用着GIS(地理信息

11、系统)。对于现代社会的居民来说,GIS知识已经深入到现代生活的每一个角落;对于政府部门、企业、商业机构来说,GIS是关系业务竞争、经营成败的关键因素。在信息社会中,面对包罗万象的信息,传统的方法总是局限于枯燥乏味的数据处理和表现形式,缺乏的是直观性和可视化程度。GIS将表格和数据库中无法看到的规律和现象,以图形的形式直观的表现了出来,大大提高了实用性。利用GIS循序有效的管理空间数据,进行空间可视化分析,更快捷的掌握信息,有益于人们掌控信息的变革,对于现代的各行各业是十分必要的。目前,GIS开空的产业急剧膨胀,已经深入到市政工程、国家项目、企业决策、交通运输、医疗保健、邮电通讯、公安急救、环境

12、保护、旅游、科研教育等各个领域。可观的发展前景使GIS市场吸引了众多的目光,使GIS的发展速度也是逐年递增。应急预案又称应急计划,是针对可能的重大事故(件)或灾害,为保证迅速、有序、有效地开展应急与救援行动、降低事故损失而预先制定的有关计划或方案。它是在辨识和评估潜在的重大危险、事故类型、发生的可能性、发生过程、事故后果及影响严重程度的基础上,对应急机构与职责、人员、技术、装备、设施(备)、物资、救援行动及其指挥与协调等方面预先做出的具体安排。它明确了在突发事故发生之前、发生过程中以及刚刚结束之后,谁负责做什么,何时做,以及相应的策略和资源准备等。现在应急预案的划分是非常详细的,涉及的方面也非

13、常广泛,比较熟悉的风险预案有:地震;洪水;火灾;暴风雪;台风;长时间停电;空难;重大建筑工程事故;重大交通事故;危险化学品事故;核泄漏事故;中毒事故;突发公共卫生事件;社会突发事件;极度高温或低温天气;大型社会活动等。因为应急预案的编制与人身安全和社会安定密切相关,所以在制定时有严格的规范。正是因为应急预案在社会安全方面起着重要的作用,就更需要在灵活、快捷、直观的应用方面下大功夫。近年来GIS的广泛应用,对于应急预案的处理,开辟了一条新的思路,能够更加直观、快捷的运用应急预案中的操作,及时的处理突发事件。很难掌握突发性事件的发生,但是可以通过完整的预案体系来将其损失降低到最低程度。“沈阳世博园

14、突发事件应急预案演示及展馆信息检索系统”是北京市劳动保护科学研究所的“安全社区”项目中的子项目,安全社区是我国城市发展中的一个热点问题,对实现公共安全建设有着重要的实际意义。目前国内在这方面还没有完全成熟的应用系统,因此该课题的研究具有相当的应用前景和实用价值,并会对国家承办的其它大型展会有一定的借鉴作用和很好的应用前景。1.2主要研究内容世博园突发事件应急预案演示系统主要研究当园内某处发生突发事件,比如火灾,如何模拟演示园内具有的一系列应急处理措施.从火警报警到建立临时指挥中心、指挥人员调动、处理火灾,对于距离着火地点最近的消防器材以及水源进行查询后,尽快的下达救援指令,而医疗救助队也会在指

15、挥中心的指导下,找到距离伤患最近的安全地点进行救助.确保人员得到及时救治。除了火灾应急处理,还可以有很多其它的应急处理预案.比如: 防汛应急预案、交通运输事故应急方案、群体事件应急预案、人员疏散应急处置方案、森林火灾应急指挥方案、建筑火灾应急处置方案、刑事案件应急处置方案、淹溺事件的应急处置方案、夜间停电应急处置方案、游客意外伤害应急方案、预防禽流感疫情应急处置方案、治安事件应急处置方案、中毒事故应急处置方案等等。通过研发突发事件应急预案演示程序,可以根据所发生的突发事件,进行相应的查询,运用先进的现代技术在第一时间解决突发事件。现在的应急预案大多是以文档的形式出现的。作为动态的演示程序,现在

16、国内还没有一个真正完整的应急系统。随着奥运会的临近,应急预案的涉及范围和重视程度都与以往比起来有了很大的提高,国内也有很多人正在开发、研究此方面的项目。所作的这个应急预案的程序,也只是在此方面的一个尝试,因为从需求、设计,到代码的实现与测试,都是自己完成的,在界面的美观、功能的完整、人机交互的使用方面,肯定还存在着很多的不足,但是这也是很有价值的。任何完整的、被人们认可与推广的软件,都是需要投入很多的人力、物力才有可能实现的,而且还需要很长的一段测试时间,所以在短短的几个月内,从一个陌生的GIS开发平台都不熟悉,到现在能够编写出一个较为完整、并能够实现一些操作的软件还是应该值得肯定的。1.3国

17、内外该课题的研究现状与发展国内外对于应急预案与GIS的有效结合,更为准确的叫法是应急联动系统。因为根据应急预案的处理流程,对于突发事件的处理不可能只通过一两个部门来解决,它需要的是一个应急相应网络。对于其中一点的触发,牵连出各个环节的动作,及时有效的处理突发事件。政府应急联动管理部门比较著名的有美国联邦应急管理署(简称FEMA)、澳大利亚应急管理中心(EMA)。FEMA集成了从中央到地方的救灾体系,建立了一个军、警、消防、医疗、民间救难组织等单位的一体化指挥、调度体系,一遇重大灾害即可迅速动员一切资源,在第一时间内进行支援工作,将灾情损失降到最低。EMA主要的职责是依靠州与地方政府,在遭受自然

18、灾害和人为灾害时,保护澳大利亚的生命与财产。澳大利亚应急管理中心负责日常管理协调功能,还根据请求,协调联邦政府给予受发生重大灾害的州和地方以实物帮助。国内外有许多机构研究应急联动系统,其中美国国家紧急号码联合会NENA(National Emergency Number Association)是公共安全行业的组织,分析应急联动的技术问题,为技术服务提供者、设备厂商制定行业标准。NENA是一个行业领导者,通过技术委员会提供技术解决方案。北京大学计算机系IERS研究小组自2001年开始研究IERS面临的关键技术问题,系统地提出了应急联动系统的业务模型,研究出应急联动事件模型,并基于应急联动事件模

19、型,研究事件处理预案的表达、存储与管理方法,面向事件的预案查询与匹配方法,处理预案到处置方案的转换方法,事件处理过程的监控方法,事件的查询统计方法等,并依托应急联动信息服务集成平台,开发事件查询组件及系统、事件监控组件及系统、事件处理预案分析管理组件及系统。目前已经开发出应急联动原型系统、预案管理制作系统、事件查询与监控系统。该小组的特点是对应急联动及相关的110、119、120的业务流程有深刻理解,并有丰富经验,在此基础上,找出IERS面临的关键技术问题进行深入研究,并提出相应的解决方案。清华大学成立了公共安全研究中心,主要研究国家在公共安全领域的重大需求,包括:安全科学理论与方法学、城市安

20、全、生产安全、环境安全、火灾与热安全、核安全与辐射安全、电力安全、用电安全、公共安全检测与识别技术、公共安全政策与法律等。公共管理学院副院长薛澜领衔的清华大学危机管理课题组提出十多篇专题研究报告,受到有关决策部门高度重视。其特点是对应急体制有深入的研究。中科院计算所构建了一个能够有效地整合各类社会信息资源、支持业务端编程和对资源的一站式、动态、按需配置的新一代中间件平台。已开发出原型系统,原型系统主要包括信息服务社区、以用户为中心的个性化服务配置环境以及服务中介引擎3 个部件。并在此基础上开发了面向奥运安全的应用示范系统。天津大学计算机系IERS研究小组从时空两方面对突发事件处置数据库进行了数

21、据挖掘方面的研究,并提出了一些新的算法。2 地理信息系统GIS2.1地理信息系统概述2.1.1地图的获取地图的获取,空间地理数据的获取方式:地理信息系统的最主要特点是能以电子地图的形式,直观地表现信息,并可做图文互查、综合分析等。因此,在系统开发的最初阶段,首要的问题就是准备一张包括相关地理信息的电子地图。空间地理数据的获取主要有以下几种方式:(1)使用数字化仪(2)利用扫描仪(3)键盘键入(4)购买商业性数据(5)从其它部门获得数字拷贝1。2.1.2 GIS功能概述及表现为了完成地理信息系统的任务,需要采用不同的功能。尽管目前商用GIS软件的优缺点各不相同,而且实现这些功能所采用的技术也不一

22、样,但大多数GIS软件包都提供了:数据的获取、数据的编辑、数据的存储、数据的查询与分析以及图形的显示与交互等。图2- 1 GIS功能概述及表现所示:可视化表现数据库制图观察的现象、文件与地图数据获取原始数据数据编辑结构化数据查询与分析存储与检索展示与交互图2- 1 GIS功能概述及表现GIS软件五大子系统:数据输入与转换、图形与文本编辑、数据存储与管理、空间查询与空间分析以及空间数据可视化与输出。图 2- 2 人用户界面地理信息数据库数据输入显示与报告转换图 2- 2GIS软件五大子系统结构图2.1.3GIS开发系统功能电子地图的功能主要包括创建、修改、显示和查询。具体的功能参考图 2- 3系

23、统功能显示基本显示特点对象显示缩放及漫游创建新地图新图层修改空间数据非空间数据删除查询空间数据非空间数据空间位置信息查空间捷径查询图 2- 3系统功能结构图2.2地理信息系统的功能和应用一个日常运作、功能完备、安全可靠、高度网络化和信息化的应急指挥系统,是一个城市最上层的综合信息处理平台,它不仅是辅助决策系统的重要信息来源,也是下达应急指挥指示和命令的安全通道。它要求对救助信息进行统计、分析和查询,建立统一的信息资料库,建立紧急救助标准化流程数据库等,以及统一协调全市救助力量和救助资源,建立备份中心等。应急指挥系统分为五个部分:2.2.1业务应用系统业务应用系统,采用C/S模式与B/S模式相结

24、合的体系结构,是一个分布式的应用系统。包括应急指挥调度系统、信息维护系统、领导辅助决策系统、信息发布系统。应急指挥调度系统采用C/S结构,完成警情处理过程中报警单位、各级指挥中心、移动指挥中心及现场的业务工作,是一个覆盖指挥业务全过程的系统。该系统是实现编制出动方案、下达出动命令、应急处理全过程的语言和数据实时记录、现场图像传输、文字传真以及应急信息的综合管理等方面功能的大型综合性系统。信息维护系统包含数据管理维护模块、网络设备管理维护模块、有线/无线通信设备管理维护模块等。领导辅助决策系统包括的主要模块有统计分析模块、事件分析模块和现场图形模块等。基于WEBGIS的分布式警务信息发布系统是一

25、个WWW服务器,提供统一的浏览器(Browser)访问界面。可对内对外服务。2.2.2信息资源库信息资源库是一个以应急指挥中心为核心,以各处置部门为节点的分布式异构数据库。数据有地图数据库、属性数据库、动态数据库、经验知识库、统计分析库、栅格图像库、文档数据库、模型数据库、方法数据库、数据库字典。其中空间信息是重要的组成部分。2.2.3支撑平台支撑平台包含计算机网络系统、监控系统、显示系统、GPS系统、有/无线通信系统、图像传输系统、电源及机房、软件支撑平台等。其中,计算机网络系统包括指挥中心、二级指挥中心与移动指挥中心、处置力量部门之间的三级计算机网络,即指挥中心局域网络、业务机关网络、与分

26、支机关的广域网络、与移动指挥中心的远程访问网络。指挥中心与二级指挥中心、分支机构、移动中心之间有语音通信、数据通信,指挥中心与移动中心有语音通信、数据通信(无线)、现场图像传输;指挥中心与公安其它机构通过拨号网络访问(内网),指挥中心与普通老百姓通过拨号网络访问(外网)。2.2.4接口标准与规范接口标准与规范,应急指挥系统是一个复杂的各种技术、各种相关系统、数据的集成系统,因此系统接口设计十分重要。系统接口分为外部接口、内部接口。接口有数据接口、软件接口、硬件接口。标准的建设是应急指挥系统的核心工作之一。2.2.5系统安全系统安全,应急指挥系统的安全设计从系统安全、数据及数据库安全两方面进行了

27、设计,前者保证系统的正常运行的稳定性和可靠性,后者进行了数据保护,以维持系统的数据安全。2.3 地理信息系统开发软件-MapInfo2.3.1 MapInfo功能介绍MapInfo是美国MapInfo公司的桌面地理信息系统软件,是一种数据可视化、信息地图化的桌面解决方案。它依据地图及其应用的概念、采用办公自动化的操作、集成多种数据库数据、融合计算机地图方法、使用地理数据库技术、加入了地理信息系统分析功能,形成了极具实用价值的、可以为各行各业所用的大众化小型软件系统。MapInfo 含义是“Mapping + Information(地图+信息)”即:地图对象+属性数据。2.3.2 MapBas

28、ic开发软件及功能MapBasic是MapInfo自带的二次开发语言,它是一种类似Basic的解释性语言,利用MapBasic编程生成的*.mbx文件能在MapInfo软件平台上运行,早期的MapInfo二次开发都是基于MapBasic进行的。MapBasic学起来容易,用起来却束缚多多,无法实现较复杂的自定义功能,用它来建立用户界面也很麻烦,从现在角度看,MapBasic比较适合用于扩展MapInfo功能。2.3.3 MapInfo与VB的结合MapInfo与VB的结合使用,就是以MapInfo作为后台的服务器来提供地理信息中应用的数据和地图,并且可以较为使馆的展现在用户的面前;VB作为前台

29、的开发工具,对用户所需要的软件功能进行实际的编程,负责处理事件的响应和控制MapInfo,能够通过一个较为完整的开发平台,实现对MapInfo的数据、地图、表格的处理与维护。二者是通过OLE自动化技术实现集成的,由此能够使得MapInfo处理过的地图能够在VB中进行调用,而VB也可以通过此功能对MapInfo的功能进行引用。在MapInfo与VB这两个平台的集成方面,也有模块可使VB能够调用MapInfo中的基本功能。MapInfo 在后台进程作为本地服务器运行,VB 开发的客户端应用程序OLE 嵌入并生成MapInfo 对象,利用CallBack回调函数进行前后台的信息交换,实现系统的数据管

30、理、分析决策、查询等功能。一Do和Eval方法在 Visual Basic中使用GIS功能,主要通过MapInfo提供的“Do”, “Eval”方法调用MapBasic语句实现。“Do”用于执行MapBasic语句;“Eval”方法用于执行MapBasic函数或地图对象,可得到返回值。“Do”和“Eval”方法是系统集成中调用GIS操作最基本的方法。此外,还可使用“RunMenuCommand”方法,调用MapInfo定制的菜单功能。二Visual Basic对MapInfo事件的响应系统集成要解决的首要关键问题是Visual Basic如何响应MapInfo的鼠标点击事件。当地图集成VB界面

31、后,在地图窗口中的操作为MapInfo所控制,VB不能响应点击事件,因而也就不能以VB界面的形式显示地图对象的信息。为此,可以采用回调(CallBack) 来解决这一问题。所谓回调是指当MapInfo中发生一个事件,如地图窗口的改变等,它自动地通知客户应用程序。使用回调过程时需要在VB中创建一个类,并在类中定义一个或多个OLE方法,然后使用定义的类创建一个对象,当启动MapInfo后,调用MapInfo的SetCallback方法,这样就可以使用前面创建的对象中的方法处理MapInfo传来的参数,对地图窗口中的事件做出响应。这里打一个比方会有助于理解上述机制,客户程序与Mapinfo之间的交互

32、就像舞台指挥与木偶演员的交流,客户程序中的地图窗口或说MapInfo子窗口只不过是一个牵线木偶,后台的MapInfo才是真正操纵木偶的演员,所以客户程序必须与后台MapInfo建立正向、反向的联系机制,才能操纵地图窗口中的图形目标。3 世博园突发事件应急预案系统3.1 数据采集这里用到的方法就是上面所提到的第5种地图的获取,空间地理数据的获取方式:地理信息系统的最主要特点是能以电子地图的形式,直观地表现信息,并可做图文互查、综合分析等。因此,在系统开发的最初阶段,首要的问题就是准备一张包括相关地理信息的电子地图。空间地理数据的获取主要有以下几种方式:(1)使用数字化仪(2)利用扫描仪(3)键盘

33、键入(4)购买商业性数据(5)从其它部门获得数字拷贝1。,因为沈阳世博园的CAD地图是现成的,MapInfo支持标准的AUTOCAD数据格式.DXF文件。根据这些原始数据文件,进行数据格式转换,最终形成MapInfo可以识别的数据格式。MapInfo给出了用于格式交换的数据结构,即MIF与MID,其中MIF文件保存图形,MID文件保存文本数据。将其它形式的地图数据转成MIF与MID格式,然后利用MapInfo菜单中的Import命令就可以导入,从而完成转换。3.2图层转换处理首先要将沈阳世博园的CAD图转为MapInfo可编辑的TAB格式。因为CAD和MapInfo都是以图层的叠加形式将整个园

34、林的地图叠加出来的,而到目前为止还没有将多个图层一起转换的实用工具,所以在转换格式的时候,只能将图层逐个转换,150个之多的图层形成了较大的工作量。而且对于电脑硬件的要求也是十分高的,所以又专门学习了AUTOCAD的图层匹配方法,将原始的CAD图在AUTOCAD软件中先做好匹配,将完全没有规律的图层,大致匹配成几个图层,便于日后图表的转化和信息的查询。3.3世博园突发事件应急预案系统的设计与实现技术以往的书面应急预案,实际在编写应用程序的过程中是很抽象的。没有一个很明确的目标与标准,来衡量程序的开发过程,所以在编写的过程中也带来了很大的困难。3.3.1开发环境本系统以Visual Basic6

35、.0为主要开发工具,以professional MapInfo7.0 为地理信息系统平台,数据库采用Microsoft Access。MapInfo是一种功能强大、直观的桌面地理信息系统。MapInfo不仅具有电子地图的显示、管理、建立和修改功能,而且还能实现地图对象与关系数据库中记录的自动连接,从而根据数据库中的数据动态改变地图对象的可视属性,也可以通过地图来查询相应对象的数据库信息。所作的系统主要利用MapInfo提供的OLE Automation技术,以及其二次开发语言MapBasic。将GIS的功能“嵌人”到开发程序中,构成GIS应用程序。具体地说,就是把VB的表单作为OLE容器,将M

36、apInfo中的地图显示于此控件中Visual Basic。作为开发软件VB主要完成系统界面、数据库操作以及利用数据库的数据进行预测与决策分析的设计;MapInfo作为后台提供GIS功能支持。3.3.2设计流程图VB编程软件MapInfo(GIS平台)CAD地图世博园应急预案程序MapInfo基本功能绘制地图图层查询查看地图Access数据库应急预案文本查询、添加、删除园内景点图片查询、添加、删除其他功能应急预案动态演示图片预览热链接定位查询从地图连接到图像、文本等信息数据信息、地图位置图 3- 1设计流程图3.3.3各部分功能介绍一系统启动系统的启动是关系到VB与MapInfo的链接问题。大

37、致流程:启动主窗体启动子窗体显示地图更新工具栏、菜单栏启动创建连接vb mapinfo模块1 sub main启动出现about窗体使用 DoEvents :DoEvents 将控制切换到操作环境内核。只要此环境中的所有应用程序都有机会响应待处理事件,应用程序就又恢复控制。这不会使应用程序放弃焦点,但会使后台事件能够得到处理。Fmainform.show显示主窗体调用frmmain窗体代码MDIForm_load开始执行找路径InitializeMapInfoConnection 初始化MapInfo与VB链接调用Private Sub CloseExitMapInfo()在Mapinfo.b

38、as模板中winHwnd = FindWindow(vbNullString, MapInfo Professional)第一步,构造一个MapInfo应用程序句柄MapinfoRunTime = FalseSet MapInfo = CreateObject(MapInfo.Application) CreateObject 函数创建并返回一个对 ActiveX 对象的引用。可以将 CreateObject 函数返回的对象传给一个参数为对象的函数。例如,下面的代码创建并传递了一个 Excel.Application 对象的引用:Call MySub (CreateObject(Excel.A

39、pplication)第二步,设置MapInfo全部对话框为本应用程序的子窗口MapInfo.Do Set Application Window & fMainForm.hwnd第三步,定义MapInfo与VB通讯句柄,使MapInfo给VB返回信息Set theResponder = New MapSISMapInfo.SetCallback theResponder下一步,定义右键功能,定义其他功能用到的函数、变量 objectObject 属性(OLE 容器)返回对象和/或 OLE 容器控件中对象的方法或属性的设置。MapInfo.Do Set Style Brush MakeBrush

40、(1, & CYAN & , & BLUE & ) 颜色thereIsAMap = False * initially, there is no map windowmapWinID = 1 * a window ID of 0 means no windowMapInfo.runmenucommand M_TOOLS_SELECTOR * make MapInfos select tool activeCall loadstartupwor 打开工作空间调子窗体LoadNewForm() frmD.Show 设置下一个窗口的父窗口 MapInfo.Do Set Next Document P

41、arent & frmD.hwnd & Style 1调用Form_Resize()当一个对象第一次显示或当一个对象的窗口状态改变时该事件发生。(例如,一个窗体被最大化、最小化或被还原。)在form1子窗体中,给出form1的信息,从mapinfo中得到WinID = CLng(MapInfo.Eval(FrontWindow() 被激活的窗体号mapHWnd = CLng(MapInfo.Eval(WindowInfo( & WinID & , & WIN_INFO_WND & )MoveWindow mapHWnd, 0, 0, Me.ScaleWidth, Me.ScaleHeight,

42、 0ActiveForm 属性返回活动窗口的窗体。如果 MDIForm 对象是活动的或者是被引用的,则所指定的是活动的 MDI 子窗体 If thereIsAMap Then 有图层打开 tbarMain.Buttons(Select).Value = tbrPressed MapInfo.runmenucommand M_TOOLS_SELECTOR Else 没有打开一个图层, MapInfo.runmenucommand M_TOOLS_SELECTOR End If Call UpdateMenuAndToolbar(True) ActiveForm.Caption = 初始地图 +

43、Map更新工具栏,菜单栏设置鼠标状态,打开地图 关闭ABOUT窗体关闭VB与MapInfo的连接,否则VB程序不能关闭Public Sub ShutdownMapInfoConnection()MapInfo.runmenucommand M_FILE_CLOSE_ALL 全部关闭MAPINFOIf Not (MapInfo Is Nothing) Then MapInfo.SetCallback Nothing 返回值为空End IfSet MapInfo = NothingSet theResponder = NothingEnd Sub释放空间,断开链接二菜单功能介绍文件新建表 因为整个

44、地图是由表构成的,作为GIS的基本功能,应该有在地图上添加新层的功能。新建表就是可以根据用户的需求,可以在已经存在的电子地图上添加新的图层。这里用到的是MapInfo中的功能,在VB中定义了一个MapInfo的功能模块,可以通过.runmenucommand 语句调用。Global Const M_FILE_NEW = 101 MapInfo.runmenucommand 101打开表 打开已经存在的表打开工作空间 打开已经存在的工作空间。工作空间是一些表的集合,因为电子地图很少有全部在一张表上的,都是要分成一些图层,便于管理和操作。工作空间就是将这些表以.WOR的格式保存起来,可以通过打开工

45、作空间,直接将定义好的地图打开。关闭表 可以选择想要关闭的表MapInfo.runmenucommand M_FILE_CLOSE全部关闭 将整个工作空间中的表全部关闭MapInfo.runmenucommand M_FILE_CLOSE_ALL保存表 保存新建立或刚修改过的表MapInfo.runmenucommand M_FILE_SAVE另存表 将已经存在的表保存在其他位置或想改变名称时使用的MapInfo.runmenucommand M_FILE_SAVE_COPY_AS保存工作空间 保存新的工作空间MapInfo.runmenucommand M_FILE_SAVE_WORKSPA

46、CE保存图像 将图像保存为栅格形式(BMPJPG等)打印设置 设置图片属性MapInfo.runmenucommand M_FILE_PAGE_SETUP打印 打印输出栅格图片MapInfo.runmenucommand M_FILE_PRINT退出 退出系统Unload Me信息检索世博园内景点场馆的图形和文档资料,再次功能出可以进行添加、删除、查询。查询选择显示对象 通过SQL查询,在地图上显示所查信息。查找 该功能是MapInfo中的功能,应用此功能的前提是要对象要查找的表设定索引。索引是在建立表的时候确定的,也可以通过表结构的维护添加进去。对于整个地图中的图层,只有设立索引的表中的某些

47、项目可以进行查找。定位搜索 自定义的一个查询功能,因为对于大多数人来说,可能不具有SQL等查询语句的知识,为了便于更多人的使用,添加了该功能。用户可以输入场馆名称和想要搜索的部门,比如:北京 水源。点确定后,就会显示出北京属于哪个地区管辖,以及该管辖区的联系方式,在地图上也会标注出具体的位置。该功能可以说实现了空间位置查询和非空间的数据查询。在后面的章节中将会详细写出。表转入 可以转入其他各式的文件,本系统就是通过该功能,将CAD图转入的。调用的是MapInfo模块中定义的语句,有效地实现转入功能MapInfo.runmenucommand M_TABLE_IMPORT转出 该功能也是为了系统

48、可以为更多的软件所应用而设立的,在该系统中确定好的电子地图,可以通过转出功能,为3D等软件提供地图资料,完成三维的地理信息功能。维护 其中包括的功能有表结构、删除表、更新表名。都是对已存在的表进行修改和维护所用的,因为系统要完成空间的数据查询,就必不可少的需要对表中的信息进行检索查询。对于杂乱无章的表在检索时是相当不便的,为此,该功能的选择就是使用户可以根据情况调整表中的信息,便于空间数据的查询。地图图层控制 对于想要显示的图层进行控制,可以通过该功能实现图层的显示与隐藏;装饰层的打开与关闭;图层在被放大到多少倍时显示等MapInfo.runmenucommand M_MAP_LAYER_CO

49、NTROL图 3- 2图层控制改变视图 可以对现在展现的地图的大小按比例放大缩小,还可以制定中心位置图 3- 3改变视图前一视图 可以说是对前一动作的撤销,对地图的编辑觉得不满意可以通过此步将前一视图的情况返还回去查看整个图层 选择想要查看的图层,在下拉菜单中会显示出电子地图(工作空间)中所有的表,用户可以根据需要进行选择图 3- 4查看整个图层窗口新建浏览窗口 是运用到子窗体的一个功能,在一个父窗体中可以同时打开几个子窗体。再不关闭电子地图的同时,打开了一个表,可以查看表中的信息。这样对于图文对比是很有帮助的。横向平铺和纵向平铺 是针对打开多个子窗体时才会用到的功能,将多个子窗体以横向或纵向

50、的方式,展现在一个父窗体中。工具工具栏 显隐工具栏工具栏包括了常用的功能键:有对地图显示操作的、有编辑图层和表的、有绘制地图用的还有热链接键。1.选择2.移动3.放大4.缩小5.框选6.标尺7.图层控制1.新建表2.打开3.打印设置1.标注2.线3.折线4.弧线5.不规则图形6.圆7.矩形8.文字标注1标注类型2线类型3面积类型4文字类型热链接符号状态栏 显隐状态栏状态栏中包括的信息有:缩放比(显示当前地图的缩放比例)编辑图层(显示当前是否有编辑的图层)时间(当前时间)链接热链接(到图) 在地图上选择点,可以显示出该点的信息。即:该点在表中的信息。如果该点设有图片、文档等连接,点击之后会自动打

51、开链接的信息。视频 可以弹出窗体,播放设定好的视频文件。图片浏览 此处浏览的是园内场馆的图片,以滚动条的形式在窗口逐个显示,点击其中的一张图后,会见该图放大到实际像素,再次点击,又会返回滚动条形式。最短路经输入两点的名称,可以找到他们之间的最短路径,在应急预案重视很有用的功能,在最短的时间内到达事发现场,是及时解决突发事件的前提。三.快捷键直接调用MapInfo的功能到VB中的话,会默认MapInfo软件的右键功能,但在实际的应急系统中用处不是很大,因为它不像MapInfo是一个以作图为主要操作的软件,而是通过地图能够直观的搜索到相关信息,及时地对突发事件做出响应,所以直接引用MapInfo的

52、右键虽然在功能实现上很简单,但是对本系统不实用。重新设计了右键的基本功能:选择(用于对地图的信息进行选择)、漫游(网络电子地图上经常出现可移动地图功能)、放大、缩小(有效的对地图中想要查看的信息进行适当的缩放)、图层控制(MapInfo中的一个基本功能,可以对图层进行编辑)、显示所有图像(因为整个世博园的面积是相当大的,可能再作其他操作后,对地图的大小和位置都发生了一定的变化,该功能就可以将想要查看的图层完全展现在视图中)、清除装饰层(因为在一般情况下,是不会对原始地图进行修改的,但在查询过程中难免要添加一些标注或文字,系统默认的是加在装饰层上,这样既不会破坏原始资料又可以便于用户的使用,所以

53、有必要添加此功能,是为了清除装饰层中的信息) 前 后图 3- 5鼠标右键截图功能代码: MapInfo.Do Create ButtonPad Custom Tools As ToolButton ID 2001 DrawMode 34 Cursor 138 Calling OLE HandleToolButton & ToolButton ID 2002 DrawMode 34 Cursor 138 Calling OLE HandleToolButton MapInfo.Do Create Buttonpad Callback As Toolbutton ID 2001 DrawMode

54、34 Cursor 138 Calling OLE QueryTool MapInfo.Do Create Menu MapperShortcut ID 17 As & _ 选定 Calling OLE HandleMenuSelection, & _ (-, & _ 移动 Calling 1702, & _ 放大 Calling 1705, & _ 缩小 Calling 1706, & _ (-, & _ 图层控制. ID 1001 Calling OLE HandleMenuSelection, & _ (-, & _ 前一视图 ID 1006 Calling OLE HandleMenu

55、Selection, & _ 查看整个图层. ID 1007 Calling OLE HandleMenuSelection, & _ (-, & _ 清除装饰图层 ID 1002 Calling OLE HandleMenuSelection 在上部分代码中出现的ID号有的是MapInfo中自定义好的功能,有的就需要开发者自定义。DrawMode 34 Cursor 138是定义的鼠标样式和大小。在类模块中的定义代码:Public Sub HandleMenuSelection(ByVal CommandInfoStr As String) Dim whichItem As Integer

56、If (Left(CommandInfoStr, 3) MI:) Then Exit Sub CommandInfoStr = Mid$(CommandInfoStr, 4, 9999) whichItem = CInt(GetField(CommandInfoStr, CMD_INFO_MENUITEM, ,) Select Case whichItem Case 1001 图层控制 If thereIsAMap Then MapInfo.runmenucommand M_MAP_LAYER_CONTROL Call EnabledMenuAndToolbar End If Case 100

57、2 清除装饰图层 MapInfo.runmenucommand M_MAP_CLEAR_COSMETIC Case 1006 前一视图 MapInfo.runmenucommand M_MAP_PREVIOUS Case 1007 查看整个图层 MapInfo.runmenucommand M_MAP_ENTIRE_LAYER End Select MapInfo.Do Run Menu Command ID 2001End SubRun Menu Command ID cmd_ID 为数字,用户自定义选单或按钮命令3.3.4难点突破在开发系统的过程中,问题经常地出现,因为该系统是跨平台的操作

58、,对于两个工具的开发和结合在操作使用中还是存在很多问题的。一设计思路不同于其他的系统开发,本系统没有一个规范的格式要求。因为国内还没有一个完整的系统,所以从开始对系统的设计,就遇到了麻烦。依据是什么?要实现什么功能?做到什么程度?让文档形式的应急预案“动起来”要怎么实现?由于网上的资料也是有限的,在策划设计方面,我们也陷入了麻烦,一直思考了很久。从原始资料到信息利用(提取)原始资料是cad图、应急预案文档。困难:图层复杂、不易管理、文档理论性强、没有实际指导性操作。整理图层,利用表中信息。文档中的框架流程图,作为系统应用的主线。系统设定的链接、定为查询功能,都是通过流程图的需求设计的。从应急预

59、案到需求分析给了13个应急预案的文档,但实际上对于系统的功能设计帮助不大,偏重理论性。基本功能的需求就是连接到数据库即可,所以在系统中设计了信息检索的功能。从界面设计到功能实现整体界面的风格,是通过查阅大量资料信息的出来的,因为没有做过相关内容的课题,在界面的选取方面还有考虑不周的地方,所以在系统开发到一半的时候发生了更换整个界面的情况。相关的工具栏、窗体属性也发生了变化。经过查阅大量的理论资料和应急预案,最终设计出了现在系统的雏形。能够实现绘图、数据库查询、地图链接、空间定位查询等等。二在VB6中使用callback 的错误想要完美的结合两个软件,就要在它们之间建立好触发和响应程序,连接好c

60、allback。将MapBasic提供的关于如何在Visual Basic 中使用CallBack的样例程序,在VB6中打开运行时,VB会报出如下的错误信息:“实时错误 98:一个属性或方法调用不能包含对一个私有对象的调用,无论是作为参数还是返回值。” 解决方法:这个错误信息完全是由用户的 VisualBasic 调试环境设置不当造成的,与MapBaic提供的程序无关。解决如下:由 “工程” “工程属性” 进入工程属性对话框,并进行如下的设置。通用:工程类型,ActiveX EXE;启动对象 Sub Main;升级ActiveX 控件。生成:删除有关未使用的ActiveX控件的信息部件:启动模式,独立方式。调试:启动工程时等待创建部件。如果用户还未在自己的工程中建立 Sub Main,则应当在模块中建立一个 Sub Main过程。三VB 和 MapBasic 变量的互相赋值尽管系统的开发平台是VB但很多与MapInfo的结合处用到的都是MapBasic语句,不同的是,想要实现MapBasic功能,就要用专门的VB调用MapBasic语言。当然,

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!