CN104408918A - 基于MapReduce计算框架的浮动车数据与道路匹配的方法 - Google Patents
基于MapReduce计算框架的浮动车数据与道路匹配的方法 Download PDFInfo
- Publication number
- CN104408918A CN104408918A CN201410668944.6A CN201410668944A CN104408918A CN 104408918 A CN104408918 A CN 104408918A CN 201410668944 A CN201410668944 A CN 201410668944A CN 104408918 A CN104408918 A CN 104408918A
- Authority
- CN
- China
- Prior art keywords
- line segment
- grid
- floating car
- car data
- data
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0108—Measuring and analyzing of parameters relative to traffic conditions based on the source of data
- G08G1/0112—Measuring and analyzing of parameters relative to traffic conditions based on the source of data from the vehicle, e.g. floating car data [FCD]
Landscapes
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明提供一种基于MapReduce计算框架的浮动车数据与道路匹配的方法,包括下述步骤:步骤一,将路网划分为网格;步骤二,利用MapReduce分布式计算框架将线段定位到网格上;步骤三,利用MapReduce分布式计算框架将浮动车数据定位到网格上;步骤四,在同一网格内,利用MapReduce分布式计算框架,将代表浮动车数据的点定位到线段上。本发明通过对分布式存储和计算架构的利用,并利用数据裁剪技术将***中匹配算法的复杂度尽量降低,使得对数据的处理能力和处理规模都有极大的提升。
Description
技术领域
本发明涉及交通控制领域,尤其是一种道路拥堵情况的分析方法。
背景技术
道路拥堵问题已经成为制约经济发展的重要因素,也大大降低了人民群众的生活素质。如何有效的解决交通拥堵问题,不只是要多修路,多疏导。相应的道路拥堵分析和拥堵模式预判也有极大的实际意义。遗憾的是,许多城市的政府部门并没有将各个道路的历史拥堵状况记录下来,没有历史的拥堵信息,难以施加相应的分析学习算法,得到所需的拥堵信息的模式信息。
发明内容
本发明的目的克服现有技术中存在的不足,提供一种基于MapReduce计算框架的浮动车数据与道路匹配的方法,通过对分布式存储和计算架构的利用,并利用数据裁剪技术将***中匹配算法的复杂度尽量降低,使得对数据的处理能力和处理规模都有极大的提升。本发明采用的技术方案是:
一种基于MapReduce计算框架的浮动车数据与道路匹配的方法,包括下述步骤:
步骤一,将路网划分为网格;
步骤二,利用MapReduce分布式计算框架将线段定位到网格上;
步骤三,利用MapReduce分布式计算框架将代表浮动车数据的点定位到网格上;
步骤四,在同一网格内,利用MapReduce分布式计算框架,将代表浮动车数据的点定位到线段上。
进一步地,所述步骤一中,具体根据历史统计数据,通过罗杰斯特回归的算法来使得路网划分的尺度最优化,最优化的标准是各个网格所分配得到的浮动车尽量均匀,也就是每个网格所分配得到的浮动车数据的条数的方差尽量小,且网格数尽量少。
进一步地,所述步骤二中,具体的方法为:
先进行步骤二的Map过程,算法如下:
步骤2-1,计算线段两端点各自所在的网格ID,如果两个网格ID相同则该线段属于该网格,直接创建Key/Value键值对,将网格ID作为Key,将线段作为Value;
步骤2-2,如果线段两端点所在的网格ID不同,首先利用线段两端点计算出其可能相交的网格矩阵,之后计算该线段向量与线段始端点和各个网格端点组成的向量的点乘积,如果点乘积大于零,则将该网格端点表示为1,如果点乘积小于0,则将该网格端点表示为0;
步骤2-3,在网格矩阵各个端点组成的矩阵中出现0、1变化的部分所属的网格,就是该线段向量与之相交的网格,该线段就属于相应的网格ID,将该些网格ID作为Key,而将该线段作为Value;
之后启动步骤二的Reduce过程。
进一步地,步骤三中,将网格ID作为Key,将代表浮动车数据的点作为Value。
进一步地,步骤四中,具体的方法为:
将线段ID作为Key,将浮动车数据作为Value;在数据导入时,将线段的数据存放在每个计算节点的内存中;在计算过程中使用向量计算代表浮动车数据的点到线段的距离,将代表浮动车数据的点ID作为Key,将距离以及相对应的线段作为Value;
经过一次Map和Reduce过程之后,获得距离代表浮动车数据的点最近的线段的ID,因而将该点定位到该条线段上,形成<代表浮动车数据的点ID,线段ID>对;之后再经过一次Map过程,将<代表浮动车数据的点ID,线段ID >对转换成<线段ID,代表浮动车数据的点ID >对;经过Reduce过程,可以将点归属到相应的线段上,进而归属到相应的路段上。
本发明的优点在于:本方法能够使得***中匹配算法的复杂度尽量降低,从而提高***的性能和可扩展性。可以解决十亿乃至百亿级时序浮动车信息定位到路段问题。通过对分布式存储和计算架构的利用,使得对数据的处理能力和处理规模都有极大的提升。
附图说明
图1为本发明的线段与多网格相交示意图。
图2为本发明的流程图。
具体实施方式
下面结合具体附图和实施例对本发明作进一步说明。
为了判明道路拥堵问题,本发明采用了利用浮动车数据来计算道路拥堵状况的方案。浮动车主要组成是出租车,由于出租车行车路线随机化的特点,其采集的数据遍布城市的几乎所有道路。对分析和计算道路当时的拥堵状况有较大的信息量。
本发明以一个分布式列存储数据库作为存储介质并利用MapReduce作为其分布式计算框架。
在本发明的***中,收集了2万余台浮动车一年的历史数据,数据的产生频率是每30秒一条。浮动车数据中关键字段如下:
a)浮动车的车辆标识;
b)数据采集的时间戳;
c)浮动车当前经度;
d)浮动车当前维度;
e)浮动车当前的速度大小;
f)浮动车当前的速度方向;
g)浮动车当前运营状态;
此外,***还拥有这些浮动车所营运的城市的路网的矢量信息,路网中的道路由路段组成,路段的几何表示是一个Pline(多线段),Pline是有大量线段组成的折线。
***拥有20亿条浮动车数据和80万条线段组成的路网。本发明是为了解决将海量浮动车数据定位到复杂路网上的问题。
本发明的主要思路是,将路网划分网格,之后将线段与浮动车数据映射到相应的网格上。然后通过本网格内的线段和浮动车数据进行匹配从而大大减少计算复杂度。
本方法的主要步骤如下:
步骤一,首先,将路网划分为网格;***中网格的划分是根据历史数据统计后获得,通过罗杰斯特回归算法来使得路网划分的尺度最优化,最优化的标准是各个网格所分配得到的浮动车尽量均匀,也就是每个网格所分配得到的浮动车数据的条数的方差尽量小,且网格数尽量少。各网格为矩形网格。
步骤二,其次,利用MapReduce分布式计算框架将线段定位到网格上;
在线段划分的Map-Reduce过程中,将线段作为输入,之后将网格ID作为Key,将线段作为Value。Key/Value可称为键值对。Key即为键值项,Value即为键值。
先进行步骤二的Map(Map即映射)过程,算法如下:
步骤2-1,计算线段两端点各自所在的网格ID,如果两个网格ID相同则该线段属于该网格,直接创建Key/Value组,将网格ID作为Key,将线段作为Value;网格ID是指网格的编号。本文中ID代表编号。
步骤2-2,如果线段两端点所在的网格ID不同,则如图1所示,首先利用线段两端点计算出其可能相交的网格矩阵,之后计算该线段向量PQ与线段始端点P和各个网格端点组成的向量的点乘积,如果点乘积大于零,则将该网格端点表示为1,如果点乘积小于0,则将该网格端点表示为0;
步骤2-3,在网格矩阵各个端点组成的矩阵中出现0、1变化的部分所属的网格(图1中黑色圆圈标识),就是该线段向量PQ与之相交的网格,该线段就属于相应的网格ID,将该些网格ID作为Key,而将该线段作为Value。
通过一次线段的扫描Map,就可以建立起网格ID与线段的对应关系。这其中,线段可以属于多个网格,其原因是该线段可能与多个网格相交。
之后启动步骤二的Reduce(Reduce即化简)过程,这之前也可以适当的设置shuffle过程,将属于同一个网格ID的线段放在一起。
步骤三,接着,利用MapReduce分布式计算框架将浮动车数据定位到网格上;此步骤中,将网格ID作为Key,将代表浮动车数据的点作为Value;
步骤三中的Map过程实际上是简单哈希过程。Reduce过程则将所有属于某个网格的代表浮动车数据的点汇聚到一起。
步骤四,最后,在同一网格内,利用MapReduce分布式计算框架,将代表浮动车数据的点定位到线段上。
该过程中,将线段ID作为Key,将浮动车数据作为Value;在数据导入时,将线段的数据存放在每个计算节点的内存中;在计算过程中使用向量计算代表浮动车数据的点到线段的距离,将代表浮动车数据的点ID作为Key,将距离以及相对应的线段作为Value;
经过一次Map和Reduce过程之后,获得距离代表浮动车数据的点最近的线段的ID,因而将该点定位到该条线段上,形成<代表浮动车数据的点ID,线段ID>对;之后再经过一次Map过程,将<代表浮动车数据的点ID,线段ID >对转换成<线段ID,代表浮动车数据的点ID >对;经过Reduce过程,可以将点归属到相应的线段上,进而归属到相应的路段上。从而完成了浮动车数据归一化到其所在的路段上的实现技术。
至此就完成了将浮动车数据定位到路网上的需求。
本发明通过利用分布式数据库与分布式计算框架MapReduce将浮动车数据定位到其所在的路段上。本发明解决了十亿乃至百亿级时序浮动车信息定位到路段问题。通过对分布式存储和计算架构的利用,使得对数据的处理能力和处理规模都有极大的提升。
Claims (5)
1.一种基于MapReduce计算框架的浮动车数据与道路匹配的方法,其特征在于,包括下述步骤:
步骤一,将路网划分为网格;
步骤二,利用MapReduce分布式计算框架将线段定位到网格上;
步骤三,利用MapReduce分布式计算框架将代表浮动车数据的点定位到网格上;
步骤四,在同一网格内,利用MapReduce分布式计算框架,将代表浮动车数据的点定位到线段上。
2.如权利要求1所述的基于MapReduce计算框架的浮动车数据与道路匹配的方法,其特征在于:
所述步骤一中,具体根据历史统计数据,通过罗杰斯特回归算法来使得路网划分的尺度最优化,最优化的标准是各个网格所分配得到的浮动车尽量均匀,也就是每个网格所分配得到的浮动车数据的条数的方差尽量小,且网格数尽量少。
3.如权利要求1所述的基于MapReduce计算框架的浮动车数据与道路匹配的方法,其特征在于:
所述步骤二中,具体的方法为:
先进行步骤二的Map过程,算法如下:
步骤2-1,计算线段两端点各自所在的网格ID,如果两个网格ID相同则该线段属于该网格,直接创建Key/Value键值对,将网格ID作为Key,将线段作为Value;
步骤2-2,如果线段两端点所在的网格ID不同,首先利用线段两端点计算出其可能相交的网格矩阵,之后计算该线段向量与线段始端点和各个网格端点组成的向量的点乘积,如果点乘积大于零,则将该网格端点表示为1,如果点乘积小于0,则将该网格端点表示为0;
步骤2-3,在网格矩阵各个端点组成的矩阵中出现0、1变化的部分所属的网格,就是该线段向量与之相交的网格,该线段就属于相应的网格ID,将该些网格ID作为Key,而将该线段作为Value;
之后启动步骤二的Reduce过程。
4.如权利要求1所述的基于MapReduce计算框架的浮动车数据与道路匹配的方法,其特征在于:
步骤三中,将网格ID作为Key,将代表浮动车数据的点作为Value。
5.如权利要求1所述的基于MapReduce计算框架的浮动车数据与道路匹配的方法,其特征在于:
步骤四中,具体的方法为:
将线段ID作为Key,将浮动车数据作为Value;在数据导入时,将线段的数据存放在每个计算节点的内存中;在计算过程中使用向量计算代表浮动车数据的点到线段的距离,将代表浮动车数据的点ID作为Key,将距离以及相对应的线段作为Value;
经过一次Map和Reduce过程之后,获得距离代表浮动车数据的点最近的线段的ID,因而将该点定位到该条线段上,形成<代表浮动车数据的点ID,线段ID>对;之后再经过一次Map过程,将<代表浮动车数据的点ID,线段ID >对转换成<线段ID,代表浮动车数据的点ID >对;经过Reduce过程,可以将点归属到相应的线段上,进而归属到相应的路段上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410668944.6A CN104408918B (zh) | 2014-11-20 | 2014-11-20 | 基于MapReduce计算框架的浮动车数据与道路匹配的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410668944.6A CN104408918B (zh) | 2014-11-20 | 2014-11-20 | 基于MapReduce计算框架的浮动车数据与道路匹配的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104408918A true CN104408918A (zh) | 2015-03-11 |
CN104408918B CN104408918B (zh) | 2016-06-01 |
Family
ID=52646544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410668944.6A Active CN104408918B (zh) | 2014-11-20 | 2014-11-20 | 基于MapReduce计算框架的浮动车数据与道路匹配的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104408918B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104793955A (zh) * | 2015-04-29 | 2015-07-22 | 江苏物联网研究发展中心 | 分布式向量计算框架 |
CN106485915A (zh) * | 2015-08-26 | 2017-03-08 | 高德信息技术有限公司 | 一种交通信息处理方法、装置及MapReduce平台 |
CN107895383A (zh) * | 2017-11-13 | 2018-04-10 | 北京邮电大学 | 一种粒子穿墙检测方法、装置及电子设备 |
CN108648444A (zh) * | 2018-04-18 | 2018-10-12 | 北京交通大学 | 一种基于网格模型的信号交叉口运行评价方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19604084A1 (de) * | 1995-03-23 | 1996-10-02 | Deutsche Telekom Mobil | Verfahren und Einrichtung zur Ermittlung von Dynamischen Verkehrsinformationen |
DE10133387A1 (de) * | 2001-07-10 | 2003-01-23 | Bosch Gmbh Robert | Verfahren zur Erfassung von Verkehrsdaten für ein Fahrzeug, insbesondere ein Kraftfahrzeug, und Einrichtung |
JP2003109172A (ja) * | 2001-09-30 | 2003-04-11 | Hokusui Civil Engineering Co Ltd | 画像自動撮影システムおよび画像再生システム |
CN101136140A (zh) * | 2006-08-29 | 2008-03-05 | 亿阳信通股份有限公司 | 道路交通的通行速度计算和匹配的方法和*** |
EP1923850A1 (de) * | 2006-11-14 | 2008-05-21 | Robert Bosch GmbH | Verfahren und Vorrichtung zur Erfassung von Daten über die Verkehrslage in einem Straßennetz |
CN101604478A (zh) * | 2009-06-18 | 2009-12-16 | 北京九州联宇信息技术有限公司 | 一种动态交通信息的处理方法及*** |
CN102360526A (zh) * | 2011-09-28 | 2012-02-22 | 东南大学 | 一种快速道路路段状态的实时监测方法 |
CN103235848A (zh) * | 2013-04-15 | 2013-08-07 | 中国科学院软件研究所 | 一种基于简化路网模型的轻量级路网匹配方法 |
CN103927873A (zh) * | 2014-04-28 | 2014-07-16 | 中国航天***工程有限公司 | 浮动车与路段匹配方法及并行获取实时路况的方法 |
-
2014
- 2014-11-20 CN CN201410668944.6A patent/CN104408918B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19604084A1 (de) * | 1995-03-23 | 1996-10-02 | Deutsche Telekom Mobil | Verfahren und Einrichtung zur Ermittlung von Dynamischen Verkehrsinformationen |
DE10133387A1 (de) * | 2001-07-10 | 2003-01-23 | Bosch Gmbh Robert | Verfahren zur Erfassung von Verkehrsdaten für ein Fahrzeug, insbesondere ein Kraftfahrzeug, und Einrichtung |
JP2003109172A (ja) * | 2001-09-30 | 2003-04-11 | Hokusui Civil Engineering Co Ltd | 画像自動撮影システムおよび画像再生システム |
CN101136140A (zh) * | 2006-08-29 | 2008-03-05 | 亿阳信通股份有限公司 | 道路交通的通行速度计算和匹配的方法和*** |
EP1923850A1 (de) * | 2006-11-14 | 2008-05-21 | Robert Bosch GmbH | Verfahren und Vorrichtung zur Erfassung von Daten über die Verkehrslage in einem Straßennetz |
CN101604478A (zh) * | 2009-06-18 | 2009-12-16 | 北京九州联宇信息技术有限公司 | 一种动态交通信息的处理方法及*** |
CN102360526A (zh) * | 2011-09-28 | 2012-02-22 | 东南大学 | 一种快速道路路段状态的实时监测方法 |
CN103235848A (zh) * | 2013-04-15 | 2013-08-07 | 中国科学院软件研究所 | 一种基于简化路网模型的轻量级路网匹配方法 |
CN103927873A (zh) * | 2014-04-28 | 2014-07-16 | 中国航天***工程有限公司 | 浮动车与路段匹配方法及并行获取实时路况的方法 |
Non-Patent Citations (1)
Title |
---|
章威: "基于大规模浮动车数据的地图匹配算法", 《交通运输***工程与信息》, vol. 7, no. 2, 30 April 2007 (2007-04-30), pages 39 - 45 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104793955A (zh) * | 2015-04-29 | 2015-07-22 | 江苏物联网研究发展中心 | 分布式向量计算框架 |
CN106485915A (zh) * | 2015-08-26 | 2017-03-08 | 高德信息技术有限公司 | 一种交通信息处理方法、装置及MapReduce平台 |
CN106485915B (zh) * | 2015-08-26 | 2019-12-03 | 高德信息技术有限公司 | 一种交通信息处理方法、装置及MapReduce平台 |
CN107895383A (zh) * | 2017-11-13 | 2018-04-10 | 北京邮电大学 | 一种粒子穿墙检测方法、装置及电子设备 |
CN108648444A (zh) * | 2018-04-18 | 2018-10-12 | 北京交通大学 | 一种基于网格模型的信号交叉口运行评价方法 |
CN108648444B (zh) * | 2018-04-18 | 2020-05-05 | 北京交通大学 | 一种基于网格模型的信号交叉口运行评价方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104408918B (zh) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110264709B (zh) | 基于图卷积网络的道路的交通流量的预测方法 | |
CN106530170B (zh) | 一种区域生态保护红线的边界优化方法 | |
CN104408918B (zh) | 基于MapReduce计算框架的浮动车数据与道路匹配的方法 | |
WO2013167085A2 (zh) | 一种基于栅格映射生长的交通网络划分方法及配置服务器 | |
CN104361110A (zh) | 海量用电数据分析***及其实时计算、数据挖掘方法 | |
CN105258704A (zh) | 基于快速路网建模的多尺度时空热点路径探测方法 | |
CN107766471A (zh) | 一种多源数据的组织管理方法与装置 | |
CN103411619A (zh) | 一种三维道路生成***及方法 | |
CN112020012B (zh) | 一种移动轨迹重建及道路匹配方法、存储介质及服务器 | |
CN110766792B (zh) | 基于ArcGIS水文分析工具网格演算次序编码方法 | |
CN105354882A (zh) | 一种大数据架构的大空间范围输电三维全景展示平台构建方法 | |
CN105335478B (zh) | 构建城市土地空间立体调查数据语义关联的方法和装置 | |
CN114063995A (zh) | 一种基于物管城市可视化的开发引擎***及方法 | |
CN113902830B (zh) | 轨迹路网生成方法 | |
CN102496033B (zh) | 基于mr计算框架的图像sift特征匹配方法 | |
CN103714124A (zh) | 超大规模低压数据处理方法 | |
CN105096589A (zh) | 一种选取交通道路中代表性节点的方法、***及客户端 | |
Wang et al. | An integrated method for calculating DEM-based RUSLE LS | |
CN104821086A (zh) | 一种定位大规模交通网络中低效路段组合的方法 | |
CN102496332A (zh) | 一种基于地理位置的道路信息编码***及其编码方法 | |
CN109102106A (zh) | 一种基于电力大数据负荷密度优化计算方法 | |
CN117113471A (zh) | 一种基于cim技术的城市仿真模型算法 | |
CN104268270A (zh) | 基于MapReduce挖掘海量社交网络数据中三角形的方法 | |
CN103458032A (zh) | 一种空间数据访问规律动态统计及信息压缩的方法及*** | |
CN111914039B (zh) | 道路网更新方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |