一种基于Geohash的时空伴随对象挖掘方法与流程

文档序号:18885133发布日期:2019-10-15 20:47阅读:1109来源:国知局
一种基于Geohash的时空伴随对象挖掘方法与流程

本发明属于移动对象数据库领域,涉及一种高效的时空伴随对象挖掘方法,具体涉及一种基于geohash的时空伴随对象挖掘方法。



背景技术:

随着无线通信和移动计算技术以及全球定位和导航系统的快速发展,空间轨迹数据不断增多。通这些来自于人类、动物、车辆和船只的轨迹挖掘出时空伴随对象对于动物研究、城市道路规划、军事监测都能起到作用。

目前的时空伴随对象挖掘方法都在时间效率以及准确度上有着一定的缺陷。例如在轨迹聚类中的dbscan算法时间复杂度较高,不利于大数据环境下轨迹数据的伴随对象挖掘。同时,大部分方法要求轨迹的时间连续性,这会使得在某一时刻离开集群的对象被忽略,进而使得准确度下降。



技术实现要素:

发明目的:为了提高时空伴随对象挖掘的时间效率以及准确度,本发明提供了一种基于geohash的时空伴随对象挖掘方法,以解决现有方法的不足。



技术实现要素:
本发明所述的一种基于geohash的时空伴随对象挖掘方法,包括以下步骤:

(1)轨迹长度的计算:将预先获取的轨迹数据的经纬度转变为geohash编码保存在数据库中,实现地图的网格化编码;

(2)伴随长度的计算:通过geohash值统计出每个轨迹对象经过的网格数以及每两个对象在相近的时间同时出现的网格数;

(3)伴随关系的判定:最后计算出移动对象的轨迹相似度从而挖掘出伴随对象。

所述步骤(1)包括以下步骤:

(11)输入轨迹数据“目标id,年月日,时分秒,经度,纬度”,将每条数据的经纬度转为一个固定精度的geohash值,输出数据格式为:目标id,年月日,时分秒,geohash值;

(12)以目标id结合年月日进行分组,以目标id结合年月日结合geohash值进行排序;

(13)统计出每个目标每天经过的网格数,输出数据格式为:目标id,年月日,网格数。

所述步骤(2)包括以下步骤:

(21)输入轨迹数据,将每条数据的经纬度转为一个固定精度的geohash值;

(22)以geohash值结合年月日进行分组,以geohash值结合年月日结合时分秒进行排序;

(23)分析每天每个网格在相近的时间段内出现的两个不同目标,输出数据格式为:目标id1,目标id2,年月日,只记录一次。

所述步骤(3)包括以下步骤:

(31)根据步骤(1)计算出两个目标的轨迹长度,分别记为n1和n2,根据(23)计算出伴随长度,记为c;

(32)通过(31)中获得的n1、n2和c计算出轨迹相似度s;

(33)判断(31)得到的n1、n2和(32)得到的c是否满足伴随条件,判定如下:

n1≥nmin

n2≥nmin

s≥sth

其中,nmin为判断伴随的最小网格数,sth为判断伴随的轨迹相似度阈值。

步骤(3)所述轨迹相似度s通过以下公式实现:

其中,n1、n2为移动对象的轨迹长度,c为目标对的伴随长度。

有益效果:与现有技术相比,本发明的有益效果:1、通过geohash编码可以将二维的经纬度坐标用一维的字符串来表示,在数据库中只需要对一个字段进行索引,这样单索引的查询要比多索引查询高效得多,同时通过geohash将轨迹网格化,有利于集群的挖掘,这比基于dbscan的轨迹聚类算法高效;2、不需要移动对象每个时间戳都伴随,而是使用轨迹相似度来放宽时间连续性的限制,从整体上来挖掘具有伴随关系的对象,这保证了挖掘时空伴随对象的准确度且更具与现实意义。

附图说明

图1为本发明的流程图;

图2为利用geohash编码将地图网格化示意图。

具体实施方式

下面结合附图对本发明作进一步详细说明。如图1所示,本发明包括以下步骤:

图2为本发明利用geohash编码将地图网格化的示意图。在同一网格内轨迹点的geohash编码的前缀相同。如图2中在“abcdef”所表示的网格中,目标1和目标2轨迹点“abcdef123*”和“abcdef456*”前6位相同。

1、轨迹长度计算阶段包括以下步骤:

(1)输入轨迹数据“目标id,年月日,时分秒,经度,纬度”,将每条数据的经纬度转为一个固定精度的geohash值,输出数据格式为:目标id,年月日,时分秒,geohash值;geohash值的固定精度是关键因素,若geohash长度过长,则其代表的网格就会过大,使得相距很远的移动对象也被判定为伴随对象。若geohash长度过小,则其代表的网格就会过小,使得很多伴随对象被遗漏,大大降低准确度。

(2)以目标id+年月日进行分组,以目标id+年月日+geohash值进行排序。

(3)统计出每个目标每天经过的网格数,输出数据格式为:目标id,年月日,网格数。

2、伴随长度计算阶段包括以下步骤:

(1)输入轨迹数据,将每条数据的经纬度转为一个固定精度的geohash值。

(2)以geohash值+年月日进行分组,以geohash值+年月日+时分秒进行排序。

(3)分析每天每个网格在相近的时间段内(比如30秒)出现的两个不同目标,同一天同一个网格两个目标重复出现只记录一次。输出数据格式为:目标id1,目标id2,年月日。

3、伴随关系判定阶段包括以下步骤:

(1)根据第一阶段得出目标对轨迹长度,记为n1和n2。根据第二阶段得出伴随长度,记为c。例如图2中,目标1的轨迹坐标点经过了13个网格,目标2的轨迹坐标点经过了14个网格,目标1和2的轨迹坐标点在相近时间段内出现在同一网格数的次数为11。所以n1=13,n2=14,c=11。

(2)通过第三阶段中获得的n1、n2和c计算出轨迹相似度图2中目标1与目标2的轨迹相似度为

(3)判断n1、n2和c是否满足伴随条件。满足则输出伴随对象。条件如下:

①n1≥nmin

②n2≥nmin

③s≥sth

其中,nmin为判断伴随的最小网格数,sth为判断伴随的轨迹相似度阈值。例如图2中,设定nmin和sth分别为10、75%,则目标1与目标2伴随。假设目标1与目标2分别代表动物迁徙时的个体与队伍,在第4个坐标点以及第11个坐标点处,目标1脱离了队伍但随后又回到了队伍中。这种情况下,本发明可以挖掘出目标1和目标2的伴随关系而现有方法的时间连续性限制了伴随关系的挖掘。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1