人防电子地图系统设计与实现
出处:wushtj 发布于:2011-08-23 12:38:24
摘 要: 根据国家和地方人防法规的要求,设计并实现了人防电子地图系统。MapXtreme是MapInfo公司开发的基于Internet/ Intranet的应用服务器,它具有强大的地图化功能,包括绘制专题地图、缓冲区分析、地图编辑、地图目标查找、地图显示、图层控制、空间选择、地理编码、扩展地图库和示例数据等。管理员只要在Web服务器上对MapXtreme进行编程和管理,用户就能够通过Web浏览器访问到地图信息。
随着人类社会向信息化迅速发展,人防系统已成为现代化国防建设的一项重要内容。人防工程是一种有防护要求的特殊地下建筑,其常用的分类方式有以下几种:按抗力等级划分,工程可直接称为某级人防工程;按战时用途划分,可分为指挥通讯、人员掩蔽、医院、救护站、仓库、车库等等;按平时用途可分为商场、游乐场、旅馆、影剧院(会堂)等等;从工程构筑方式划分,又分为掘开式工程和坑地道工程两大类。为了合理反映工程造价,预算定额和工程预算通常以工程构筑方式进行分类。
1 基于MapXtreme的人防电子地图系统设计
MapXtreme的工作方式总体来说是瘦客户端的工作方式,客户端看到的地图是服务端根据用户请求动态生成的某种格式的图片。MapXtreme采用的是B/S模式三层架构客户端首先向Web服务器提交HTTP请求,递交Form表单,Web服务器收到该请求后,把地图操作请求提交给地图应用服务,地图应用服务在内部调用MapXServer响应用户的操作请求,进行相应的空间分析和处理后,产生新的地图图片,返回给Web服务器,Web服务器再把该图片嵌入到HTML页面中并返回到客户端的浏览器上
1.1 系统总体架构
通过对系统的背景和设计原则的分析,考虑到要充分利用客户现有的网络环境,达到支持网络共享和并发控制,允许多个用户同时进行相关操作的需求,系统采用基于C/S与B/S混合的总体架构方案。
系统由表示层、业务层和数据层组成。针对地理空间数据量大、种类多,且用户并发请求多,网络传输量大的特点[3],将系统组网方式分为内部的局域网和连接外部用户的外网。业务层采用MapXtreme2004.NET作为应用服务器,专门负责生成和打包在网络上传输的地图信息。当MapXtreme应用服务器运行后,若接收到客户端的请求,由MapXtreme应用服务器将矢量地图通过MapX引擎转换成GIF或JPG格式的栅格图像,并生成包含图像数据的HTML代码,使用户可以通过WWW浏览器访问地图数据。由于传递到浏览器端的是一幅经过压缩的栅格地图,而真正的矢量地图和属性数据仍保留在服务器端,因此减少了网络传输负担,同时降低了原始数据被盗用的可能。
1.2 系统数据库设计
resource 数据库是一个只读数据库,包含所有SQL Server 2008的系统对象。SQL Server 2008的系统对象比如sys.object,被持久化到该数据库。master 数据库存储所有的实例级别元数据,并记录所有其它数据库的位置。tempdb 数据库存储暂时对象,这些对象只在单个语句或连接期间存在,如工作表和临时的表或存储过程。
系统数据包括空间数据和属性数据,它们通过的ID号关联。本系统对数据的管理采用文件系统和数据库相结合的混合管理方式,其中地图数据采用文件管理策略,即每一类型的地图数据都存放在一个图层文件中,对应地图对象的属性数据和人防工程数据则由关系数据库统一管理。
1.2.1 空间数据库
系统选择MapInfo格式的矢量图作为地图数据,其中属性数据存储在关系数据库的若干属性表中,而空间数据则以MapInfo自定义模式保存于若干文件中。
本设计将人防业务相关的空间数据分为图层类和专题图类:
(1) 图层类。本系统将具有相同空间几何特征和属性特征的空间对象的集合,如河流、公路、行政区域、居民地等分别存储在不同的图层中。
(2) 专题图类。某市人防电子地图系统涉及到"来袭敌情判断图"、"预防空袭部署图"、"离城人口疏散图"、"留城人员隐蔽图"、"通信警报保障图"、"物资保障计划图"和"人防工程保障图"7个预案专题图。每个专题图由多个图层构建而成。系统共有56个自定义图层数据,其中某市的地图是这7个预案专题图共享的,其余的人防业务相关图层按照其所包含的地物类别来分层组织。
1.2.2 属性数据库
属性数据库主要包括两类属性表,一类是对应于地图实体的可地图化的属性表,用于存储地图实体的属性。本系主要设计了路段属性表、连接点属性表、行政区划属性表、土地利用属性表、铁路属性表等。另一类是非地图化的常规的属性表,本系统主要有用户表、人防设施类型表、人防工程类型表、人防工程表、人防工程维修表、人防设备类型表、人防设备表、人防设备维修表、保护对象类型表、保护对象表和预案数据表等,由Oracle 9i进行管理和维护。
1.3 系统功能设计
根据系统的业务要求和设计原则,某市人防电子地图系统由人防远程子系统和人防本地子系统组成,远程子系统用B/S模式实现,本地子系统用C/S模式实现。系统功能模块设计如图1所示。

主要功能模块如下:
(1) 图形变换与图层管理:包括专题地图切换、地图缩放、鹰眼图例管理和图层添加删除等。此模块提供①缩放、平移等几何变换功能,电子地图可以按照任意比例进行放大、缩小、漫游,使用户能够详细地查看空间目标及目标的周围情况;②鹰眼功能,使用户能够把握全局;③图层、标注和图例的显示控制功能,使得用户能够专注于当前关心的目标,并且可以让显示的图形更加简洁清晰。
(2) 空间信息查询:包括空间量算、坐标查询和地物查询功能。空间量算包含距离查询和面积查询功能,其中距离查询能够得到当前地图任意连续点构成的折线的总长度,面积查询则能够得到当前地图任意多边形的面积。空间量算功能使用户能够快捷准确地得到空袭后受灾面积的大小以及救助人员及设施离受灾地区的距离。地物查询根据用户鼠标在地图上选中的实体,将与该实体相关的属性信息及多媒体信息展现给用户,能清楚查询显示任何一处人防要素及其周边环境的状况。
(3) 空间分析模块:此模块包括短路径规划和缓冲区分析功能。短路径分析功能根据用户输入的起点及终点位置的名称,规划出了两者之间连通的1条短路径,系统将在地图上予以展现,还可以根据道路状况等约束条件优化其路径,从而达到战时快速疏散、救护、维修、消防和集结等目的。缓冲区分析功能则根据用户输入的点状或线状地物名称查询其周围指定半径范围内的地物,并将符合条件的地物在地图上突出显示。
(4) 地图编辑模块:包括点状、线状和面状地物的添加、删除功能。利用GIS数据编辑技术,对人防工程、重点保护目标、人防指挥所等人防要素进行增加、删除、修改,该模块相当于一个GIS数据维护平台。
(5) 人防预案模块:包括预案查询、预案管理和预案评估。将所有人防预案集成到一个统一的平台,方便战时或演习时调用。
(6) 专题制图:用于制作专题地图和电子沙盘,包括二维数据网格化、三角网等值线嵌入、地形图三维显示、地形图栅格图像生成、预案套图制作与查询。
2 人防系统的关键问题及实现
2.1 短路径查询及其优化
根据某市人防电子地图系统的实际需求,短路径查询有时要求距离短、有时要求时间短,且道路或桥梁有可能被炸毁而不能通行,这使得道路的正向、反向权值不是固定值,需随着应用背景的变化而更新。因此,进行短路径分析时,若要求距离短,则可以直接利用路段的正向、反向权值进行计算;若要求时间短。然而,无论按时间还是距离查询短路径,其实还是一个单源单目问题,可以使用经典的Dijkstra算法[4]并加以优化。
在本系统中,首先将现实中的道路网络实体抽象化为网络图论理论中的网络拓扑图,交叉路口为结点,道路为边,道路长度为权值;其次,获取起始点名与终止点名,并对输入的始末点名,通过在道路结点表中查询的点的名称,得到始末点的结点NODE_ID;再次,将道路结点集与道路弧段集作为Dijkstra算法中的参数,计算从出发点到目的点的短路径的结点序列;,将返回结点序列即路径在电子地图上高亮显示。
在短路径查询的实际应用中,本系统从以下两方面进行了优化:
(1) 初始化始末点时,若该点不是道路结点,则一般的处理是遍历道路结点表,查询离该地物点近的道路结点作为起始点。由于道路结点数据量太大,这种方法不仅效率低,且对于某些特殊的地物点会出错。比如某点A,若离它近的道路较长,则该道路的端点离A就比较远,继而选择的是另一条端点离A近的道路,而实际上该选择结果并不是离A近的道路。为了解决这两个问题,系统在初始化始末点时,不是以道路结点为参照,而是将道路层单独提练出来。设定某个距离值为半径画圆,若该圆与某条道路有交点,则说明此道路为离该点近的道路,从该点向道路作垂线,即为该点的第1条路线;若没有交点,则按某个设定值继续扩大半径搜索,直至查询到近道路为止。这种优化方法,一方面解决了某些对特殊地物点进行短路径查询时可能出现的错误;另一方面也提高了查询的效率。在实际情况中,道路结点数据量大,而采用优化方法后只需进行几次循环查找即可。
(2) 由于每次做路径查询时都需要将所有道路结点和道路弧段的集合构建道路拓扑网络,但道路网络的数据量非常大,而且该拓扑关系是不会改变的,所以原有的短路径查询功能在构建路网拓扑关系时做了大量重复的工作。为提高短路径查询过程的效率,在系统初始化过程中,避免了道路拓扑网络的重复生成。优化后的短路径查询的工作流程如图2所示。

本文将系统重构为基于上述优化方法的电子地图系统,并选择8对相同的始末结点进行短路径查询,并与使用传统方法的系统进行比较测试,终得到如图3所示的性能测试对比图。

从图中可以看出,未经优化的电子地图系统响应时间比优化后的系统响应时间长,可见该优化在当前实验环境下,对系统性能的提升有较大的帮助。
2.2 基于MapXtreme的鹰眼技术
鹰眼是除了主视图外的一个小视图窗口,用来显示全图,并用1个矩形表示大图的地图边界。点击鹰眼窗口时,地图自动定位到相应位置,当地图视图发生变化时,鹰眼上的导航矩形框相应变化,以指示用户当前所处的位置。
鹰眼的实现思路:在同一页面表单上放置2个MapControl控件,分别为地图主窗口和鹰眼窗口,地图主窗口用于显示实际的地图,鹰眼窗口则需要将地图按合适的比例尺显示,然后在鹰眼窗口上创建1个图层,在该图层上添加1个矩形对象FeatureGeometry,该矩形的大小随着主图边界而变化。当地图主窗口中的图形被缩放或者平移之后,在鹰眼窗口已有图层中加入1个临时层,在临时层上动态生成1个红色矩形,显示地图主窗口中显示的图形在整体地图中所处的位置。
系统中鹰眼功能的具体实现步骤如下:(1)判断用户是否对主地图窗口进行了缩放或平移操作,若没有变换则鹰眼窗口内容不变,若有变换则获取主地图窗口显示的地图范围。然后创建1个矩形对象并设置其颜色和宽度属性,创建窗口样式并设置样式属性;(2)再判断鹰眼窗口的图层中是否已经存在临时图层,若存在则先清空临时图层中的所有对象;若不存在则创建1个临时图层并将临时图层加入到鹰眼窗口图层中;(3)将矩形对象插入临时图层。到此系统即完成了鹰眼窗口的地图视图变换。
2.3 人防系统的安全保证
由于本系统应用于市人防办,涉及国家安全信息,对数据安全性非常敏感,因此使用了多种安全机制保障系统的安全。
(1) 表单验证和Session机制相结合
本系统采用表单验证和Session机制相结合的方式加强登录过程的身份,即由用户以表单形式向服务器发送登录凭证,如果用户通过了服务器端的身份验证,系统的权限管理将会给用户授予一定的权限标志信息,通过Session对象跟踪本次登录的整个会话生存周期;如果用户没有通过身份验证,客户端将重定向到指定的页面。服务器可以分配给每个用户1个Session,以存储特定的用户信息,包括用户名、用户ID等。如果用户没有经过登录而直接进入页面,则Session中存放的用户信息无效,程序将重定位到用户登录界面,以防止通过网页地址而绕过登录控制的企图。
(2) 基于角色的访问控制
为了保证系统的访问安全,防止非法用户进入系统及合法用户对系统资源的非法使用,本系统采用基于角色的访问控制模型RBAC来实现。RBAC的基本思想[6]是:基于角色的访问控制作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注。在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色。角色可依新的需求和系统的合并而赋予新的权限,而权限也可根据需要而从某角色中回收。角色与角色的关系可以建立起来以囊括更广泛的客观情况。
此外,本系统还通过数据库身份验证模式和防SQL注入攻击保证了数据库的安全;使用SSL机制对客户端和服务器之间发送的消息进行加密和解密,保证系统数据通信的安全;通过采用完全备份、增量备份、系统备份3种备份方式,定期对空间数据进行备份,保证数据和使用对象都不崩溃。
3 系统实例及运行效果
人防电子地图系统采用MapInfo公司推出的MapXtreme2004组件式GIS平台作为实现地理信息存储、显示、操作等功能的二次开发平台, 以Visual Studio 2003
.net为开发工具,采用Oracle 9i作为数据库管理系统,在此基础上实现了具有GIS特点和功能的某市人防电子地图系统。图4是该系统应用于某市时系统短路径查询的功能界面。

人防电子地图系统是现代化国防建设的应用系统之一,其研发涉及地理信息系统和计算机科学领域的众多应用技术,是一项较大规模的软件开发工程。该系统不仅实现了电子地图操作的基本功能以及多种方式的信息查询,而且专门针对某市"防空袭预案"中对人口疏散、空袭后果消除等方面的要求,设计了空间量算、短路径规划和缓冲区分析等实用功能,另外还集成了人防工程信息管理系统。
目前,该系统已经在某市人防办得到了实际应用。通过用户反馈表明,该系统具有功能强大、实时性强、安全可靠、易于使用等优点,可以进行人防工程信息管理、应急指挥调度、预案管理和组织演练等,不但能够满足该市在战时组织防空袭指挥的需求,也能为平时防灾、救灾等城市应急管理工作提供技术平台和决策支持。
下一篇:基于zigbee在定位系统中应用
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 什么是氢氧燃料电池,氢氧燃料电池的知识介绍2025/8/29 16:58:56
- SQL核心知识点总结2025/8/11 16:51:36
- 等电位端子箱是什么_等电位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重复控制的复合控制策略2025/7/29 16:58:24
- 什么是树莓派?一文快速了解树莓派基础知识2025/6/18 16:30:52









