摘要:结合电力部门消防设备管理的特点,详细介绍在 Visual Basic环境下利用 GeoMa p 为某电力部门开发的消防设备管理系统,此基础上,重点阐述该系统开发过程中的数据组织工作,并论述系统的主要功能及其实现方法。
一、 问题的提出
消防工作是电力安全生产的一个重要内容 ,随着电力部门设备和管理的现代化 ,大量新的设备、 组件、 材料被广泛的应用到电力部门消防工作当中去 ,这样 ,管理这些消防设备 ,及时有效的更新消防材料成为一项复杂的系统工程。
过去 ,对消防设备、 器材的管理基本上都采用单纯的人工管理方式 ,这种方式工作量大、 耗时长、 现势性差 ,给工作和生产带来了不便 ,已经不能适应电力部门现代化管理的需要。如果能够建立一个消防设备管理系统 ,将这些消防设备的基本信息存储到计算机上 ,让计算机协助管理人员分析和处理这些繁琐的重复性工作 ,使管理人员可以即时地了解到这些消防设备器材的信息 ,为合理有效地管理这些消防设备 ,及时迅速地更新、更换消防材料提供保障 ,为火警受理、 实力调度、 预案实施提供有力的辅助决策 ,从而为电力部门的安全生产提供良好的工作环境 ,针对这一需要 ,我们为某电力部门开发了电力消防设备管理系统 ,本文将结合该系统的开发过程 ,重点阐述了该系统中所涉及的数据组织方面的工作。
二、 系统的数据组织电力消防设备管理系统在 Visual Basic 的开发环境下 ,以吉奥之星公司的基础模块 GeoMap 为开发平台 ,采用 GeoStar 的 dws 格式文件管理空间数据 ,采用 Microsof t Access 管理属性数据 ,空间数据和属性数据之间通过目标标识 OID 进行关联 ,如图1 所示。
1. 空间数据的来源电力消防设备管理系统所配套的数据格式转换工具可将多种已有的数据格式像 ESRI 的 shp 格式、 Map Info 的 mif 格式、 AutoCAD 的 dxf 格式转化成该系统所需要的 GeoStar 的 gws格式 ,同时 ,该系统可对扫描后的地图进行交互式矢量化 ,经编辑处理后直接存储为 gws格式文件。
2. 空间数据的组织GeoMap 是 GeoStar NT 版的二次开发工具 ,由一个 OL E控件( GeoMap)和一组近 20 个 OL E自动化对象构成 ,应用于标准 Windows开发环境。
在电力消防设备管理系统中 ,反映数据组织的自动化对象有 3 种:工作区对象 (Workspace) 、 地物类对象(Feature)和层对象(Layer) 。在该系统中 ,一幅厂房的平面图的范围定义为一个工作区 ,在这个工作区范围内 ,包含了厂房平面的全部空间数据。GeoMap采用 “面向对象” 的数据模型 ,在这种模型中 ,单个的地物实体为数据组织和存储的最小基本单位 ,类型相同的地物组合在一起 ,形成地物类。相同的地物类具有一些相同的属性 ,如颜色、 绘图符号等 ,并当且仅当属于同一种几何类型 ,或是点状地物 ,或是线状地物 ,或是面状地物 ,例如 ,所有的
1211 灭火器是一个地物类。为了显示、 制图和查询的方便 ,定义了逻辑层 ,例如 ,厂房的平面分布图定义为一个逻辑层。
逻辑层相当于容器的功能 ,可以被任意定义 ,而且一个逻辑层可以包含任意多个地物类 ,并且允许交叉。在电力消防设备管理系统中 ,为了制图、 查询、 显示和空间分析的方便 ,我们约定一个逻辑层只有一个地物类 ,厂房的平面分布图定义为一个地物类 ,称为底图地物类 ,同时也是一个单独的逻辑层 ,每一种消防设备定义为一个地物类 ,设计封堵部位(消防用词)定义为一个地物类 ,每个地物类都有与之对应的逻辑层 ,这样整幅图的内容抽象为以下的地物类:底图地物类、 手推式灭火器地物类、
1211 灭火器地物类、 消防栓地物类、 端子箱灭火器地物类和封堵部位地物类 ,以上地物类皆为线状地物类 ,为了查询 ,显示的方便(例如 ,当查询时 ,需要只点击到一个灭火器的附近就显示它的属性) ,又由于消防设备器材和封堵部位是消防设备管理人员最为关心的地物类 ,我们又增加了与消防设备和封堵部位相对应的面状地物类。系统中空间数据的组织如图 2 所示。
假设一个 GeoMap 对象的名称为 map ,则其中的多个工作区对应一个工作区对象集合 map.Workspaces ,每个工作区对应一个工作区对象 map.Workspaces(i) ,一个工作区上的所有地物类对应该工作区的地物类对象集合 map. Workspaces (i) . Fea2tures ,每个地物类对应于该集合中一个地物类对象map. Workspaces (i) . Features (j) ,每个对象都有它自己的属性 ,方法 ,事件 ,这样 ,通过操作这些对象就可以实现对空间数据的管理。
3.属性数据的管理由于电力消防设备管理系统需要操作和处理的数据量不大 ,采用 Microsof t Access数据库管理属性数据 ,在该系统中 ,空间数据的每个工作区对应于一个Access数据库 ,数据库中的每个表对应一个地物类的属性数据。在表中 ,每条记录对应于这一地物类中的一个地物实体的属性信息。例如 ,同一个厂房内的手推式灭火器对应描述这些手推式灭火器信息的一个表 ,每个手推式灭火器的信息都是这个表中的一条记录。
4. 空间数据与属性数据的关联目标标识(OID)是惟一连接空间数据和属性数据的关键字。在电力消防设备管理系统中 ,通过OL E DB 提供者 “Micorosof t . Jet . OL EDB. 4. 0” 利用ADO数据库访问对象实现对数据库中数据的访问和操作。在 GeoMap 中 ,每个地物类对象都有一个属性DBTableName ,该属性用于连接该地物在数据库中对应的表。
例:假设 1211 灭火器地物类对象为map. Workspaces (0) . Features (1) ,其在数据库中对应的表格的名称为 “1211 灭火器信息”,这样 ,通过赋值的形式就可以实现空间数据和属性数据的关联 ,map. Workspaces (0) . Feature (1) . DBTableName=“1211 灭火器信息”,当操作(查询 ,分析)该图幅中某个 1211 灭火器的时候 ,通过数据库访问对象对表格 “1211 灭火器信息” 进行操作 ,同样 ,也可以根据属性通过表格的关联找到相应的一个空间几何对象。改系统中空间数据与属性数据的关联如图 3 所示。
三、 系统的主要功能及其实现方法
1. 编辑功能电力消防设备管理系统可以从创建一个工作区开始 ,编辑出电力部门厂房的平面图 ,在进行编辑的时候 ,首先要获取当前要添加的地物应该在的逻辑层 ,例如 ,添加一个
1211 灭火器的图元 ,则首先要获取
1211 灭火器地物类所在的逻辑层 ,这样才能与当前地物类的属性关联起来 ,添加图元后系统自动存储 ,自动分配相应的 OID。
2. 查询功能在电力消防设备管理系统中,查询功能主要分为两种,一种根据空间对象访问属性,例如,想知道某个消防设备的名称、 购置日期、 检修时间等,这时候,系统根据选择的查询方式(主要是点查询,面查询)执行相应的落入查询、 缓冲查询,查询到地物以后,高亮化显示要查找的空间对象,返回查询对象的OID ,然后在数据库中搜索匹配当前OID 的记录,并把记录以电子表格的形式反馈给用户,见图
4。另外的一种查询方式是由属性到空间对象的查询,例如,想知道使用日期大于3年的设备,用户输入相应的参数,系统将在对应的数据库中进行搜索与之匹配的记录并返回 OID ,然后将与OID对应空间对象进行高亮化显示。
3. 显示控制由于每个地物类都可以作为一个地物类对象进行操作,这使得显示控制极为方便,用户可以根据自己关心的内容选择显示,例如,用户希望显示出所有端子箱的方位,只需要单击相应的端子箱图标,就可将当前图幅中所有的端子箱以醒目的颜色显示出来。每个地物类都有一个 FeatureVis ible属性,若要显示该地物类,只需要将这个地物的该属性设为 T rue ,反之设为 False。若需要同时重点显示同一类地物,则只需要将该地物类对象的填充色选择为相应的颜色。4. 辅助决策空间分析电力消防设备管理系统可处理一些常用的空间分析 ,例如当火灾发生后 ,可以协助分析扑火的最佳位置 ,利用缓冲区分析可以帮助消防人员分析扑火的重点等。
四、 结 论
电力消防设备管理是地理信息系统的一个新的应用领域,本文结合电力消防设备管理系统的开发过程,对系统开发中的数据组织工作进行了详细的阐述。
该系统已经投入使用,实践证明,该系统实现了电力部门消防设备的数字化管理,维护方便,极大地减轻了消防工作管理人员的工作量,为电力部门的安全生产提供了一道保障。因此,在 Visual Bas ic 环境下,采用面向对象的数据模型,以 G eoMap 为开发平