一种基于保安巡逻gps轨迹的区域安防态势分析方法

文档序号:6430123阅读:118来源:国知局
专利名称:一种基于保安巡逻gps轨迹的区域安防态势分析方法
技术领域
本发明涉及全球定位系统(GlcAal Positioning System,GPS)、地理信息系统 (Geographic Information System, GIS)和计算机软件新技术,具体为一种基于GPS轨迹的保安巡逻安全态势分析方法。
背景技术
为了确保校园、社区等环境的安全、有序,预防和减少校园事故的发生,有效地采取措施,积极谋划,精密部署,突出责任,力求落实是保安巡逻相当重要的方面。如何进行精密部署、突出责任是积极谋划的关键问题,其依据来源于当前保安巡逻的安全态势分析结果。目前,校园、社区等环境安全态势分析都是基于经验值的判断和推理分析,由于过于依赖于用户掺杂了个人因素,因此,安全态势分析结果均有很大程度上的主观和偏见性,缺少一定的客观公正性。随着GPS、GIS及计算机技术的飞速发展,提出基于高科技的基于GPS 轨迹的保安巡逻安全态势分析新方法是非常必要和具有重要意义的。GPS是英文Global Positioning System (全球定位系统)的简称。用户设备部分即GPS接收机可以进行定位计算,计算出用户所在地理位置的经纬度、高度、速度、时间等信息。目前各种类型的接收机体积越来越小,重量越来越轻,便于野外观测使用。GPS设备的使用可记录使用人员的行走轨迹,以每3或5秒的频率保存轨迹点的经纬度、高度、通过速度和时间数据并可导出指定格式的文件保存,这些完备的时空数据可用来做绩效考核统计分析和挖掘更深层次信息。GPS设备的便携性和低成本以及定位记录轨迹位置的功能,使得成为获得对保安巡逻人员进行监督和历史巡检状况统计分析的数据来源的得力工具。GIS是英文Geographic Information System(地理信息系统)的简称,具有空间数据的获取、存储、显示、编辑、处理、分析、输出和应用等功能,是一个基于数据库管理系统 (DBMS)的分析和管理空间对象的信息系统。该技术是读取GPS轨迹数据并对其做分析处理显示的关键技术,易于高效直观地生成历史巡检状况地图用以保安巡逻安全态势分析。综上所述,基于GPS轨迹统计分析保安巡逻历史状况,客观公正地反映校园、社区等环境安全态势,为客观公正的保安人员的分配和巡逻任务部署做出辅助决策。因此,基于 GPS轨迹的保安巡逻安全态势分析的研究是技术发展趋势下面向实际应用的一种新方法。

发明内容
鉴于以上所述问题,本发明引入一种基于GPS轨迹的保安巡逻安全态势分析新方法,即读取GPS轨迹记录仪该硬件设备收集的轨迹数据,并对海量数据进行挖掘,通过时空数据关联分析、分布规律分析和统计分析等,获得巡逻圈数、巡逻区域每圈的时间间隔、巡逻弱势点和巡逻强势点等信息,在此基础上借鉴GIS技术的分析、处理和显示功能,形象直观地反映保安巡检安全态势分析情况,为巡逻的人员分配和任务部署等做出辅助决策。一种基于保安巡逻GPS轨迹的区域安防态势分析方法,硬件包括GPS轨迹记录仪和计算机硬件;方法的实现分为如下五步
(1)随机选择GPS巡逻轨迹中K个轨迹点;(2)将GPS轨迹的所有点聚类,从K个中选择距其最近的点作为归属类划分;(3)在K个类别中重新查找中心点,以作为GPS巡逻轨迹的巡逻视点;
(4)统计通过各个巡逻视点的次数;(5)巡逻视点的通过次数小于平均值的评定为弱势点,其他为强势点。在K个类别中重新查找中心点,以作为GPS巡逻轨迹的巡逻视点是通过基于 K-Means聚类算法的安防态势分析,K个巡逻视点确定的实现代码为
List<String[]> newls = new List<String[]>();
Random ran = new Random();
int[] intarr=new int[k];
int chaju = Convert.ToInt 16(count / k);
int chu = ran.Next(5, chaju);
newls.Add((ls[chu][6] + "," + ls[chu][8] + "," + chu.ToString() + "," + Convert.ToDateTime(ls[chu][4]).ToShortDateString().Replace(’/’, '-O-ToStringO + "," + ls[chu][5].ToString() + ” ").Split(’,’));
for(inti= l;i<k; i++) {
int χ — ran.Next(i*chaju, (i+l)*chaju); newls.Add((ls[x][6] + "," + ls[x][8] + "," + x.ToString() + "," +Convert.ToDateTime(ls[x] [4]).ToShortDateString().Replace(’/’,
’-’).ToString() + ",’’ + ls[x][5].ToString() + “ ").Split('/));
}
ο统计通过各个巡逻视点的次数,以巡逻点为中心以IOm为半径画圆,依次读取GPS 轨迹点坐标信息,如果相邻两点构成的直线穿过此圆为一次,取各监测点经过次数最小值作为完成预定巡逻要求执行力指标值,代码如下if (intArealndex != -1)
{
dbldist=getDistance(Convert.ToDouble(ls[i][3]),
Convert.ToDouble(ls[i][2]), Convert.ToDouble(arrJCD[intAreaIndex,0]), Convert.ToDouble(arrJCD[intAreaIndex, 1 ]));
if(dbldist>0.01) {
arrJCD [intArealndex, 3 ]= Con vert.ToString(Convert.ToInt 16(arrJCD[intAreaIndex, 3])+ 1); intArealndex = -1;
else {
for (int η = 0; η < arrJCD.GetLength(O); η++) {
dbldist=getDistance(Convert.ToDouble(ls[i][3]), Convert.ToDouble(ls[i][2]),Convert.ToDouble(arrJCD[n,0]),
Convert.ToDouble(arrJCD[n, 1]));
if(dbldist<=0.01)
n,
Il X
e d
al e
Γ
A nt .1其中,二维数组arrj⑶读取和存储监测点信息,包括检测点的经纬度值、名称和经过次数,int类型的intAreahdex为检测点在数组的索引值,getDistance函数获得两点间折线距离。本发明有如下的优点和积极效果。
1.本发明中基于保安巡逻GPS轨迹的区域安防态势分析方法是对巡逻区域的安全保护级别实现自动化、信息化和高效化评估的一种革新;2.本发明方法实现生成了所选巡逻区域某段时间内安防信息报表,统计分析了区域的安全巡检详细指标信息的实际情况;3.本发明方法实现生成了所有巡逻人员(巡逻区域)某段时间内巡检圈数对比柱状图,形象地表现了绩效考核数据和考核实际情况;4.本发明方法实现生成了某单个巡逻人员(巡逻区域)某段时间内巡检圈数变化折线图,直观地;5.本发明方法实现了地图上显示巡逻视点的巡检次数情况,形象直观地表现了巡逻区域安防弱势点和强势点的分布。


图IGPS轨迹点数据结构和折线示意图。图2保安巡逻区域安防态势分析过程示意图。图3保安巡逻管理系统软硬件结构框架示意图。图4基于K-Means聚类算法的保安巡逻视点巡检次数提取过程图。图5所选保安人员在巡逻区域内某段时间内区域安防信息报表。图6所有保安人员在巡逻区域内某段时间内巡检圈数对比柱状图。图7某单个巡逻人员在巡逻区域内某段时间内巡检圈数变化折线图。图8所选巡逻区域安防态势分析巡逻视点弱势点分布图。
具体实施例方式本发明中涉及到两项硬件设备GPS轨迹记录仪和计算机硬件。计算机硬件的配置包括,处理器=Pentium III-600兆赫兹(MHz)兼容或更快的处理器,内存512兆(MB)内存或更多,硬盘容量大约需要IGB可用硬盘空间,显示器支持1,(^4χ768分辨率或者更高性能的视频显示卡和监视器。软件环境包括两部分(1)开发环境有Microsoft Visual Studio 2008、ESRI ArcGIS Engine9. 3. IRuntime and Developer Kit for Windows 禾口 ESRI ArcGIS Desktop SDK for the Microsoft. NET Framework。(2)运行环境,操作系统 Windows2000/ffindows XP简体中文操作系统及以上;支持软件Microsoft. NET Framework 3 · 5 οGPS轨迹记录仪中的文本数据是从串口中读出的,每次读出一行,一般情况下,一秒种能收到多行数据,有效数据以$GP开头,分为$GPGGA、$GPGSA、$GPGSV、 $GPRMC. . . $GPGGA是GPS定位的主要数据,通过解析它得到经度、纬度、海拔高度、时间、卫星使用情况等基本信息,其中每项用逗号分隔,共十四个逗号,举例如下$GPGGA, 064746. 000,4925. 4895,N, 00103. 9255,Ε, 1,05,2. 1,-68. 0,Μ, 47. 1,Μ,, 0000*4F$GPGGA (语句标识头),064746. 000 (UTC 时间),4925. 4895 (纬度),N(纬度半球), 00103. 9255 (经度),E (经度半球),1 (定位质量指示),05 (使用卫星数量),2. 1 (水平精确度),"68. 0 (海拔高度),M (高度单位),47. 1 (大地水准面高度),M (高度单位),(差分 GPS数据期限),0000 (差分参考基站标号)*4F (校验)(结束标记回车换行)。
本发明的基础是引入基于保安巡逻GPS轨迹的区域安全态势分析方法,即通过分析统计GPS轨迹数据生成巡逻区域安全态势分布图和巡逻详细信息报表的通用模块,提供了一种全新的形象的直观地分析巡逻区域安全态势的新形式。具体软硬件结合的操作过程描述如下(1)通过应用软件中的读取设备来获取原始GPS数据,即通过计算机串口读取 GPS轨迹记录仪,保存其中的数据为CSV格式到本地计算机硬件存储空间内,实现的原理如上段所述;( 通过应用软件中的添加轨迹将计算机硬件上存储的CSV文件添加到软件中, 即通过浏览本地CSV文件,来读取CSV文件中每一个轨迹点,轨迹点信息内容包括INDEX、 TRACK NUM、UTC DATE、UTC TIME、LOCAL DATE、LOCAL TIME、LATITUDE、N/S、LONGITUDE、E/ W、ALT ITUDE和SPEED共12项,分别表示自动索引值、轨迹记录号、UTC日期、UTC时间、当地日期、当地时间、经度、北/南、维度、东/西、高度和速度,分析轨迹点时空信息和速度信息等可获得绩效考核指标值,且每个CSV文件按照日期分割成子轨迹段。安全态势评定的参数值有很多,比如巡逻区域的巡检圈数、巡逻区域每圈的时间间隔、巡逻弱势点和巡逻强势点,以及巡检范围覆盖整个校园或社区范围的百分比和各个巡逻区域交叉(重叠)范围比率。针对每个安全态势分析指标参数设计其表现形式有所选巡逻人员(巡逻区域)某段时间内巡检圈数详细信息报表、所有巡逻人员(巡逻区域) 某段时间内巡检圈数对比柱状图、某单个巡逻人员(巡逻区域)某段时间内巡检圈数变化折线图、巡逻视点巡检次数信息报表和巡逻弱势点及强势点分布图等五种形式。保安巡逻安全态势分析是详细分析巡逻区域的保安人员巡检状况,查看巡逻区域被巡逻的安全级别是否有无漏洞的得力帮手。管理者可随时查看巡逻人员(巡逻区域)某段时间内巡逻圈数详细信息报表和巡逻视点巡检次数信息报表,安全态势分析图表地图是报表的直观表现形式,所有巡逻人员(巡逻区域)某段时间内巡检圈数对比柱状图、某单个巡逻人员(巡逻区域)某段时间内巡检圈数变化折线图和巡逻弱势点及强势点分布图是报表数据的可视化表达。多形式安全态势分析非常方便管理者对巡逻区域进行安全态势分析,有效的提高区域的被保护程度和安全级别。以上五种形式的安防态势分析的实现主要分为如下五个步骤1)读取对应某个巡逻人员(巡逻区域)某时间的GPS轨迹CSV文件,获取其包含的坐标点的经纬度、经过时间和经过速度等信息;2)通过空间聚类算法、基于时空特征的统计分析方法和时空数据挖掘的基本算法等提取巡检圈数、巡逻区域每圈的时间间隔、巡逻视点的通过次数等信息存入数据库中;幻接收用户提交查询的巡逻人员(巡逻区域)和时间段,并生成选择条件筛选数据库表中的记录;4)利用筛选的数据,结合控件如DataGridView数据显示控件、 kdGraph画图控件和ArcGIS Engine MapControl等控件的使用,生成形象直观的报表、柱状图或者折线图力)选择CSV文件结合GIS技术在地图上显示巡视点的通过次数等信息, 构造弱势点和强势点分布图。根据保安巡逻轨迹提取信息的不同,以C#编程实现从CSV形式的GPS轨迹文件中获取巡检圈数、巡逻区域每圈的时间间隔、巡逻视点的通过次数和弱势点强势点评定等为例,过程说明如下一、保安巡逻轨迹中巡检圈数信息的获取方法巡检圈数的提取主要基于轨迹数据的时空变化特征统计分析获得。需满足的时空特征约束条件包括如下三个首先,轨迹方向特征的变化,巡逻区域每圈必须发生在大于90度小于180度的方向变化情况下;其次,排除折返现象,折返的特征是短距离的两次方向变化;最后,方向变化特征发生点需在起始点和结束点才有效,凡是远离起始点和结束点的方向变化不能算做巡逻一圈。二、保安巡逻轨迹中巡逻区域每圈时间间隔信息的获取方法巡逻区域每圈的时间间隔的获取是以巡检圈数为基础的。在每次增加巡逻区域圈数时记录下时间,这样就可以确定巡逻区域每圈的时间间隔。分析时间间隔不仅可以对比判断出巡逻过程中的特殊情况,还可以量化地分析保安巡逻轨迹。三、保安巡逻区域安防态势分析中弱势点和强势点评定的方法K-Means空间聚类算法是评定保安巡逻区域安防态势分析中弱势点和强势点的核心方法。该方法的实现分为如下五步(1)随机选择GPS巡逻轨迹中K个轨迹点;( 将GPS 轨迹的所有点聚类,从K个中选择距其最近的点作为归属类划分;(3)在K个类别中重新查找中心点,以作为GPS巡逻轨迹的巡逻视点;(4)统计通过各个巡逻视点的次数;(5)巡逻视点的通过次数小于平均值的评定为弱势点,其他为强势点。基于K-Means聚类算法的安防态势分析中K个巡逻视点确定的实现代码
List<String[]> newls = new List<String[]>();
Random ran — new Random();
int[] intarr=new int[k];
int chaju = Convert.ToInt 16(count / k);
int chu = ran.Next(5, chaju);
newls.Add((ls[chu][6] + "’” + ls[chu][8] + ”," + chu.ToString() + "," + Convert.ToDateTime(ls[chu][4]).ToShortDateString().Replace(7, '-O-ToStringO + "," + ls[chu][5].ToString() + “ ").Split(’,')); for (inti = l;i<k; i++)
{
int χ 二 ran.Next(i*chaju, (i+l)*chaju); newls.Add((ls[x][6] + "," + ls[x][8] + "," + x.ToString() + "," +Convert.ToDateTime(ls[x][4]).ToShortDateString().Replace(V',
’-').ToString() + "," + ls[x][5].ToString() + “ ").Split( ,’)); }步骤4的巡逻视点的巡检次数计算的实现是以巡逻点为中心以IOm为半径画圆, 依次读取GPS轨迹点坐标信息,如果相邻两点构成的直线穿过此圆则说明经过该巡逻点一次。取各监测点经过次数最小值作为完成预定巡逻要求执行力指标值。代码如下
if (intAreaIndex != -1) {
dbldist=getDistance(Convert.ToDouble(ls[i][3]),
Convert.ToDouble(ls[i][2]), Convert.ToDouble(arrJCD[intAreaIndex,0]), Convert.ToDouble(arrJCD[intAreaIndex, 1 ]));
if(dbldist>0.01)
{
arrJCD [int Arealndex, 3 ]= Convert.ToString(Convert.ToInt 16(arrJCD[intAreaIndex, 3]) + 1); int Arealndex = -1;
else
for (int η = 0; η < arrJCD.GetLength(O); η++) {
dbldist=getDistance(Convert.ToDouble(ls[i][3]), Convert.ToDouble(ls[i][2]),Convert.ToDouble(arrJCD[n,0]),
Convert.ToDouble(arrJCD[n, 1]));
if(dbldist<=0.01) {
intArealndex = n; 其中,二维数组arrj⑶读取和存储监测点信息,包括检测点的经纬度值、名称和经过次数等,int类型的intAreahdex为检测点在数组的索引值,getDistance函数获得两点间折线距离(公里)。
下面结合附图,详细说明本发明的具体实施方式
。GPS设备每隔3或5秒存储的轨迹点数据项有INDEX,TRACKNUMBER, UTC DATE,UTC TIME,LOCAL DATE,LOCAL TIME,LATITUDE,N/S,LONGITUDE,E/W,ALTITUDE 和 SPEED 等,读取轨迹csv格式文件在地图上显示为折线路径图如图1所示,这是利用GPS设备记录的轨迹数据进行保安巡逻区域安防态势分析的基础。该保安巡逻安防态势分析方法的核心是读取 GPS轨迹数据统计分析获得区域安防态势影响因素值,如巡检圈数、巡检每圈区域的时间间隔、巡逻视点巡检次数以及弱势点和强势点的分布图等,进而生成报表图表及地图显示,其过程示意图如图2所示。保安巡逻管理系统软硬件结构框架示意图如图3所示,在软硬件结合的前提下利用该方法来实现图2的区域安防态势分体过程。简而概括该方法的信息提取处理框架如图3所示。首先,读取对应某个巡逻人员 (巡逻区域)某时间的GPS轨迹CSV文件;然后,分别根据K-Means空间聚类算法和轨迹的方向变化时空特性来提取巡逻视点、巡逻视点巡检次数和巡检圈数、巡检区域每圈的时间间隔等信息;正如上面的保安巡逻轨迹中巡检圈数信息的获取方法、保安巡逻轨迹中巡逻区域每圈时间间隔信息的获取方法和保安巡逻区域安防态势分析中弱势点和强势点评定的方法所述;最后,将输入的巡逻人员(巡逻区域)和时间信息以及该保安巡逻轨迹提取的区域安防信息值,添加到数据库记录中。其中,基于K-Means聚类算法的保安巡逻视点巡检次数提取过程如图4所示,主要实现步骤见上述方法二。所选巡逻人员(巡逻区域)某段时间内巡逻区域安防信息报表生成如图5所示, 首先,接收用户提交查询的巡逻人员(巡逻区域)和时间段;然后,筛选数据库表中符合选择条件的记录;最后,结合DataGridView数据显示控件,将符合条件的巡检圈数、巡检时间间隔、巡检次数和弱势点强势点位置信息等显示成报表形式。所有人员(人员)某段时间内巡逻区域巡检圈数对比柱状图生成如图6所示,首先,接收用户提交查询的时间段;其次, 筛选数据库表中符合选择条件的记录;再次,对记录按照巡逻人员(巡逻区域)进行巡检圈数的求均值;最后,结合kdGraph画图控件,以时间段内所包含日期为横坐标,以各个巡逻人员(巡逻区域)的巡检圈数为纵坐标显示柱状图。某单个巡逻人员(巡逻区域)某段时间内巡逻区域巡检圈数变化折线图生成如图7所示,原理类上。首先,加载巡逻区域的地图;其次,在轨迹列表中选择要查看的轨迹CSV文件名; 再次,读取CSV数据添加轨迹折线图层;最后,添加巡逻视点巡检次数等信息标注等,添加在地图上显示,巡逻视点的巡检次数与平均巡检次数的比较,构成了弱势点和强势点分布, 图8所示弱势点分布情况。
权利要求
1.一种基于保安巡逻GPS轨迹的区域安防态势分析方法,硬件包括GPS轨迹记录仪和计算机;其特征在于(1)随机选择GPS巡逻轨迹中K个轨迹点;(2)将GPS轨迹的所有点聚类,从K个中选择距其最近的点作为归属类划分;(3)在K个类别中重新查找中心点,以作为GPS巡逻轨迹的巡逻视点;(4)统计通过各个巡逻视点的次数;(5)巡逻视点的通过次数小于平均值的评定为弱势点,其他为强势点。
2.根据权利要求1所述的一种基于保安巡逻GPS轨迹的区域安防态势分析方法,其特征在于在K个类别中重新查找中心点,以作为GPS巡逻轨迹的巡逻视点是通过基于 K-Means聚类算法的安防态势分析,K个巡逻视点确定的实现代码为List<String[]> newls = new List<String[]>();Random ran — new Random(); int[] intarr=new int[k]; int chaju = Convert.ToInt 16(count / k); int chu = ran.Next(5, chaju);newls.Add((ls[chu][6] + ",” + ls[chu][8] + "," + chu.ToString() + "," + Convert.ToDateTime(ls[chu][4]).ToShortDateString().Replace(V', ’-,).ToString() + "," + ls[chu][5].ToString() + “ ").Split(’,’)); for (int i = 1; i<k; i++)int χ = ran.Next(i*chaju, (i+l)*chaju);newls.Add((ls[x][6] + "," + ls[x][8] + "," + x.ToString() + ","+Convert.ToDateTime(ls[x][4]).ToShortDateString().Replace(r,'-O-ToStringO + "," + ls[x][5].ToString() + “ ").Split(’,’));
3.根据权利要求1所述的一种基于保安巡逻GPS轨迹的区域安防态势分析方法,其特征在于统计通过各个巡逻视点的次数,以巡逻点为中心以IOm为半径画圆,依次读取GPS 轨迹点坐标信息,如果相邻两点构成的直线穿过此圆为一次,取各监测点经过次数最小值作为完成预定巡逻要求执行力指标值,代码如下if (intAreaIndex != -1){dbldist=getDistance(Convert.ToDouble(ls[i][3]),Convert.ToDouble(ls[i][2]), Convert.ToDouble(arrJCD[intAreaIndex,0]), Convert.ToDouble(arrJCD[intAreaIndex, 1 ]));if(dbldist>0.01) {arrJCD[intAreaIndex,3]-Convert.ToString(Convert.ToInt 16(arrJCD[intAreaIndex, 3]) + 1); intArealndex = -1;}}else {for (int n = 0; n < arrJCD.GetLength(O); n++) {dbldist=getDistance(Convert.ToDouble(ls[i][3]), Convert.ToDouble(ls[i] [2]),Convert.ToDouble(arrJCD[n,0]),Convert.ToDouble(arrJCD[n, 1]));if(dbldist<=0.01) {intArealndex = n;}}}其中,二维数组arrJCD读取和存储监测点信息,包括检测点的经纬度值、名称和经过 次数,int类型的intAreahdex为检测点在数组的索引值,getDistance函数获得两点间折 线距离。
全文摘要
本发明公开了一种基于保安巡逻GPS轨迹的区域安防态势分析方法,硬件包括GPS轨迹记录仪和计算机,即读取GPS轨迹记录仪该硬件设备收集的轨迹数据,并对海量数据进行挖掘,通过时空数据关联分析、分布规律分析和统计分析等,获得巡逻圈数、巡逻区域每圈的时间间隔、巡逻弱势点和巡逻强势点等信息,在此基础上借鉴GIS技术的分析、处理和显示功能,形象直观地反映保安巡检安全态势分析情况,为巡逻的人员分配和任务部署等做出辅助决策。
文档编号G06F9/44GK102306096SQ20111022329
公开日2012年1月4日 申请日期2011年8月5日 优先权日2011年8月5日
发明者张明月 申请人:刘建勋, 李欢欢, 金龙
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1