欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種面向海量歷史浮動車數據的分布式地圖匹配方法

文檔序號:6550395閱讀:160來源:國知局
一種面向海量歷史浮動車數據的分布式地圖匹配方法
【專利摘要】一種面向海量歷史浮動車數據的分布式地圖匹配方法,包括以下步驟:步驟(1)將海量浮動車數據上傳至Hadoop分布式文件系統;步驟(2)分布式數據清洗;步驟(3)將道路節(jié)點信息通過分布式緩存方法存儲到各個Slave子節(jié)點上時,在任何Job在節(jié)點上執(zhí)行之前,先對道路節(jié)點信息建立網格索引;步驟(4)通過Hadoop的Map-Reduce框架從分布式文件系統HDFS中讀取清洗后的浮動車數據,同樣對其進行切片處理,以128M為單元切片成多個數據塊,然后將數據塊分發(fā)到各個節(jié)點的Map-Reduce上,同時讀取分布式緩存中的道路節(jié)點信息進行地圖匹配運算,實現分布式運算;步驟(5)Reduce函數將匹配后的信息存儲到Hadoop分布式文件系統中。本發(fā)明計算速度較快、時間耗費量較小。
【專利說明】—種面向海量歷史浮動車數據的分布式地圖匹配方法

【技術領域】
[0001]本發(fā)明屬于海量數據處理計算領域和智能交通領域,具體涉及一種分布式地圖匹配方法。

【背景技術】
[0002]浮動車數據是最重要的交通數據之一,其輸出結果不僅能為相關部門提供道路實時交通狀況信息,而且可為道路建設規(guī)劃、擁堵緩解等各項工作提供定量數據分析基礎。地圖匹配技術是浮動車數據處理中最關鍵的一項內容之一,只有判斷出車輛在哪條道路上行駛,才能將GPS數據轉化為有效的道路交通狀態(tài)信息。
[0003]浮動車數據庫中往往存儲著海量的歷史數據。對這些海量歷史浮動車數據的地圖匹配是時空關聯性挖掘、缺失值插補、浮動車軌跡研究、交通限制條件挖掘等各種數據處理與分析任務的先決條件。在傳統的串行匹配技術下,普通計算海量浮動車數據進行地圖匹配會耗費大量的計算時間。以10000輛出租車每20秒返回一條浮動車數據為例,I年的浮動車紀錄約為114億條,以I秒鐘處理1000條數據為基準,總共的計算時間約為180天左右。計算時間之長令人難以忍受。因此設計分布式計算方法改變傳統計算模式,達到分而治之的效果顯得很有必要。


【發(fā)明內容】

[0004]為了克服已有現有技術中海量數據進行地圖匹配時計算速度慢、時間耗費量大的不足,本發(fā)明提供了一種基于Hadoop的分布式地圖匹配方法,實現原始數據快速清洗、計算速度較快、時間耗費量較小的面向海量歷史浮動車數據的分布式地圖匹配方法。
[0005]本發(fā)明解決其技術問題所采用的技術方案是:
[0006]一種面向海量歷史浮動車數據的分布式地圖匹配方法,所述匹配方法包括以下步驟:
[0007]步驟(I):將海量浮動車數據上傳至Hadoop分布式文件系統HDFS ;
[0008]步驟(2):分布式數據清洗,首先對原始數據進行切片,以128M為單元切片成多個數據塊,然后將數據塊分發(fā)到各個節(jié)點的Map-Reduce上進行數據預處理,依據各個數據項的判別規(guī)則,實現分布式運算,當且僅當滿足所有數據項判別規(guī)則時該數據行才會被保留,否則刪除存在數據缺失或數據明顯偏離正常值的數據行,最后將清洗后的數據重新存回Hadoop分布式文件系統HDFS上;
[0009]步驟(3):將道路節(jié)點信息通過分布式緩存方法存儲到各個Slave子節(jié)點上時,在任何Job在節(jié)點上執(zhí)行之前,先對道路節(jié)點信息建立網格索引;
[0010]步驟(4):通過Hadoop的Map-Reduce框架從分布式文件系統HDFS中讀取清洗后的浮動車數據,同樣對其進行切片處理,以128M為單元切片成多個數據塊,然后將數據塊分發(fā)到各個節(jié)點的Map-Reduce上,同時讀取分布式緩存中的道路節(jié)點信息進行地圖匹配運算,實現分布式運算;
[0011]將逐行讀取文件塊并將行號及該行內容映射為初始鍵值輸入,采用Map函數對鍵值部分進行分離處理,形成中間鍵值對〈key, value);
[0012]地圖匹配算法的Map函數的形參keyl設置為經過清洗后數據文件的行號索引,valuel設置為該行號索引所對應的數據行;
[0013]每條valuel的值讀入內存并以“,”將數據行分割成多個數據項,從各數據項中提取出經度數據項,緯度數據項,行駛方向數據項進行匹配計算;
[0014]在地圖匹配計算中引入匹配度函數(λ):匹配度是描述浮動車GPS點與一條道路的匹配度,使用(0,I)區(qū)間的浮點數進行量化,匹配度越接近1,代表該浮動車越有可能位于這條道路;

【權利要求】
1.一種面向海量歷史浮動車數據的分布式地圖匹配方法,其特征在于:所述匹配方法包括以下步驟: 步驟(1):將海量浮動車數據上傳至Hadoop分布式文件系統HDFS ; 步驟(2):分布式數據清洗,首先對原始數據進行切片,以128M為單元切片成多個數據塊,然后將數據塊分發(fā)到各個節(jié)點的Map-Reduce上進行數據預處理,依據各個數據項的判別規(guī)則,實現分布式運算,當且僅當滿足所有數據項判別規(guī)則時該數據行才會被保留,否則刪除存在數據缺失或數據明顯偏離正常值的數據行,最后將清洗后的數據重新存回Hadoop分布式文件系統HDFS上; 步驟(3):將道路節(jié)點信息通過分布式緩存方法存儲到各個Slave子節(jié)點上時,在任何Job在節(jié)點上執(zhí)行之前,先對道路節(jié)點信息建立網格索引; 步驟(4):通過Hadoop的Map-Reduce框架從分布式文件系統HDFS中讀取清洗后的浮動車數據,同樣對其進行切片處理,以128M為單元切片成多個數據塊,然后將數據塊分發(fā)到各個節(jié)點的Map-Reduce上,同時讀取分布式緩存中的道路節(jié)點信息進行地圖匹配運算,實現分布式運算; 將逐行讀取文件塊并將行號及該行內容映射為初始鍵值輸入,采用Map函數對鍵值部分進行分離處理,形成中間鍵值對〈key, value〉; 地圖匹配算法的Map函數的形參keyl設置為經過清洗后數據文件的行號索引,valuel設置為該行號索引所對應的數據行; 每條valuel的值讀入內存并以“,”將數據行分割成多個數據項,從各數據項中提取出經度數據項,緯度數據項,行駛方向數據項進行匹配計算; 在地圖匹配計算中引入匹配度函數(λ):匹配度是描述浮動車GPS點與一條道路的匹配度,使用(0,I)區(qū)間的浮點數進行量化,匹配度越接近1,代表該浮動車越有可能位于這條道路;
其中λ為道路的匹配度; d為到道路投影距離的歸一化值;
Mt ^為車輛行駛方向與道路方向夾角的歸一化值; μ !, μ 2為為匹配權重,且滿足 Ii ι+ Ii 2 = I(1_4)
其中Λ GPS—GPS平均誤差;
候選道路集合H: 候選道路集合H是在計算匹配度之前依據浮動車GPS點到各路段的投影距離d與距離閥值da之差所得出,當滿足條件da-d> O時,就把該路段加入到候選路段集合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); keyl設計為輸入原始數據的行號索引,valuel為行號索引所對應的數據行,將valuel的數據行以“,”分割成各個數據項; 各數據項分別為:日期數據項,時間數據項,地點數據項,車輛編號數據項,經度數據項,緯度數據項,行駛速度數據項,行駛方向數據項,空重車數據項; 清洗規(guī)則的設計:首先判斷分割后是否包含如上所述的九個數據項,如果不包含則不作保存直接讀取下一行;包含則進入各數據項的判別; 日期數據項清洗規(guī)則:1).判斷數據項中是否為空值;
2).判斷數據項中是否包含非數值型字符;
3).判斷數據項中的數值是否為所設定的日期; 時間數據項清洗規(guī)則:1).判斷數據項中是否為空值;
2).判斷數據項中是否包含非數值型字符;
3).判斷數據項中的數值是否在(000000,235959)范圍內; 城市編碼數據項清洗規(guī)則:1).判斷數據項中是否為空值,為空則添加該城市英文縮寫編碼到數據項中;
2).判斷數據項中的字符串是否為對應城市的英文縮寫編碼; 車輛編號數據項清洗規(guī)則:1).判斷數據項中是否為空值;
2).判斷數據項中是否包含非數值型字符;
3).判斷數據項中的車輛編號是否包含在該城市浮動車編號范圍內; 經度數據項清洗規(guī)則:1).判斷數據項中是否為空值;
2).判斷數據項中是否包含非數值型字符;
3).判斷數據項中的經度數值是否在相對應城市的經度范圍內; 緯度數據項清洗規(guī)則:1).判斷數據項中是否為空值;
2).判斷數據項中是否包含非數值型字符;
3).判斷數據項中的經度數值是否在相對應城市的緯度范圍內; 行駛速度數據項清洗規(guī)則:1).判斷數據項中是否為空值;
2).判斷數據項中是否包含非數值型字符;
3).判斷數據項是否為異常值,為負值或大于極限值的值; 行駛方向數據項清洗規(guī)則:1).判斷數據項中是否為空值;2).判斷數據項中是否包含非數值型字符;
3).判斷數據項中的行駛方向數值是否在(0,360)范圍內,這里的方向指的是與正北方向的夾角; 空重車數據項清洗規(guī)則:I).判斷數據項中是否為空值;
2).判斷數據項中是否包含非數值型字符;
3).判斷數據項中數值是否為I或為O; 最后將清洗后的各數據項按原有順序以“,”形式重新合并為數據行形式,并將該數據行作為Map函數的參數value2的值進行輸出。
3.如權利要求1或2所述的一種面向海量歷史浮動車數據的分布式地圖匹配方法,其特征在于:所述步驟(3)中,通過建立網格索引對地圖劃分成矩形小塊,如果采用傳統方法二分搜索法查找待匹配點所在的網格,需要的時間開銷為對數量級,而本索引技術采用哈希映射法,在O (I)時間查找到目標網格;傳統的緩沖區(qū)法需要以待匹配點為質心,作矩形或者圓形緩沖區(qū),計算哪些路段落在該緩沖區(qū)中,而網格索引技術在建立索引階段就對待匹配點所在網格的緩沖區(qū)中路段進行存儲,當查找到該網格時,無需通過任何計算來確定候選匹配路段,可以直接啟動匹配算法; 設地圖最大外包矩形左上角坐標(Left, Top),右下角坐標為(Right, Button),采用劃分的單元格數量為M*N,單元格大小為(Δχ,Ay)和待定位點P的坐標(X,y),根據公式(1-1) (1-2)計算出點P在劃分的網格中的行號m,列號n,式中L」為向下取整符號,
4.如權利要求1或2所述的一種面向海量歷史浮動車數據的分布式地圖匹配方法,其特征在于:在建立網格索引時,每個網格將該網格及其緩沖區(qū)內所有路段的ID存儲下來,緩沖區(qū)的選擇需要保證P的正確匹配路段一定在該網格或者其緩沖區(qū)中,若最大定位誤差為100米,則只需在最小網格外圍擴展100米得到一個虛線矩形,在該虛線矩形中一定包含P的正確匹配路段。
【文檔編號】G06F17/30GK104182453SQ201410281606
【公開日】2014年12月3日 申請日期:2014年6月20日 優(yōu)先權日:2014年6月20日
【發(fā)明者】薛益趙, 李建元, 錢濤, 倪升華, 李丹, 陳濤, 王浩 申請人:銀江股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
启东市| 全州县| 出国| 宁国市| 丹阳市| 登封市| 卢氏县| 南陵县| 东莞市| 洪江市| 安福县| 定州市| 彭山县| 盐边县| 土默特右旗| 雷山县| 云龙县| 莱芜市| 赤峰市| 裕民县| 门源| 庆元县| 贵德县| 荔波县| 太仆寺旗| 娱乐| 泉州市| 蕉岭县| 隆化县| 阿鲁科尔沁旗| 巩义市| 潞城市| 西贡区| 基隆市| 卫辉市| 合作市| 乌鲁木齐市| 金华市| 常熟市| 宜君县| 营山县|