CN104182453A - 一种面向海量历史浮动车数据的分布式地图匹配方法 - Google Patents

一种面向海量历史浮动车数据的分布式地图匹配方法 Download PDF

Info

Publication number
CN104182453A
CN104182453A CN201410281606.7A CN201410281606A CN104182453A CN 104182453 A CN104182453 A CN 104182453A CN 201410281606 A CN201410281606 A CN 201410281606A CN 104182453 A CN104182453 A CN 104182453A
Authority
CN
China
Prior art keywords
data item
data
judge
map
distributed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410281606.7A
Other languages
English (en)
Inventor
薛益赵
李建元
钱涛
倪升华
李丹
陈涛
王浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Enjoyor Co Ltd
Original Assignee
Enjoyor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Enjoyor Co Ltd filed Critical Enjoyor Co Ltd
Priority to CN201410281606.7A priority Critical patent/CN104182453A/zh
Publication of CN104182453A publication Critical patent/CN104182453A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures

Abstract

一种面向海量历史浮动车数据的分布式地图匹配方法,包括以下步骤:步骤(1)将海量浮动车数据上传至Hadoop分布式文件系统;步骤(2)分布式数据清洗;步骤(3)将道路节点信息通过分布式缓存方法存储到各个Slave子节点上时,在任何Job在节点上执行之前,先对道路节点信息建立网格索引;步骤(4)通过Hadoop的Map-Reduce框架从分布式文件系统HDFS中读取清洗后的浮动车数据,同样对其进行切片处理,以128M为单元切片成多个数据块,然后将数据块分发到各个节点的Map-Reduce上,同时读取分布式缓存中的道路节点信息进行地图匹配运算,实现分布式运算;步骤(5)Reduce函数将匹配后的信息存储到Hadoop分布式文件系统中。本发明计算速度较快、时间耗费量较小。

Description

一种面向海量历史浮动车数据的分布式地图匹配方法
技术领域
本发明属于海量数据处理计算领域和智能交通领域,具体涉及一种分布式地图匹配方法。
背景技术
浮动车数据是最重要的交通数据之一,其输出结果不仅能为相关部门提供道路实时交通状况信息,而且可为道路建设规划、拥堵缓解等各项工作提供定量数据分析基础。地图匹配技术是浮动车数据处理中最关键的一项内容之一,只有判断出车辆在哪条道路上行驶,才能将GPS数据转化为有效的道路交通状态信息。
浮动车数据库中往往存储着海量的历史数据。对这些海量历史浮动车数据的地图匹配是时空关联性挖掘、缺失值插补、浮动车轨迹研究、交通限制条件挖掘等各种数据处理与分析任务的先决条件。在传统的串行匹配技术下,普通计算海量浮动车数据进行地图匹配会耗费大量的计算时间。以10000辆出租车每20秒返回一条浮动车数据为例,1年的浮动车纪录约为114亿条,以1秒钟处理1000条数据为基准,总共的计算时间约为180天左右。计算时间之长令人难以忍受。因此设计分布式计算方法改变传统计算模式,达到分而治之的效果显得很有必要。
发明内容
为了克服已有现有技术中海量数据进行地图匹配时计算速度慢、时间耗费量大的不足,本发明提供了一种基于Hadoop的分布式地图匹配方法,实现原始数据快速清洗、计算速度较快、时间耗费量较小的面向海量历史浮动车数据的分布式地图匹配方法。
本发明解决其技术问题所采用的技术方案是:
一种面向海量历史浮动车数据的分布式地图匹配方法,所述匹配方法包括以下步骤:
步骤(1):将海量浮动车数据上传至Hadoop分布式文件系统HDFS;
步骤(2):分布式数据清洗,首先对原始数据进行切片,以128M为单元切片成多个数据块,然后将数据块分发到各个节点的Map-Reduce上进行数据预处理,依据各个数据项的判别规则,实现分布式运算,当且仅当满足所有数据项判别规则时该数据行才会被保留,否则删除存在数据缺失或数据明显偏离正常值的数据行,最后将清洗后的数据重新存回Hadoop分布式文件系统HDFS上;
步骤(3):将道路节点信息通过分布式缓存方法存储到各个Slave子节点上时,在任何Job在节点上执行之前,先对道路节点信息建立网格索引;
步骤(4):通过Hadoop的Map-Reduce框架从分布式文件系统HDFS中读取清洗后的浮动车数据,同样对其进行切片处理,以128M为单元切片成多个数据块,然后将数据块分发到各个节点的Map-Reduce上,同时读取分布式缓存中的道路节点信息进行地图匹配运算,实现分布式运算;
将逐行读取文件块并将行号及该行内容映射为初始键值输入,采用Map函数对键值部分进行分离处理,形成中间键值对<key,value>;
地图匹配算法的Map函数的形参key1设置为经过清洗后数据文件的行号索引,value1设置为该行号索引所对应的数据行;
每条value1的值读入内存并以“,”将数据行分割成多个数据项,从各数据项中提取出经度数据项,纬度数据项,行驶方向数据项进行匹配计算;
在地图匹配计算中引入匹配度函数(λ):匹配度是描述浮动车GPS点与一条道路的匹配度,使用(0,1)区间的浮点数进行量化,匹配度越接近1,代表该浮动车越有可能位于这条道路;
&lambda; = &mu; 1 d &OverBar; + &mu; 2 &theta; &OverBar; - - - ( 1 - 3 )
其中λ为道路的匹配度;
为到道路投影距离的归一化值;
为车辆行驶方向与道路方向夹角的归一化值;
μ12为匹配权重,且满足
μ12=1        (1-4)
d &OverBar; = &Delta;GPS - d &Delta;GPS - - - ( 1 - 5 )
其中ΔGPS--GPS平均误差
&theta; &OverBar; = cos &theta; - - - ( 1 - 6 )
候选道路集合H:
候选道路集合H是在计算匹配度之前依据浮动车GPS点到各路段的投影距离d与距离阀值dα之差所得出,当满足条件dα-d>0时,就把该路段加入到候选路段集合H中;
然后依次对候选路段集合H中的路段做匹配度运算得出各个路段的匹配度,最后按照从大到小的顺序做排列运算,将匹配度最大的路段作为value2的值输出到Reduce函数;
步骤(5):Reduce函数将匹配后的信息存储到Hadoop分布式文件系统中。
进一步,所述步骤(2)中,数据清洗Map函数设计如下:
Map函数提供四个形参分别为keyl,valuel,key2,value2,其中(keyl,valuel)作为Map的输入参数,而(key2,value2)对应Map的输出参数,也是Reduce函数的输入参数(key2,value2);
key1设计为输入原始数据的行号索引,value1为行号索引所对应的数据行。将value1的数据行以“,”分割成各个数据项;
各数据项分别为:日期数据项,时间数据项,地点数据项,车辆编号数据项,经度数据项,纬度数据项,行驶速度数据项,行驶方向数据项,空重车数据项;
清洗规则的设计:首先判断分割后是否包含如上所述的九个数据项,如果不包含则不作保存直接读取下一行;包含则进入各数据项的判别;
日期数据项清洗规则:1.判断数据项中是否为空值;
2.判断数据项中是否包含非数值型字符;
3.判断数据项中的数值是否为所设定的日期;
时间数据项清洗规则:1.判断数据项中是否为空值;
2.判断数据项中是否包含非数值型字符;
3.判断数据项中的数值是否在(000000,235959)范围内;
城市编码数据项清洗规则:1.判断数据项中是否为空值,为空则添加该城市英
文缩写编码到数据项中;
2.判断数据项中的字符串是否为对应城市的英文缩写编码;
车辆编号数据项清洗规则:1.判断数据项中是否为空值;
2.判断数据项中是否包含非数值型字符;
3.判断数据项中的车辆编号是否包含在该城市浮动车编号范围内;
经度数据项清洗规则:1.判断数据项中是否为空值;
2.判断数据项中是否包含非数值型字符;
3.判断数据项中的经度数值是否在相对应城市的经度范围内;
纬度数据项清洗规则:1.判断数据项中是否为空值;
2.判断数据项中是否包含非数值型字符;
3.判断数据项中的经度数值是否在相对应城市的纬度范围内;
行驶速度数据项清洗规则:1.判断数据项中是否为空值;
2.判断数据项中是否包含非数值型字符;
3.判断数据项是否为异常值,为负值或大于极限值的值。
行驶方向数据项清洗规则:1.判断数据项中是否为空值;
2.判断数据项中是否包含非数值型字符;
3.判断数据项中的行驶方向数值是否在(0,360)范围内,这里的方向指的是与正北方向的夹角;
空重车数据项清洗规则:1.判断数据项中是否为空值;
2.判断数据项中是否包含非数值型字符;
3.判断数据项中数值是否为1或为0;
最后将清洗后的各数据项按原有顺序以“,”形式重新合并为数据行形式,并将该数据行作为Map函数的参数value2的值进行输出。
再进一步,所述步骤(3)中,通过建立网格索引对地图划分成矩形小块,如果采用传统方法二分搜索法查找待匹配点所在的网格,需要的时间开销为对数量级,而本索引技术采用哈希映射法,在O(1)时间查找到目标网格;传统的缓冲区法需要以待匹配点为质心,作矩形或者圆形缓冲区,计算哪些路段落在该缓冲区中,而网格索引技术在建立索引阶段就对待匹配点所在网格的缓冲区中路段进行存储,当查找到该网格时,无需通过任何计算来确定候选匹配路段,可以直接启动匹配算法;
设地图最大外包矩形左上角坐标(Left,Top),右下角坐标为(Right,Button),采用划分的单元格数量为M*N,单元格大小为(Δx,Δy)和待定位点P的坐标(x,y),根据公式(1-1)(1-2)计算出点P在划分的网格中的行号m,列号n,式中为向下取整符号。
更进一步,在建立网格索引时,每个网格将该网格及其缓冲区内所有路段的ID存储下来,缓冲区的选择需要保证P的正确匹配路段一定在该网格或者其缓冲区中,若最大定位误差为100米,则只需在最小网格外围扩展100米得到一个虚线矩形,在该虚线矩形中一定包含P的正确匹配路段。
本发明的技术构思为:Hadoop是一个高效、可靠和可扩展的开源分布式计算平台,能通过分布式的方式高效处理海量数据。随着数据量的增加,Hadoop集群相比于单机,其节省的时间量也就越来越大,为了追求高效,可以通过水平扩展达到进一步节省时间的目的。因此,本发明基于Hadoop分布式计算框架设计的一种并行地图匹配算法。
本发明的有益效果主要表现在:基于Hadoop的分布式地图匹配方法,实现原始数据快速清洗、计算速度较快、时间耗费量较小。
附图说明
图1是布式地图匹配方法的流程图。
图2是Hadoop分布式文件系统的清洗规则并行流程图。
图3是网格索引示意图,实线为网格划分,虚线网格和最小网格之间的部分表示最小网格的缓冲区。
图4是原数据图。
图5是预处理后的数据图。
图6是匹配后的数据图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图6,一种面向海量历史浮动车数据的分布式地图匹配方法,包括以下步骤:
步骤(1):将海量浮动车数据上传至Hadoop分布式文件系统HDFS;
步骤(2):分布式数据清洗,首先对原始数据进行切片,以128M为单元切片成多个数据块,然后将数据块分发到各个节点的Map-Reduce上进行数据预处理,依据下面即将给出的各个数据项的判别规则,实现分布式运算,当且仅当满足所有数据项判别规则时该数据行才会被保留,否则删除存在数据缺失或数据明显偏离正常值的数据行,所以这是一个并行的判别计算过程,最后将清洗后的数据重新存回Hadoop分布式文件系统HDFS上,清洗规则并行流程图如图2所示:
图2数据清洗并行流程图,当且仅当满足所有条件时该数据行才会被输出,否则直接剔除;数据清洗Map函数设计如下:
Map函数提供四个形参分别为keyl,valuel,key2,value2。其中(keyl,valuel)作为Map的输入参数,而(key2,value2)对应Map的输出参数,也是Reduce函数的输入参数(key2,value2)。
key1设计为输入原始数据的行号索引,value1为行号索引所对应的数据行。将value1的数据行以“,”分割成各个数据项。
各数据项分别为:日期数据项,时间数据项,地点数据项,车辆编号数据项,经度数据项,纬度数据项,行驶速度数据项,行驶方向数据项,空重车数据项。
清洗规则的设计:首先判断分割后是否包含如上所述的九个数据项,如果不包含则不做保存直接读取下一行。包含则进入各数据项的判别(具体设计与所在城市相关,以下判别规则是基于杭州市浮动车数据所设计)。
日期数据项清洗规则:1.判断数据项中是否为空值;
2.判断数据项中是否包含非数值型字符;
3.判断数据项中的数值是否为所设定的日期;
时间数据项清洗规则:1.判断数据项中是否为空值;
2.判断数据项中是否包含非数值型字符;
3.判断数据项中的数值是否在(000000,235959)范围内;
城市编码数据项清洗规则:1.判断数据项中是否为空值,为空则添加该城市英
文缩写编码到数据项中;
2.判断数据项中的字符串是否为对应城市的英文缩写编码;
车辆编号数据项清洗规则:1.判断数据项中是否为空值;
2.判断数据项中是否包含非数值型字符;
3.判断数据项中的车辆编号数值是否包含在该城市浮动车编号范围内;
经度数据项清洗规则:1.判断数据项中是否为空值;
2.判断数据项中是否包含非数值型字符;
3.判断数据项中的经度数值是否在相对应城市的经度范围内;
纬度数据项清洗规则:1.判断数据项中是否为空值;
2.判断数据项中是否包含非数值型字符;
3.判断数据项中的经度数值是否在相对应城市的纬度范围内;
行驶速度数据项清洗规则:1.判断数据项中是否为空值;
2.判断数据项中是否包含非数值型字符;
3.判断数据项是否为异常值,为负值或大于极限值的值。
行驶方向数据项清洗规则:1.判断数据项中是否为空值;
2.判断数据项中是否包含非数值型字符;
3.判断数据项中的行驶方向数值是否在(0,360)范围内,这里的方向指的是与正北方向的夹角;
空重车数据项清洗规则:1.判断数据项中是否为空值;
2.判断数据项中是否包含非数值型字符;
3.判断数据项中数值是否为1或为0;
最后将清洗后的各数据项按原有顺序以“,”形式重新合并为数据行形式,并将该数据行作为Map函数的参数value2的值进行输出;
步骤(3):将道路节点信息通过分布式缓存方法存储到各个Slave子节点上时,在任何Job在节点上执行之前,先对道路节点信息建立网格索引。
本发明引入网格算法以提高单点匹配速度,以下是对本发明中网格索引算法的简要介绍:参照图3,通过建立网格索引对地图划分成矩形小块,如果采用传统方法二分搜索法查找待匹配点所在的网格,需要的时间开销为对数量级,而本索引技术采用哈希映射法,可以在O(1)时间查找到目标网格;传统的缓冲区法需要以待匹配点为质心,作矩形或者圆形缓冲区,计算哪些路段落在该缓冲区中,而网格索引技术在建立索引阶段就对待匹配点所在网格的缓冲区中路段进行存储,当查找到该网格时,无需通过任何计算来确定候选匹配路段,可以直接启动匹配算法。这两点改进大大加速了算法的运行速度,提高了算法运行的实时性。
设地图最大外包矩形左上角坐标(Left,Top),右下角坐标为(Right,Button),采用划分的单元格数量为M*N,单元格大小为(Δx,Δy)和待定位点P的坐标(x,y)。可以根据公式(1-1)(1-2)计算出点P在划分的网格中的行号m,列号n,式中为向下取整符号。
在建立网格索引时,每个网格将该网格及其缓冲区内所有路段的ID存储下来,缓冲区的选择需要保证P的正确匹配路段一定在该网格或者其缓冲区中。典型地,若最大定位误差为100米,则只需在最小网格外围扩展100米得到一个虚线矩形,在该虚线矩形中一定包含P的正确匹配路段。运用此方法,不管P在最小网格中任意位置,其正确匹配路段一定在缓冲区中。
步骤(4):通过Hadoop的Map-Reduce框架从分布式文件系统HDFS中读取清洗后的浮动车数据,同样对其进行切片处理,以128M为单元切片成多个数据块,然后将数据块分发到各个节点的Map-Reduce上,同时读取分布式缓存中的道路节点信息进行地图匹配运算,实现分布式运算。主要过程为将逐行读取文件块并将行号及该行内容映射为初始键值输入,采用Map函数对键值部分进行分离处理,形成中间键值对<key,value>;
地图匹配算法的Map函数设计如下:
Map函数的形参key1设置为经过清洗后数据文件的行号索引,value1设置为该行号索引所对应的数据行。
每条value1的值读入内存并以“,”将数据行分割成多个数据项,从各数据项中提取出经度数据项,纬度数据项,行驶方向数据项进行匹配计算。
在地图匹配计算中引入匹配度函数(λ):匹配度是描述浮动车GPS点与一条道路的匹配度,使用(0,1)区间的浮点数进行量化,匹配度越接近1,代表该浮动车越有可能位于这条道路。
&lambda; = &mu; 1 d &OverBar; + &mu; 2 &theta; &OverBar; - - - ( 1 - 3 )
其中λ--道路的匹配度;
--到道路投影距离的归一化值;
--车辆行驶方向与道路方向夹角的归一化值;
μ12--为匹配权重,且满足
μ12=1       (1-4)
这里我们使用专家经验μ1=0.6,μ2=0.4
d &OverBar; = &Delta;GPS - d &Delta;GPS - - - ( 1 - 5 )
其中ΔGPS--GPS平均误差(一般为40~100m)这里取50m
&theta; &OverBar; = cos &theta; - - - ( 1 - 6 )
候选道路集合H:
候选道路集合H是在计算匹配度之前依据浮动车GPS点到各路段的投影距离d与距离阀值dα之差所得出。当满足条件dα-d>0时,就把该路段加入到候选路段集合H中。
然后依次对候选路段集合H中的路段做匹配度运算得出各个路段的匹配度,最后按照从大到小的顺序做排列运算,将匹配度最大的路段作为value2的值输出到Reduce函数。
步骤(5):Reduce函数将匹配后的信息存储到Hadoop分布式文件系统中。
同时本发明将浮动车数据存储在分布式文件系统HDFS中,为浮动车数据的存储提供了一个可行的解决方案,缓解了传统方法中单机存储海量数据的内存压力。
实例:采用杭州市2012年6月-2013年6月间的114亿条浮动车的记录作为待匹配数据,由1台masterPC机和100台SlavePC机构建地图匹配的分布式计算环境,每台PC机的基本配置为512M内存,奔腾P4C处理器,经过数据清洗剔除后大约为110亿条,匹配所用时间大约为21小时,同时也达到了较高的经度。
如图1所示,本发明提供一种基于Hadoop的分布式地图匹配方法,具体实施过程如下:
步骤(1):将海量浮动车数据上传至Hadoop分布式文件系统HDFS;
步骤(2):通过Map-Reduce进行数据预处理,Map函数从HDFS文件系统上读取一行浮动车数据便将值赋给value,原数据图4所示。
然后调用split()方法提取出各个数据项,对各个数据项进行判断,如图中第二行第五列数据缺失,删除存在数据缺失或数据明显偏离正常值的数据项,将预处理后的数据重新存回HDFS,处理后数据如图5所示;
步骤(3):将道路节点信息存储到分布式缓存中,并建立200*200的网格索引;
步骤(4):通过Hadoop的Map-Reduce框架从HDFS中读取预处理后的浮动车数据与分布式缓存中的道路节点信息进行地图匹配计算,主要过程为将逐行读取文件块并将行号及该行内容映射为初始键值输入,采用Map函数对键值部分进行分离处理,形成中间键值对<key,value>;
从value1中读入的数据行中提取出待匹配GPS点坐标(x,y),使用公式1-1,1-2计算出所在网格的行号,列号Grid(m,n),依次对该网格内的路段做投影距离运算,将符合候选路段的道路存入候选路段集合H内,对候选路段集合H中的路段做匹配度运算,将匹配度最大的路段作为value2的值进行输出到Reduce函数。
步骤(5):最后调用Reduce函数将匹配后的结果存储到HDFS中。其输出结果如图6所示,最后两项数据为匹配后的经纬度值。

Claims (4)

1.一种面向海量历史浮动车数据的分布式地图匹配方法,其特征在于:所述匹配方法包括以下步骤: 
步骤(1):将海量浮动车数据上传至Hadoop分布式文件系统HDFS; 
步骤(2):分布式数据清洗,首先对原始数据进行切片,以128M为单元切片成多个数据块,然后将数据块分发到各个节点的Map-Reduce上进行数据预处理,依据各个数据项的判别规则,实现分布式运算,当且仅当满足所有数据项判别规则时该数据行才会被保留,否则删除存在数据缺失或数据明显偏离正常值的数据行,最后将清洗后的数据重新存回Hadoop分布式文件系统HDFS上; 
步骤(3):将道路节点信息通过分布式缓存方法存储到各个Slave子节点上时,在任何Job在节点上执行之前,先对道路节点信息建立网格索引; 
步骤(4):通过Hadoop的Map-Reduce框架从分布式文件系统HDFS中读取清洗后的浮动车数据,同样对其进行切片处理,以128M为单元切片成多个数据块,然后将数据块分发到各个节点的Map-Reduce上,同时读取分布式缓存中的道路节点信息进行地图匹配运算,实现分布式运算; 
将逐行读取文件块并将行号及该行内容映射为初始键值输入,采用Map函数对键值部分进行分离处理,形成中间键值对<key,value>; 
地图匹配算法的Map函数的形参key1设置为经过清洗后数据文件的行号索引,value1设置为该行号索引所对应的数据行; 
每条value1的值读入内存并以“,”将数据行分割成多个数据项,从各数据项中提取出经度数据项,纬度数据项,行驶方向数据项进行匹配计算; 
在地图匹配计算中引入匹配度函数(λ):匹配度是描述浮动车GPS点与一条道路的匹配度,使用(0,1)区间的浮点数进行量化,匹配度越接近1,代表该浮 动车越有可能位于这条道路; 
其中λ为道路的匹配度; 
为到道路投影距离的归一化值; 
为车辆行驶方向与道路方向夹角的归一化值; 
μ12为为匹配权重,且满足 
μ12=1       (1-4) 
其中ΔGPS--GPS平均误差; 
候选道路集合H: 
候选道路集合H是在计算匹配度之前依据浮动车GPS点到各路段的投影距离d与距离阀值dα之差所得出,当满足条件dα-d>0时,就把该路段加入到候选路段集合H中; 
然后依次对候选路段集合H中的路段做匹配度运算得出各个路段的匹配度,最后按照从大到小的顺序做排列运算,将匹配度最大的路段作为value2的值输出到Reduce函数; 
步骤(5):Reduce函数将匹配后的信息存储到Hadoop分布式文件系统中。 
2.如权利要求1所述的一种面向海量历史浮动车数据的分布式地图匹配方法,其特征在于:所述步骤(2)中,数据清洗Map函数设计如下: 
Map函数提供四个形参分别为keyl,valuel,key2,value2,其中(keyl,valuel)作为Map的输入参数,而(key2,value2)对应Map的输出参数,也是Reduce函数的输入参数 (key2,value2); 
key1设计为输入原始数据的行号索引,value1为行号索引所对应的数据行,将value1的数据行以“,”分割成各个数据项; 
各数据项分别为:日期数据项,时间数据项,地点数据项,车辆编号数据项,经度数据项,纬度数据项,行驶速度数据项,行驶方向数据项,空重车数据项; 
清洗规则的设计:首先判断分割后是否包含如上所述的九个数据项,如果不包含则不作保存直接读取下一行;包含则进入各数据项的判别; 
日期数据项清洗规则:1).判断数据项中是否为空值; 
                    2).判断数据项中是否包含非数值型字符; 
                    3).判断数据项中的数值是否为所设定的日期; 
时间数据项清洗规则:1).判断数据项中是否为空值; 
                    2).判断数据项中是否包含非数值型字符; 
                    3).判断数据项中的数值是否在(000000,235959)  范围内; 
城市编码数据项清洗规则:1).判断数据项中是否为空值,为空则添加该城市英文缩写编码到数据项中; 
                    2).判断数据项中的字符串是否为对应城市的英文 缩写编码; 
车辆编号数据项清洗规则:1).判断数据项中是否为空值; 
                    2).判断数据项中是否包含非数值型字符; 
                    3).判断数据项中的车辆编号是否包含在该城市浮动车编号范围内; 
经度数据项清洗规则:1).判断数据项中是否为空值; 
                    2).判断数据项中是否包含非数值型字符; 
                    3).判断数据项中的经度数值是否在相对应城市的经度范围内; 
纬度数据项清洗规则:1).判断数据项中是否为空值; 
                    2).判断数据项中是否包含非数值型字符; 
                    3).判断数据项中的经度数值是否在相对应城市的纬度范围内; 
行驶速度数据项清洗规则:1).判断数据项中是否为空值; 
                    2).判断数据项中是否包含非数值型字符; 
                    3).判断数据项是否为异常值,为负值或大于极限值的值; 
行驶方向数据项清洗规则:1).判断数据项中是否为空值; 
                    2).判断数据项中是否包含非数值型字符; 
                    3).判断数据项中的行驶方向数值是否在(0,360)范围内,这里的方向指的是与正北方向的夹角; 
空重车数据项清洗规则:1).判断数据项中是否为空值; 
                    2).判断数据项中是否包含非数值型字符; 
                    3).判断数据项中数值是否为1或为0; 
最后将清洗后的各数据项按原有顺序以“,”形式重新合并为数据行形式,并将该数据行作为Map函数的参数value2的值进行输出。 
3.如权利要求1或2所述的一种面向海量历史浮动车数据的分布式地图匹配方法,其特征在于:所述步骤(3)中,通过建立网格索引对地图划分成矩形小块,如果采用传统方法二分搜索法查找待匹配点所在的网格,需要的时间开销为对数量级, 而本索引技术采用哈希映射法,在O(1)时间查找到目标网格;传统的缓冲区法需要以待匹配点为质心,作矩形或者圆形缓冲区,计算哪些路段落在该缓冲区中,而网格索引技术在建立索引阶段就对待匹配点所在网格的缓冲区中路段进行存储,当查找到该网格时,无需通过任何计算来确定候选匹配路段,可以直接启动匹配算法; 
设地图最大外包矩形左上角坐标(Left,Top),右下角坐标为(Right,Button),采用划分的单元格数量为M*N,单元格大小为(Δx,Δy)和待定位点P的坐标(x,y),根据公式(1-1)(1-2)计算出点P在划分的网格中的行号m,列号n,式中为向下取整符号, 
4.如权利要求1或2所述的一种面向海量历史浮动车数据的分布式地图匹配方法,其特征在于:在建立网格索引时,每个网格将该网格及其缓冲区内所有路段的ID存储下来,缓冲区的选择需要保证P的正确匹配路段一定在该网格或者其缓冲区中,若最大定位误差为100米,则只需在最小网格外围扩展100米得到一个虚线矩形,在该虚线矩形中一定包含P的正确匹配路段。 
CN201410281606.7A 2014-06-20 2014-06-20 一种面向海量历史浮动车数据的分布式地图匹配方法 Pending CN104182453A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410281606.7A CN104182453A (zh) 2014-06-20 2014-06-20 一种面向海量历史浮动车数据的分布式地图匹配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410281606.7A CN104182453A (zh) 2014-06-20 2014-06-20 一种面向海量历史浮动车数据的分布式地图匹配方法

Publications (1)

Publication Number Publication Date
CN104182453A true CN104182453A (zh) 2014-12-03

Family

ID=51963495

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410281606.7A Pending CN104182453A (zh) 2014-06-20 2014-06-20 一种面向海量历史浮动车数据的分布式地图匹配方法

Country Status (1)

Country Link
CN (1) CN104182453A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106372094A (zh) * 2015-07-24 2017-02-01 通用电气公司 一种路径数据库的构建方法及基于该数据库的车辆运行控制系统
CN106485915A (zh) * 2015-08-26 2017-03-08 高德信息技术有限公司 一种交通信息处理方法、装置及MapReduce平台
CN106570160A (zh) * 2016-11-04 2017-04-19 北方工业大学 一种海量时空数据清洗方法及装置
CN109215338A (zh) * 2018-06-27 2019-01-15 杭州叙简科技股份有限公司 一种基于网格化的北斗gps车辆轨迹管理系统及其方法
CN109255951A (zh) * 2018-09-06 2019-01-22 青岛海信网络科技股份有限公司 一种勤务控制的方法及装置
CN109785614A (zh) * 2018-12-17 2019-05-21 北京掌行通信息技术有限公司 一种海量移动位置数据的监测方法及装置
CN109827781A (zh) * 2018-12-29 2019-05-31 中国汽车技术研究中心有限公司 一种车辆测试数据处理方法、装置及系统
CN110006442A (zh) * 2019-04-17 2019-07-12 北京百度网讯科技有限公司 导航方法、装置、设备和介质
CN112069285A (zh) * 2020-11-11 2020-12-11 湖北亿咖通科技有限公司 基于三维高精地图切片的地图生成方法、装置及电子设备
CN112307025A (zh) * 2020-10-29 2021-02-02 杭州海康威视数字技术股份有限公司 一种分布式索引的构建方法及装置
CN113776554A (zh) * 2021-08-18 2021-12-10 南斗六星系统集成有限公司 一种基于路网网格化计算自动驾驶覆盖面积的方法
CN113888867A (zh) * 2021-09-30 2022-01-04 洛阳远瞻信息科技有限公司 一种基于lstm位置预测的车位推荐方法及系统
CN114943021A (zh) * 2022-07-20 2022-08-26 之江实验室 一种tb级增量数据筛选方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136140A (zh) * 2006-08-29 2008-03-05 亿阳信通股份有限公司 道路交通的通行速度计算和匹配的方法和系统
CN101604478A (zh) * 2009-06-18 2009-12-16 北京九州联宇信息技术有限公司 一种动态交通信息的处理方法及系统
CN102360526A (zh) * 2011-09-28 2012-02-22 东南大学 一种快速道路路段状态的实时监测方法
US20130325814A1 (en) * 2012-05-30 2013-12-05 Spectra Logic Corporation System and method for archive in a distributed file system
US20130325812A1 (en) * 2012-05-30 2013-12-05 Spectra Logic Corporation System and method for archive in a distributed file system
US20130325813A1 (en) * 2012-05-30 2013-12-05 Spectra Logic Corporation System and method for archive in a distributed file system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136140A (zh) * 2006-08-29 2008-03-05 亿阳信通股份有限公司 道路交通的通行速度计算和匹配的方法和系统
CN101604478A (zh) * 2009-06-18 2009-12-16 北京九州联宇信息技术有限公司 一种动态交通信息的处理方法及系统
CN102360526A (zh) * 2011-09-28 2012-02-22 东南大学 一种快速道路路段状态的实时监测方法
US20130325814A1 (en) * 2012-05-30 2013-12-05 Spectra Logic Corporation System and method for archive in a distributed file system
US20130325812A1 (en) * 2012-05-30 2013-12-05 Spectra Logic Corporation System and method for archive in a distributed file system
US20130325813A1 (en) * 2012-05-30 2013-12-05 Spectra Logic Corporation System and method for archive in a distributed file system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
朱征宇等: "一种基于GPS终端的地图匹配方法", 《计算机科学》 *
杨喆: "大规模浮动车数据处理的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106372094A (zh) * 2015-07-24 2017-02-01 通用电气公司 一种路径数据库的构建方法及基于该数据库的车辆运行控制系统
CN106485915A (zh) * 2015-08-26 2017-03-08 高德信息技术有限公司 一种交通信息处理方法、装置及MapReduce平台
CN106485915B (zh) * 2015-08-26 2019-12-03 高德信息技术有限公司 一种交通信息处理方法、装置及MapReduce平台
CN106570160A (zh) * 2016-11-04 2017-04-19 北方工业大学 一种海量时空数据清洗方法及装置
CN106570160B (zh) * 2016-11-04 2020-06-26 北方工业大学 一种海量时空数据清洗方法及装置
CN109215338B (zh) * 2018-06-27 2020-05-29 杭州叙简科技股份有限公司 一种基于网格化的北斗gps车辆轨迹管理系统及其方法
CN109215338A (zh) * 2018-06-27 2019-01-15 杭州叙简科技股份有限公司 一种基于网格化的北斗gps车辆轨迹管理系统及其方法
CN109255951A (zh) * 2018-09-06 2019-01-22 青岛海信网络科技股份有限公司 一种勤务控制的方法及装置
CN109255951B (zh) * 2018-09-06 2020-07-10 青岛海信网络科技股份有限公司 一种勤务控制的方法及装置
CN109785614A (zh) * 2018-12-17 2019-05-21 北京掌行通信息技术有限公司 一种海量移动位置数据的监测方法及装置
CN109827781A (zh) * 2018-12-29 2019-05-31 中国汽车技术研究中心有限公司 一种车辆测试数据处理方法、装置及系统
CN110006442A (zh) * 2019-04-17 2019-07-12 北京百度网讯科技有限公司 导航方法、装置、设备和介质
CN112307025A (zh) * 2020-10-29 2021-02-02 杭州海康威视数字技术股份有限公司 一种分布式索引的构建方法及装置
CN112069285A (zh) * 2020-11-11 2020-12-11 湖北亿咖通科技有限公司 基于三维高精地图切片的地图生成方法、装置及电子设备
CN112069285B (zh) * 2020-11-11 2021-01-22 湖北亿咖通科技有限公司 基于三维高精地图切片的地图生成方法、装置及电子设备
CN113776554A (zh) * 2021-08-18 2021-12-10 南斗六星系统集成有限公司 一种基于路网网格化计算自动驾驶覆盖面积的方法
CN113776554B (zh) * 2021-08-18 2024-03-26 南斗六星系统集成有限公司 一种基于路网网格化计算自动驾驶覆盖面积的方法
CN113888867A (zh) * 2021-09-30 2022-01-04 洛阳远瞻信息科技有限公司 一种基于lstm位置预测的车位推荐方法及系统
CN114943021A (zh) * 2022-07-20 2022-08-26 之江实验室 一种tb级增量数据筛选方法和装置
US11789639B1 (en) 2022-07-20 2023-10-17 Zhejiang Lab Method and apparatus for screening TB-scale incremental data

Similar Documents

Publication Publication Date Title
CN104182453A (zh) 一种面向海量历史浮动车数据的分布式地图匹配方法
Yang et al. Fast map matching, an algorithm integrating hidden Markov model with precomputation
CN104462190B (zh) 一种基于海量空间轨迹挖掘的在线的位置预测方法
Fu et al. Finding abnormal vessel trajectories using feature learning
Xu et al. Taxi-RS: Taxi-hunting recommendation system based on taxi GPS data
CN108459503B (zh) 一种基于量子蚁群算法的无人水面艇航迹规划方法
Ding et al. Network-matched trajectory-based moving-object database: Models and applications
CN101308544B (zh) 一种基于栅格的空间异质模式识别方法
CN112906830B (zh) 一种基于ais大数据的船舶最优航线自动生成方法
CN107144288B (zh) 一种无路网地形条件下的路径规划的方法及其装置
CN102156308A (zh) 台风路径判别方法
Yang et al. Maritime traffic flow clustering analysis by density based trajectory clustering with noise
CN108182800A (zh) 一种货运交通信息处理方法及设备
CN114253975B (zh) 一种负载感知的路网最短路径距离计算方法及装置
Zhang et al. A method for ship route planning fusing the ant colony algorithm and the A* search algorithm
CN104598548A (zh) 一种分析农产品价格空间关联性的方法及装置
Cho et al. A basis of spatial big data analysis with map-matching system
Cho et al. A GPS trajectory map-matching mechanism with DTG big data on the HBase system
Yuan et al. A map-matching algorithm with low-frequency floating car data based on matching path
CN114139642A (zh) 联合船舶行程语义对象与图论理论的船舶航线提取方法
Wang et al. Segmented trajectory clustering-based destination prediction in IoVs
Jinno et al. Parallel distributed trajectory pattern mining using MapReduce
CN106971008A (zh) 一种洪涝风险专题图的自动生成系统及其并行处理方法
Li et al. The parallel and precision adaptive method of marine lane extraction based on QuadTree
Aydin et al. Heuristics based optimization for multidepot drone location and routing problem to detect post-earthquake damages

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20141203