如何洞悉城市人群移動規律?DataV海量軌跡視覺化實踐解析

阿里技術_發表於2018-10-22

640?wx_fmt=jpeg

阿里妹導讀軌跡資料和我們的生活息息相關:小到掃地機器人的室內清潔線路,大到跨省跨國跨洲的旅行,短到一次共享單車騎行,長到十年如一日的通訊基站記錄。對城市治理而言,挖掘人群和車輛的移動規律,能幫助決策者更好地規劃城市交通、保障公共安全、響應突發事件,讓城市變得更智慧、更高效。


經典軌跡展現方式的侷限


軌跡資料描述了時空維度中,移動物件的空間位置和屬性隨時間的變化。在這些移動物件(如人、車輛等)移動過程中,每隔一段時間,他們的位置及其他屬性會通過所攜帶的裝置(如手機、感測器等)被記錄下來,形成了一個取樣點資料。對於一個移動物件而言,多個取樣點資料按時間順序排列,構成了該物件軌跡資料。


然而,軌跡資料來源諸多(包括但不限於手機信令資料、車輛GPS資料、Wifi-嗅探資料、簽到資料等)且時時刻刻有新資料產生,導致軌跡資料體量十分巨大,造成嚴重的視覺混淆和渲染壓力。因此,我們藉助可視分析技術,通過將軌跡資料轉化流場資料,不僅保留軌跡資料的主要特徵,同時大大降低資料體量,從而更好地洞察城市中人群的移動規律。


在使用可視分析技術對軌跡資料進行分析和挖掘時,一個很重要的任務是將軌跡視覺化在互動介面上,為使用者提供觀察和探索的空間。對於軌跡資料的表達方法,在這個領域已經有了一定的研究,傳統的方法有路徑連線法和飛線法。其中,路徑連線法將每個物件的軌跡資料中的取樣點按照時間順序進行連線,再使用其他的視覺通道,如顏色、寬度和線形等編碼物件的其他屬性。這種方法是最直觀的軌跡展現形式,它能夠清晰地展現移動物件途徑的空間位置,DataV在“基礎平面地圖”和“3D地圖”元件中“線熱力層”子元件採用的就是這種視覺化形式。


飛線法和路徑連線法相似,不同之處在於,它通過動畫的形式模擬移動物件的移動,一般情況,使用一個帶有箭頭的線段來編碼移動物件,線段會按照時間順序在取樣點之間移動,這種方法能夠更加清晰地反映移動物件的運動方向,並且具有較為炫酷的視覺效果,DataV各地圖元件中的“飛線層”和“3D地圖”元件中的“弧線層”、“軌跡層”、“路網軌跡層”都是這種視覺化方法的實現,去年雙十一驚豔亮相的“閃電圖”中的閃電特效同樣是採用飛線法實現的。


640?wx_fmt=png

路徑連線法應用:採用DataV中的“線熱力層”元件視覺化全國物流乾網


640?wx_fmt=png

飛線法應用:採用DataV視覺化杭州一天的計程車軌跡

640?wx_fmt=png

飛線法應用:DataV雙十一全國快遞“閃電”大屏,每條閃電模擬了寶貝沿著真實路網從賣家發向買家的過程


以上兩種視覺化形式都是經典軌跡資料視覺化方法,但它們也存在力不從心的時候,當針對海量軌跡資料應用這些方法時,由於資料體量驚人,原先直觀清晰的視覺表達出現了大量的遮擋和重疊,如果處理不當,會很大程度上影響使用者的觀察和探索。此外,資料體量的提升帶來了巨大的繪製壓力,使用者需要不斷地提升硬體裝置的效能才能應對,無形之中提高了軌跡分析的門檻。因此,針對海量軌跡資料,我們需要一種更為有效的視覺化方法來洞察城市中移動物件的移動規律。


流場生成演算法


經過研究,我們提出了一種針對海量軌跡資料的流場生成演算法,能夠將特定時間片段內的軌跡資料轉化為流場資料,從而對“人流”、“車流”等進行表達和刻畫。這種方法的特點在於,它沒有直接對海量軌跡資料進行視覺化,而是將軌跡資料進行一定的聚合,提取軌跡資料的主要特徵,將軌跡資料轉化為流場資料,再對選擇合適的視覺化方法對流場資料進行展現。由於流場資料保留了軌跡資料主要特徵的同時大大降低了資料體量,因此能夠在消除視覺遮擋和減輕繪製壓力的同時,清晰直觀地反映城市中移動物件的移動的規律。


演算法的主要流程如下圖所示:


640?wx_fmt=png


1)統計軌跡點向量


軌跡資料是由若干個取樣點資料構成,取樣點資料包括軌跡點位置、時間及其他屬性資訊。我們首先根據所有采樣點資料統計出軌跡點的位置,再根據軌跡資料中兩兩取樣點之間的流入流出情況,計算每個軌跡點出入向量的方向和大小,其中大小又包括軌跡數量和移動物件的速度;


2)過濾軌跡點向量


對於上一步中所得到的軌跡點的所有出入向量,方法將根據自定義的軌跡數量閾值對其進行過濾,篩選得到每個軌跡點的主要出入向量;


3)生成軌跡點主向量


在這一步中,方法根據使用者自定義的流場方向,對上一步得到的每個軌跡點所有的出入主向量按方向進行分類和聚合,在各個方向上生成至多一個主出向量和至多一個主入向量。在生成各個方向上的主向量的同時,需要統計各個方向內向量的平均速度、平均移動距離和平均差異角度;


4)擴散軌跡點主向量


接下來,將n*m的網格平鋪到使用者指定的區域內,將每個軌跡點在各個方向上的主向量按照一定條件和規則擴散到n*m的網格中。其中,在進行擴散時,擴散在網格內的向量,方向和速度保持不變,軌跡數量遞減,而只有滿足以下條件,一個網格才會受到某主向量的輻射影響:


  • 被擴散網格中心與軌跡點之間的距離不大於軌跡點的平均移動距離;

  • 當擴散向量為入向量時,被擴散網格中心與軌跡點形成的向量與擴散主向量之間的角度應該處於[180-平均差異角度,180+平均差異角度]之間;當擴散向量為出向量時,被擴散網格中心與軌跡點形成的向量與擴散主向量之間的角度應該處於[-平均差異角度,+平均差異角度]之間。


5)計算網格主向量


在上一步中,同一個網格可能會受多個向量的輻射影響,產生多個擴散向量,因此,在這一步中,需要計算每個網格中各方向上的聚合向量(包含了流場方向、移動速度和軌跡數量),得到最終的流場資料。


在方法中,需要定義軌跡數量閾值、流場方向和網格個數。軌跡數量閾值主要用於過濾軌跡點向量,過濾是為了保留主要的軌跡,防止“噪聲”對結果準確性的干擾;而對流場進行分向計算,則避免了相對方向上的移動抵消,從而能夠保留更多的細節資訊,使得最終結果更加準確;而在定義網格個數時,需要平衡個數較多所帶來的計算壓力和個數較少帶來的粗糙效果。為了使得方法具有一定的自適應性,我們在擴散向量時,並沒有採用固定的角度和距離,我們使用各方向上的平均移動距離和平均差異角度,使得擴散能夠適應不同的向量分佈,結果更加合理。


軌跡流場案例


以上是我們提出的針對海量軌跡資料的流場生成演算法的簡要流程,下圖是方法根據某市2017年8月14日早上8:00到8:10間的手機信令資料視覺化的效果:


640?wx_fmt=png


在這個案例中,我們採用了粒子流動來表現流場資料,網格內粒子的數量即為軌跡數量(移動物件數量),粒子的移動方向代表移動物件的移動方向,粒子的顏色和速度均表示移動物件的移動速度,其中速度越大顏色越接近藍色,速度越小顏色越接近紅色。同時,我們提供了一些控制元件,用於調整流場方向、軌跡數量閾值和網格個數等引數,用於互動查詢。通過這種方式,大大降低了繪製量並減少了視覺重疊,從而能夠清晰觀察城市內人群移動。


DataV不僅在資料大屏領域為各行各業的客戶提供支援和服務,在大資料的可視分析的研究上,也在進行積極的探索。無論是最近推出的智慧場館解決方案,還是海量軌跡的流場生成方法,都是新的嘗試,我們將不忘初心,繼續努力,為大家帶來更好的視覺化產品。

 

本文所涉及資料均由客戶提供

640?wx_fmt=png

阿里巴巴數學大賽賽題、官方參考答案現已公佈。

長按識別以下二維碼,關注“阿里巴巴機器智慧”公眾號,回覆“數學大賽”,即可下載。


640?wx_fmt=jpeg

 ↑ 翹首以盼等你關注


640?wx_fmt=gif

你可能還喜歡

點選下方圖片即可閱讀


640?wx_fmt=jpeg

阿里巴巴為什麼選擇Apache Flink?


640?wx_fmt=jpeg

領域驅動設計,盒馬技術團隊這麼做


640?wx_fmt=jpeg

看完這8本演算法好書,才算真正懂了 AI



640?wx_fmt=jpeg

關注「阿里技術」

把握前沿技術脈搏

相關文章