本發明涉及交通數據可視化領域,尤其涉及一種基于出租車軌跡數據的交通出行共現現象的可視化分析方法。
背景技術:
:城市中人類移動規律中的共現現象是指來自兩個區域的人們在同一個時間段內訪問同一個城市區域。分析共現現象在社會和商業方面有極大的應用價值,如行人出行建議、交通規劃、傳染病預防、商業活動和信息傳播。隨著車載GPS設備的廣泛普及,大量追蹤人類移動軌跡的數據可以被獲取到。數據驅動分析的新機會油然而生。由于缺少系統高效的方法,人們在有效分析復雜數據方面面臨巨大困難。而數據可視化將人類的能力和直觀的可視化界面相結合,可以顯著降低數據分析難度。技術實現要素:本發明的目的是利用新型的可視化方法進行基于網頁的交互式分析,降低數據分析的復雜度,致力于提供簡單清晰的視覺表達,深入挖掘車輛行車軌跡中隱藏的共現現象。在本發明中使用包含多種可視化形式的多個視圖結合來進行基于空間環境、區域和時間的共現現象探索。該可視化設計是首次基于車輛行車軌跡數據的專門化的一組可視化設計,來深入挖掘人類移動規律中的共現現象?;谡鎸崝祿膶嵗治鲎C明了該可視化設計在分析共現方面的有效性和實效性,驗證了本發明可以為挖掘人類移動規律和分析車輛行車軌跡數據提供有效信息。一種基于出租車軌跡數據的交通出行共現現象的可視化分析方法,其包括以下步驟:S1:對出租車軌跡數據進行預處理S2:對S1所述出租車軌跡數據進行車輛映射S3:從S2所述進行車輛映射后的出租車數據中提取出共現事件數據S4:對S3所述共現事件數據進行可視化展示其中S1具體包括:出租車軌跡數據的清洗,包括清除錯誤、異常值和沖突值;出租車軌跡數據的匹配,包括將記錄的離散的點與路網匹配。其中S2包括如下步驟:S2.1:區域劃分,研究區域定位為:緯度在31.105到31.425之間,經度在121.185到121.865之間,之后將整個研究區域劃分成規則的矩形,每個小區域的大小為經緯度0.02*0.02,將經緯度分別為lat,lng的位置計算后劃分到相應區域并計算其區域編號,計算公式如下:Location=(floor((CONVERT(decimal(7,3),lng)-121.185)*50)+floor((CONVERT(decimal(7,3),lat)-31.105)*50)*34)其中decimal(7,3)函數定義了數據的精度為7位有效數字小數點前3位數字,CONVERT(decimal(7,3),lng)函數為將數據集中的經度信息轉換成一共7位有效數字小數點前3位數字的數字格式,floor()函數為對括號內的數字向下取整,以使得到的區域編號均為整數;S2.2:時間劃分,將全天劃分成24個均勻的時間間隔,每個時間間隔為1小時,首先利用轉換函數convert(datetime,starttime,120)將行車開始時間starttime轉換成標準時間格式,然后利用datepart()函數得到時間的hour部分,計算公式如下:Time=datepart([hour],convert(datetime,starttime,120))其中S3包括如下步驟:S3.1:在圖結構G=(V,E)對共現進行建模:區域作為點,共現事件作為邊;S3.2:構建一系列子圖,每個子圖代表一個時間間隔,在每個子圖中,當且僅當兩個點之間發生共現是才會在這兩點和共現發生的區域之間添加一條邊,對于每條邊,會添加一條權向量,表示參與共現的區域的行車數;S3.3:對所有子圖的數據在共現事件的地點和時間間隔上聚集形成完整共現圖。其中S4包括如下步驟:S4.1:基于空間環境的探索,利用包含路徑圖熱圖密度圖和地圖的地圖視圖來顯示S3.2和S3.3所生成的數據;S4.2:基于區域的探索,利用包含扇形圖(p,m,n)的區域視圖來顯示共現的區域特性,其中p表示與特定區域共現的區域,m表示該區域參與共現的行車數,n表示兩個區域之間的距離;S4.3:基于時間的探索,利用包含柱狀圖的流量視圖來顯示S3.2和S3.3所生成的數據中的共現事件數量;其中S4.2中距離數據計算包括如下步驟:S4.2.1:將區域編號轉換成對應經緯度,定義區域內所有行車位置使用的都是該區域的左上角坐標,將行車的起始位置startP和終止位置endP轉換成相應的坐標lat1,lng1,lat2,lng2,計算公式如下:S4.2.2:行車起始位置lat1,lng1和終止位置lat2,lng2之間的實際距離計算公式如下:Distance=CONVERT(decimal(7,3),(6730×acos(sin(lat1×PI()/180)×sin(lat2×PI()/180)+cos(lat1×PI()/180)×cos(lat2×PI()/180)×cos((lng1-lng2)×PI()/180))))其中decimal()函數和CONVERT()函數同S2.1中釋義,分別為定義數據精度和轉換數據格式,在數據庫SQL語句中PI()函數返回浮點型的π值。本發明的方法經過基本的數據預處理之后,對數據進行區域劃分和時間劃分將車輛映射到不同的車輛群中,之后將數據建模在圖結構中,提取出共現事件數據,基于數據特點和設計原理探討分析任務,提出可視化設計流程,將多種可視化方法結合,實現了包含三個視圖的可視化設計方案,為共現現象分析提供一種簡明清晰的表現形式,基于上海出租車軌跡數據集的實例分析驗證我們的可視化設計可以從多角度多層次進行共現現象的直觀分析。附圖說明圖1為一種基于出租車軌跡數據探索城市交通出行規律中共現現象的可視化設計流程圖。圖2為本發明的探索目的——共現的定義示意圖。圖3為本發明基于的出租車軌跡數據的數據處理流程圖。圖4為本發明實施案例利用上海市2015年4月的出租車軌跡數據中提取的全天共現事件數據得到的全局共現流入概覽的地圖視圖效果圖。圖5為本發明實施案例利用上海市2015年4月的出租車軌跡數據中提取的時間間隔共現事件數據得到的在早上7時全局共現數量的地圖視圖效果圖。圖6為本發明在圖4中選擇虹橋機場所在區域后的虹橋機場共現事件流入的地圖視圖效果圖。圖7為本發明實施案例利用上海市2015年4月的出租車軌跡數據中提取的全天共現事件數據得到的全局共現流入熱度概覽的熱圖效果圖。圖8為本發明實施案例利用上海市2015年4月的出租車軌跡數據中提取的時間間隔共現事件數據得到的虹橋機場共現區域特性的區域視圖效果圖。圖9為本發明實施案例利用上海市2015年4月的出租車軌跡數據中提取的全天共現事件數據得到的全局共現數量的流量視圖效果圖。具體實施方式本發明實施例提供了一種基于出租車軌跡數據的交通出行共現現象的可視化分析方法,流程如圖1所示,該設計包括以下步驟:S1:對記錄了上海市13310輛出租車在2015年4月20日全天的GPS數據生成的軌跡數據進行預處理。其中GPS原始數據記錄的屬性如下表1所示。編號名稱注釋1ID軌跡編號2VEHICLEID車輛編號3LONGGPS經度4LATGPS緯度5RATEGPS速度6ANGLEGPS方位7DATE_TIME日期時間8STATE狀態(1:載客,0:空載)9EXTENDSTAT10RESERVEDS2:對記錄了上海市13310輛出租車在2015年4月20日全天的GPS數據生成的軌跡數據進行車輛映射,將車輛映射到相應的車輛群,步驟如下:S2.1:區域劃分,為了方便區域劃分,在整個研究區域上選出規整的大矩形,根據使用的數據集基于的城市上海,將研究區域定位為:緯度在31.105到31.425之間,經度在121.185到121.865之間(參照OpenStreetMap中GPS標準),之后將整個研究區域劃分成規則的矩形,每個小區域的大小為經緯度0.02*0.02(考慮到現實生活中,一個工作區,一個商圈,或者一個大學的面積大小,我們將每個矩形定義為經緯度0.02*0.02,這在實際中約為長1000米寬800米的矩形),將經緯度分別為lat,lng的位置計算后劃分到相應區域并計算其區域編號,計算公式如下:Location=(floor((CONVERT(decimal(7,3),lng)-121.185)*50)+floor((CONVERT(decimal(7,3),lat)-31.105)*50)*34)其中decimal(7,3)函數定義了數據的精度為7位有效數字小數點前3位數字,CONVERT(decimal(7,3),lng)函數為將數據集中的經度信息轉換成一共7位有效數字小數點前3位數字的數字格式,floor()函數為對括號內的數字向下取整,以使得到的區域編號均為整數;S2.2:時間劃分,將全天劃分成24個均勻的時間間隔,每個時間間隔為1小時,將軌跡數據轉換為OD數據,保留一次軌跡的起點和終點,首先利用轉換函數convert(datetime,starttime,120)將行車開始時間starttime轉換成標準時間格式,然后利用datepart()函數得到時間的hour部分,計算公式如下:Time=datepart([hour],convert(datetime,starttime,120))經過區域劃分和時間劃分一次行車的時空屬性信息就表示為區域編號和時間編號。S3:從S2所述進行車輛映射后的車輛群數據中基于區域提取出共現事件數據,包括如下步驟:S3.1:在圖結構G=(V,E)中對共現事件進行建模:區域作為點,共現事件作為邊,共現的定義示意圖如圖2所示;S3.2:構建一系列子圖,每個子圖代表一個時間間隔,在每個子圖中,當且僅當兩個點之間發生共現時才會在這兩點和共現發生的區域之間添加一條邊,對于每條邊,會添加一條權向量,表示參與共現的區域的行車數;S3.3:對所有子圖的數據在共現事件的地點和時間間隔上聚集形成完整共現圖;至以上步驟,對數據的處理已經全部完成,數據處理流程如圖3所示。S4:對S3所述共現事件數據進行可視化展示,包括如下步驟:S4.1:基于空間環境的探索,利用包含路徑圖熱圖密度圖和地圖的地圖視圖來顯示S3.2和S3.3所生成的數據,地圖視圖按時間屬性細化為總視圖(如4所示)和時間片視圖(如圖5所示),地圖視圖按區域類型劃分為乘客流入圖(如圖6所示)和乘客流出圖,乘客流出圖的熱度圖如圖7所示;S4.2:基于區域的探索,利用包含扇形圖(p,m,n)的區域視圖來顯示共現的區域特性,其中p表示與特定區域共現的區域,m表示該區域參與共現的行車數,n表示兩個區域之間的距離,如圖8所示;S4.3:基于時間的探索,利用包含柱狀圖的流量視圖來顯示S3.2和S3.3所生成的數據中的共現事件數量,如圖9所示;其中S4.2中距離數據計算包括如下步驟:S4.2.1:將區域編號轉換成對應經緯度,定義區域內所有行車位置使用的都是該區域的左上角坐標,將行車的起始位置startP和終止位置endP轉換成相應的坐標lat1,lng1,lat2,lng2,計算公式如下:S4.2.2:行車起始位置lat1,lng1和終止位置lat2,lng2之間的實際距離計算公式如下:Distance=CONVERT(decimal(7,3),(6730×acos(sin(lat1×PI()/180)×sin(lat2×PI()/180)+cos(lat1×PI()/180)×cos(lat2×PI()/180)×cos((lng1-lng2)×PI()/180))))其中decimal()函數和CONVERT()函數同S2.1中釋義,分別為定義數據精度和轉換數據格式,在數據庫SQL語句中P()函數返回浮點型的π值。當前第1頁1 2 3