本發(fā)明屬于信息技術(shù)領(lǐng)域,具體涉及一種可視化分析城市公共自行車系統(tǒng)借還模式的方法。
背景技術(shù):
城市公共自行車系統(tǒng)提供了共享的自行車租賃服務(wù),是一種新型、綠色的公共交通出行模式。近10年來,世界各大城市,如巴黎、紐約、巴塞羅那等都建立了公共自行車系統(tǒng)。
在一個擁有公共自行車系統(tǒng)的城市中,遍布著公共自行車站點(diǎn)。每個站點(diǎn)中有多個鎖止器,用于停放車量。用戶通過IC卡從離出發(fā)地較近的站點(diǎn)借車,并將車輛歸還到離目的地較近的站點(diǎn)。利用先進(jìn)的網(wǎng)絡(luò)技術(shù),車輛的租借信息可以被跟蹤并存儲在數(shù)據(jù)庫中,這些信息包含了用戶在城市空間中運(yùn)動的數(shù)字足跡,是用于理解系統(tǒng)運(yùn)營、輔助交通決策的重要依據(jù)。
由于用戶使用該系統(tǒng)時,可以基于每天不同的出行需求,隨意選取借還路徑和時間,導(dǎo)致車輛借還軌跡包含高度的可變性。交通管理人員通常不具有專業(yè)的數(shù)據(jù)分析和數(shù)據(jù)庫操作知識,無法直觀地理解系統(tǒng)中車輛的借還模式,進(jìn)行管理和決策。采用可視化分析的方法能挖掘公共自行車數(shù)據(jù)集合中蘊(yùn)藏的規(guī)律?,F(xiàn)有的可視分析方法使用簡單的柱狀圖、折線圖等展示數(shù)據(jù)的時空屬性,不僅沒有針對數(shù)據(jù)的固有特點(diǎn)設(shè)計(jì)相適應(yīng)的可視化表示,而且缺乏對影響車輛借還多重因素(如天氣狀況、節(jié)假日等)的綜合分析。
因此,需要結(jié)合時間、空間和多維屬性的視角設(shè)計(jì)可視化視圖,讓用戶通過易于理解的圖形表示直觀地分析數(shù)據(jù)規(guī)律,支持以用戶為驅(qū)動對城市公共自行車系統(tǒng)借還模式進(jìn)行交互式探索,從而幫助交通工作人員更好地管理系統(tǒng)和調(diào)度車輛,緩解城市交通壓力,同時也可以為市民騎車出行提供建議。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是針對動態(tài)、多元的公共自行車數(shù)據(jù)集合,提出一種可視化分析城市公共自行車系統(tǒng)借還模式的方法。本發(fā)明設(shè)計(jì)多個可視化視圖展現(xiàn)數(shù)據(jù)集在時間、空間和多維屬性上的特點(diǎn),幫助管理部門理解站點(diǎn)運(yùn)營的主要功能,挖掘某時間段內(nèi)車輛移動的主流方向,分析多種因素對借還數(shù)量的影響。
本發(fā)明采用的技術(shù)方案如下包括如下步驟:
步驟1:收集公共自行車數(shù)據(jù),并對數(shù)據(jù)進(jìn)行預(yù)處理。
步驟2:基于空間視角,設(shè)計(jì)地理視圖,通過地理視圖直觀展示站點(diǎn)的地理位置分布,同時提供空間過濾功能,幫助分析者交互式地選取站點(diǎn)或站點(diǎn)集合。
步驟3:基于時間視角,設(shè)計(jì)單站點(diǎn)借還時域熱度視圖。采用類似表格的可視編碼方式,展示某個站點(diǎn)在不同時間段內(nèi)借還量的變化和差異,發(fā)現(xiàn)長期車輛短缺的站點(diǎn)和時間段,更好地輔助車輛調(diào)度。
步驟4:基于空間視角,設(shè)計(jì)站點(diǎn)借還關(guān)聯(lián)視圖,展示多對多的站點(diǎn)借還關(guān)系。
步驟5:設(shè)計(jì)多屬性視圖,主要分析在不同天氣狀況、日期屬性等多個因素作用下,對車輛的借還數(shù)量有何種影響。
所述步驟1包括:
步驟1.1:獲取近3個月的自行車租借數(shù)據(jù)集合。其中自行車租借數(shù)據(jù)表存儲了所有用戶租車出行的相關(guān)信息。一條租借記錄如下表示:
hire_r=[uID,bikeID,cardNo,leaseStat,leaseTime,returnStat,returnTime]
分別表示用戶ID、車輛ID、用戶卡號、借車站點(diǎn)、借車時間、還車站點(diǎn)和還車時間。
站點(diǎn)信息表存儲了自行車站點(diǎn)相關(guān)的信息,一條站點(diǎn)記錄表示如下:
statInfo_r=[statID,statName,statAddr,lng,lat,serviceTime]
分別表示站點(diǎn)ID、站點(diǎn)名稱、站點(diǎn)地址、經(jīng)度和緯度、服務(wù)時間。
步驟1.2:對數(shù)據(jù)進(jìn)行預(yù)處理,刪除無用的租借記錄。
無用的租借記錄包括3類:(1)還車的站點(diǎn)為空值(returnStat=null),這表明車輛可能遺失。(2)借車時間大于還車時間(leaseTime>returnTime),這表明數(shù)據(jù)記錄有誤。(3)借車時間和還車時間間隔小于3分鐘(returnTime-leaseTime<3min),這表明用戶并沒有真正借車,有可能是因?yàn)檐囕v有故障導(dǎo)致無法騎行,從而將車迅速歸還。
所述步驟2包括:
步驟2.1:使用百度地圖接口,基于站點(diǎn)的經(jīng)度和緯度,在地圖上用圖標(biāo)代表站點(diǎn)。當(dāng)用戶點(diǎn)擊站點(diǎn)圖標(biāo)時,彈出站點(diǎn)相關(guān)的信息。
步驟2.2:提供站點(diǎn)或站點(diǎn)集合選擇的接口。支持在地圖上點(diǎn)擊選取單個或多個站點(diǎn);提供區(qū)域套鎖工具,讓分析者在地圖上繪制一個圓形區(qū)域,得到區(qū)域中的所有站點(diǎn)。
所述步驟3包括:
步驟3.1:設(shè)計(jì)借還量熱度子視圖。其中表格行的數(shù)量為待分析日期的數(shù)量。表格列的數(shù)量為16列,對應(yīng)于公共自行車從早上6點(diǎn)到晚上9點(diǎn)的開放時間。每一行代表用戶選定的一天。行標(biāo)簽的顏色用于區(qū)分不同類別的日期,黑色表示工作日,藍(lán)色為周末,紅色為小長假。每個單元格同時展示某天某小時的借車量和還車量,左邊為借車量,右邊為還車量。單元格的顏色與借還量成比例。橙色越深,表示數(shù)值越大。通過獲取所有滿足條件的小時中的借車量和還車量,找到最大值和最小值,然后將每個值歸一化,映射到顏色尺度上。
步驟3.2:設(shè)計(jì)借還差異熱度子視圖。此時,表格中每個單元格表示某日某小時中借車量和還車量的差值,該差值被映射到一個紅-白-藍(lán)的顏色尺度下。單元格顏色越紅,表示借車量遠(yuǎn)遠(yuǎn)大于還車量,即站點(diǎn)中有很多空車位,用戶可能無車可借。單元格顏色越藍(lán),表示還車量遠(yuǎn)遠(yuǎn)大于借車量,即站點(diǎn)中停滿了車輛,用戶可能無法還車。當(dāng)借車量和還車量趨于相等,單位格顏色為白色。
所述步驟4包括:
步驟4.1:設(shè)計(jì)車輛空間走向子視圖,展示站點(diǎn)在地理空間上的聯(lián)系。當(dāng)用戶選擇一個中心站點(diǎn)時,該視圖基于指定時間段內(nèi)的租借量,計(jì)算出前N個與中心站點(diǎn)關(guān)聯(lián)最密切的站點(diǎn),同時在地圖上用弧線連接相關(guān)站點(diǎn)。每條弧線的中心有一個小箭頭,指明借還方向。弧線的粗細(xì)和透明度與相應(yīng)的借/還量相關(guān)。線越粗,越不透明,表示數(shù)量越大。當(dāng)用戶選擇多個站點(diǎn)時,同樣基于借還量在地圖上用弧線繪制多個站點(diǎn)間的關(guān)聯(lián)。
步驟4.2:設(shè)計(jì)多站點(diǎn)流量關(guān)聯(lián)子視圖,采用和弦圖可視化編碼多個站點(diǎn)間的借還數(shù)量。一條弧對應(yīng)于一個站點(diǎn)。弧的長度正比于該站點(diǎn)指定時間段內(nèi)的借還量總和。一條弦編碼了兩個站點(diǎn)間的借還量差異。假設(shè)一條弦從弧A出發(fā),去往弧B。該弦在弧A上占的長度表示從站點(diǎn)A借車,還到站點(diǎn)B的自行車數(shù)量。相應(yīng)的,該弦在弧B上占的長度表示從站點(diǎn)B借車還到站點(diǎn)A的自行車數(shù)量。如果一條弦在兩端弧上的長度差異很大,表示兩個站點(diǎn)間的雙向流量有很大差別。對于一個特定站點(diǎn)來說,如果借車量很大,而還車量很小,表明很多人從那個站點(diǎn)出發(fā)。反之,如果很多人還車到該站點(diǎn),而很少有人從該站點(diǎn)借車,表明這是一個目的地站點(diǎn)。當(dāng)分析者用鼠標(biāo)移動到某條弧上時,僅與該弧相關(guān)的弦被顯示。
所述步驟5包括:
步驟5.1:生成一個多影響因素?cái)?shù)據(jù)表,存儲給定分析時間段內(nèi)每一天的日期屬性和天氣狀況。其中日期屬性(is_holiday)有三個屬性值:工作日、周末、小長假。從互聯(lián)網(wǎng)上抓取天氣狀況,存儲到數(shù)據(jù)表中。包括平均溫度屬性(avgTemp)、天氣屬性(weather)和風(fēng)速屬性(wind)。天氣屬性有七個屬性值:晴天、多云、陣雨、小雨、中雨、大雨、下雪。風(fēng)速屬性有四個屬性值:風(fēng)力小于3級,風(fēng)力3-4級,風(fēng)力4-5級,風(fēng)力大于5級。分析上述屬性對借車量(bikeNum)的影響,將借車量也看做為一個屬性。這些屬性可以分為兩類:數(shù)值屬性(avgTemp,bikeNum)和類別屬性(is_holiday,weather,wind)。類別屬性的屬性值是離散的,僅包括某些特定值,而數(shù)值屬性的屬性值是連續(xù)的。
步驟5.2:設(shè)計(jì)一種新的基于線和集合的平行坐標(biāo)組件,同時展示具有類別和數(shù)值屬性的多元數(shù)據(jù)集的特征。
步驟5.2.1:基于屬性特點(diǎn),繪制坐標(biāo)軸,從左到右分別對應(yīng)于五個屬性:avgTemp,bikeNum,weather,isHoliday,wind。繪制五個相互平行且垂直于水平面的坐標(biāo)軸。前兩個軸代表數(shù)值屬性,用一條直線表示,直線上有相應(yīng)的坐標(biāo),用直線連接表示坐標(biāo)軸之間的關(guān)聯(lián)。后三個軸代表類別屬性,用一個長方形表示,每個屬性值分別占長方形的一小段,稱之為軸柱。軸柱的顏色用于區(qū)分不同的屬性值,軸柱的數(shù)量為所有屬性值的取值數(shù)。一個軸柱再根據(jù)某個站點(diǎn)所占的當(dāng)前屬性值的比例,被繼續(xù)劃分為子軸柱。用四邊形連接兩個子軸柱。
對于兩個相平行的類別屬性軸,為了計(jì)算軸柱的高度和四邊形的寬度。首先對于給定的站點(diǎn)statID,檢索生成包含影響租車量多個因素的記錄,其中date表示某一天的日期:
multiFac_rec=[statID,date,avgTemp,bikeNum,weather,isHoliday,wind]
{multiFac_rec}statID表示statID站點(diǎn)的多影響因素記錄集合。從{multiFac_rec}statID中檢索得到符合條件的有效數(shù)據(jù)項(xiàng)的數(shù)量fk,i,j,其中k對應(yīng)于站點(diǎn)ID,i為左邊軸上的某個屬性值,j為右邊軸上的某個屬性值。假設(shè)左邊軸代表weather,而右邊軸代表isHoliday。當(dāng)屬性值(i)=“晴天”,屬性值(j)=“工作日”,則fk,i,j表示在{multiFac_rec}statID中,滿足statID=k,weather=“晴天”,isHoliday=“工作日”的數(shù)據(jù)項(xiàng)數(shù)量。連接兩個子軸柱的四邊形寬度由freqk,i,j所決定,左邊軸上每個軸柱的長度與sum_lAxis_freq成正比,代表每個屬性值出現(xiàn)的頻率,類似的,右邊軸上每個軸柱的長度與sum_rAxis_freq成正比,站點(diǎn)名字的圖例顯示在上方,底部是軸柱顏色的圖例。
當(dāng)兩個相鄰的軸分別代表數(shù)值屬性和類別屬性時,從數(shù)值屬性出發(fā)的線條都匯聚到類別屬性軸柱的中心點(diǎn)。
步驟5.2.2:由于直接展示所有的數(shù)據(jù)項(xiàng)看起來很雜亂,為了能更清晰地挖掘多個影響因素間的關(guān)聯(lián),提供與組件交互的方式,幫助分析者過濾數(shù)據(jù)。當(dāng)鼠標(biāo)移動到連接兩個數(shù)值屬性的線條上時,該線被強(qiáng)化,同時彈出和該線相關(guān)聯(lián)所有屬性取值的提示框。當(dāng)分析者選擇一個四邊形時,所有相關(guān)的連接都被顯示,而不相關(guān)的連接被隱藏。
步驟2、步驟3、步驟4、步驟5中的四個視圖是相互關(guān)聯(lián)的。當(dāng)時間和空間的過濾條件變化后,相關(guān)的視圖會自動更新。若用戶希望挖掘一個站點(diǎn)的特征,單站點(diǎn)借還時域熱度視圖、站點(diǎn)借還關(guān)聯(lián)視圖中的車輛空間走向子視圖、多屬性視圖被更新,此時多屬性視圖中的分析站點(diǎn)數(shù)為1。當(dāng)用戶希望比較多個站點(diǎn)時,站點(diǎn)借還關(guān)聯(lián)視圖中的兩個子圖、多屬性視圖被更新。
本發(fā)明相對現(xiàn)有技術(shù)而言所具有的優(yōu)點(diǎn)和效果如下:
本發(fā)明的方法的特色和創(chuàng)新在于,提出一種新的探測公共自行車動態(tài)借還模式的方法,通過綜合空間、時間、多維屬性視角,針對數(shù)據(jù)固有特點(diǎn)設(shè)計(jì)相適應(yīng)的可視化表示,呈現(xiàn)數(shù)據(jù)中隱藏的特征;提出了一種新的可視化表示方式“基于線和集合的平行坐標(biāo)”,同時展示具有類別屬性和數(shù)值屬性的多元數(shù)據(jù)集的特征,支持分析者交互式地挖掘不同異質(zhì)因素對租車量的影響。該發(fā)明能夠有效地提高交通管理人員對于公共自行車系統(tǒng)運(yùn)營情況的認(rèn)知,提高數(shù)據(jù)分析效率,為站點(diǎn)管理、車輛調(diào)度提供輔助決策。
附圖說明
下面結(jié)合附圖對本發(fā)明作進(jìn)一步說明。
圖1為本發(fā)明所述可視化分析方法的流程圖。
圖2為對單個站點(diǎn)“求知小學(xué)”進(jìn)行分析的過程圖。
圖3為分析特定時間段內(nèi)車輛運(yùn)動主流方向的過程圖。
圖4為分析多個站點(diǎn)多因素對租借量影響的過程圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對本發(fā)明做進(jìn)一步說明。
如圖1為本發(fā)明所述可視化分析方法的流程圖。用戶首先選擇分析時間段,然后指定分析單個站點(diǎn)還是站點(diǎn)集合。當(dāng)用戶在地理視圖中選定一個站點(diǎn)后,單站點(diǎn)借還時域熱度視圖、站點(diǎn)借還關(guān)聯(lián)視圖中的車輛空間走向子視圖和多屬性視圖同步更新,綜合用于分析該站點(diǎn)的特征。當(dāng)用戶選定多個站點(diǎn)后,站點(diǎn)借還關(guān)聯(lián)視圖的兩個子視圖和多屬性視圖被同步更新,展示多個站點(diǎn)間的關(guān)聯(lián)和差異。
如圖2給出了單個站點(diǎn)“求知小學(xué)”的分析過程圖。圖2(a)為一周內(nèi)站點(diǎn)借還量熱度子視圖。從圖中可以發(fā)現(xiàn),該站點(diǎn)在工作日的早晚高峰有很大的借/還車量,具體時間集中于早上7點(diǎn)到8點(diǎn),傍晚4點(diǎn)到5點(diǎn),對應(yīng)于學(xué)生的上學(xué)和放學(xué)時間。圖2(b)為對應(yīng)時間段的借還差異熱度子視圖。從中可以看出,在早高峰期間,有較多深紅色的單元格,表明很多人從這里借車。而在晚高峰期間,有較多深藍(lán)色的單元格,表明在傍晚很多人還車到這里。圖2(c)給出了以該站點(diǎn)(五角星圖標(biāo)表示)為中心的車輛空間走向子視圖。通過點(diǎn)擊關(guān)聯(lián)站點(diǎn)的圖標(biāo),查看具體的站點(diǎn)信息,發(fā)現(xiàn)與該站點(diǎn)關(guān)聯(lián)緊密的站點(diǎn)主要包括公交車站、居民區(qū)和工廠。綜合上述分析結(jié)果,可以總結(jié)認(rèn)為該站點(diǎn)主要用于通勤,建議管理人員關(guān)注該站點(diǎn)早晚高峰段內(nèi)車輛的移除和補(bǔ)充。
如圖3給出了分析特定時間段內(nèi)車輛運(yùn)動主流方向的過程圖。為了發(fā)現(xiàn)市民在節(jié)假日期間瀏覽西湖景區(qū)的主流方向,分析者首先在地理視圖上選定西湖景區(qū)周邊的多個站點(diǎn),并選擇小長假中的一天4月5日,查看多站點(diǎn)流量關(guān)聯(lián)子視圖(圖3(a))。當(dāng)鼠標(biāo)移動到代表“少年宮”站點(diǎn)的弧上時,從該站點(diǎn)借車的相關(guān)信息被顯示。從弧的長度可以看出,少年宮擁有最大的借還車數(shù)量。從“少年宮”借車,大多數(shù)車還到了“平湖秋月”,接下來是“曲院風(fēng)荷北”和“杭州花圃”,并且從弦兩端的長度看出,這些站點(diǎn)之間的流量差異明顯。這表明“少年宮”是一個很大的出發(fā)站點(diǎn)。然后將鼠標(biāo)移動到代表“平湖秋月”站點(diǎn)的弧上,發(fā)現(xiàn)從該站點(diǎn)借車,大多數(shù)車還往“蘇堤南口”。繼續(xù)移動鼠標(biāo)到“蘇堤南口”的弧上,發(fā)現(xiàn)最大的還車關(guān)聯(lián)站點(diǎn)為“長橋”。從而可以推斷出西湖邊一條主流的瀏覽路徑:“少年宮”→“平湖秋月”→“蘇堤南口”→“長橋”。圖3(b)給出了該路徑在地理位置上的標(biāo)識,是從西湖北線前往南線的方向。
如圖4給出了多個站點(diǎn)多因素對租借量影響的過程圖。分析者首先選定四個站點(diǎn):“金秋大廈”、“平湖秋月”、“少年宮”、“求知小學(xué)”。圖4(a)為生成的基于線和集合的平行坐標(biāo)組件概覽圖,從中發(fā)現(xiàn),租借量最高的記錄是由“少年宮”站點(diǎn)在周末和節(jié)假日產(chǎn)生的?!敖鹎锎髲B”具有相對較高的平均租借量,從bikeNum軸中綠色線處于相對較高的位置可以得知?!扒笾W(xué)”的借車量相對較小。當(dāng)鼠標(biāo)移動到一條線上時,可以查看相關(guān)屬性取值。圖4(b)給出了平湖秋月站點(diǎn),查看weather為“多云”,isHoliday為“周末”時的交互結(jié)果,從中發(fā)現(xiàn),用戶在天氣情況較好的周末借車出行量較大。