摘 要: 选用组件式GIS技术,采用地理信息系统组件MapX 5.0和高级语言VB 6.0开发校园救护系统。采用Dijkstra算法,实现校园救护系统中最短路径的选择,结合可视化编程环境(Visual Basic)实现了该软件平台。该校园救护系统的实施,缩短了赶往救护现场的时间,提高了救护的效率。
关键词: Dijkstra; MapX; 数据库; 路径优化
地理信息系统GIS(Geographic Information System)是指采集、存储、管理、处理及分析地理信息的软件系统。它是一种特定的十分重要的空间信息系统,是在计算机硬、软件系统支持下,对空间相关数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。地理信息系统技术(GIS)在我国已经广泛应用,在资源环境及设施的管理和规划中发挥着日益重要的作用。
在各大高校中,校园救护系统已是每个学校必备的救护系统,为学校各种紧急突发的安全事故进行救护,要求救护人员能及时到达现场,这需要对前往现场的道路进行选择,以最短时间内到达现场。但在以往的校园救护方面,路径选择往往是凭个人经验,并没有达到救护的及时性。
GIS的特点在于空间信息直观、丰富、生动。信息表现更为多样化;空间信息查询检索方便;用户界面灵活方便、交互性强[1]。GIS系统在维护公共卫生安全、提供后勤保障以及现场伤员救助方面发挥着重要作用。本文基于GIS技术,主要讨论了采用Dijkstra算法得到最优路径后,结合MapX组件技术,将路径的道路状况、道路属性更直观地显示给救护人员,大大提高了救护系统的效率,确保在最短时间赶到现场进行救护。
1 校园救护信息系统的建立
一般来说各大高校的地理系统比较庞大,道路的繁多使选择范围加大,但同时也需要结合道路的具体属性信息来选择。例如有的道路只允许单行,有的道路不允许机动车辆通过,有的道路在学生下课时会出现拥堵状况,且各道路的速度限制等各种属性。
1.1 校园救护系统的总体框架
通过救护中心的属性数据库和校园道路的空间数据库的统计, 救护系统的结构框架以及实现的功能如图1所示。
1.2 校园救护系统的功能设计
校园救护系统主要基于属性数据库和空间数据库并且结合MapX技术而实现各种功能模块,这些模块的功能基本满足了系统需求,如图1所示。这些功能模块主要有数据库管理模块,用来管理日常的救护中心救护人员和救护车辆等信息;地图显示和控制模块,显示地图以及对地图的放大、缩小、漫游等基本操作;查询更新模块用来查询地图中的某个道路或某个地点、添加图元;信息输入模块是输入起始点和到达点,查找到最短路径所经过的各个节点以及总长度。
2 路径优化算法
2.1 Dijkstra算法
Dijkstra算法是有代表性的最短路径算法,其基本思想是,设置两个顶点集合S和T=V-S,集合S中存放已找到最短路径的顶点,集合T存放当前还未找到最短路径的顶点,通过顶点集合S并不断地作中心选择来扩充这个集合。一个顶点属于集合S当且仅当从源到该顶点的最短路径长度已知。
2.2 Dijkstra算法的实现
初始时,S中仅含有源。设u是G的某一个顶点,把从源到u且中间只经过S中顶点的路径称为从源到u的特殊路径,并用数组dist记录当前每个顶点所对应的最短特殊路径长度。Dijkstra算法每次从V-S中取出具有最短特殊路长度的顶点u,将u添加到S中,同时对数组dist作必要的修改。
一旦S包含了所有V中顶点或无通路为止,dist就记录了从源到所有其他顶点之间的最短路径长度。本文在Visual Basic编程环境下实现算法,图2和图3分别为最短路径的实现方法和最短路径输出方法的流程图。
3 救护系统的实现
3.1 数据库的建立
救护系统的数据来源主要包括校园的道路图件数据和属性数据资料。
道路图件数据库即是校园地图,包括点状要素、线状要素和面状要素,以TAB表形式存储。其中,点状要素包括各个道路交叉口;线状要素主要包括各个机动或非机动车道、宿舍之间的路线等;面状要素包括教学楼、 操场、食堂和植被等,可直接用于建立空间数据库。
根据模块的设计,属性数据库的设计以Access存储属性数据,属性数据库的设计包括:车辆表、救护人员信息表、道路信息表、道路节点表等相关表,每个表列出了所需的具体信息的字段。
3.2 数据库的访问
属性数据库主要是通过Access数据库建立的,通过对图层的分层后为所需的图层赋予相应的属性表。在Visual Basic集成环境下通过ADO 控件连接访问属性数据库,利用MapX控件编程访问空间数据库,将救护系统应用模型集中在一起,统一管理,用户界面使用VB设计的基于Windows的图形界面,可以方便地实现地图的漫游、缩放、信息输入、道路查询等基本操作。
3.3 界面
图4为救护系统实现后运行的一个显示地理信息的操作界面,该界面主要实现路径的选择、显示路径的详细信息以及对地图实现放大、缩小、漫游、查询等操作。
本文在Visual Basic编译环境中利用Dijkstra算法实现了最短路径的选择,获得的最短路径的属性数据得以显示,提供了及时且更直观的校园救护系统的信息来源,实现远程指挥和监控的功能,在救死扶伤和挽救生命上发挥重要的作用。同时可以将该技术应用到其他的领域,如城市交通、对车辆运行数据的处理等,可以帮助交通系统更好地提高效率,节省资源。
参考文献
[1] 林春,王波,贺贵嘲. 利用Mapx实现的组件式GIS技术[J].计算机工程,2002,28(5):1-3.
[2] 郝伟,刘万青.基于GIS的救护车辆最短路径算法[J].计算机应用,2008,28(22):1-3.
[3] 李根强,斜月娥,吴蓉晖,等.数据结构(C++版)[M].北京:中国水利水电出版社,2005:164-165.
[3] 张萍,陈清国,赵文光. 基于MapInfo 的住宅小区物业管理信息系统研究[J]. 地理空间信息,2008,6(6):2-3.
[4] 李明峰,朱振宇,谈俊忠.基于MapX的校园地理信息系统[J]. 南京工业大学学报,2007,29(1):2-4.
[5] 武俊红,孙久运,周兴付.基于MapX的报业信息管理系统的设计与实现[J].海洋测绘,2006,26(5):2-3.