曹 仲,李付琛,楊皓斐
(北京交通大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院交通數(shù)據(jù)分析與挖掘北京市重點(diǎn)實(shí)驗(yàn)室,北京 100044)
隨著城鎮(zhèn)化建設(shè)的發(fā)展,城市交通壓力與日俱增,根據(jù)北京市交通發(fā)展研究中心2012年的統(tǒng)計(jì),交通擁堵造成的經(jīng)濟(jì)損失達(dá)到了1056億/年[1],巨大的交通壓力給城市建設(shè)帶來了非常大的困難,如何解決交通問題成為了當(dāng)前非常緊迫的問題。目前,許多研究人員針對交通領(lǐng)域存在的問題展開了研究,包括路況、車流量推測、路段速度估計(jì)等比較詳細(xì)的工作。但是,要更好地解決交通問題,必須從更宏觀的角度去發(fā)現(xiàn)產(chǎn)生交通問題的原因,所以對城市區(qū)域間交通流分析是十分必要的。
目前交通信息獲取的方式主要有人工調(diào)查法和交通檢測器數(shù)據(jù)收集法[2]。人工調(diào)查的方式獲取數(shù)據(jù)的時(shí)間周期長,難以動態(tài)地采集數(shù)據(jù),更難做到實(shí)時(shí)性。交通檢測器獲取的數(shù)據(jù)覆蓋范圍小,難以反映整個(gè)地區(qū)的交通特征。
隨著手機(jī)設(shè)備的不斷普及以及通信網(wǎng)絡(luò)無線定位技術(shù)的不斷發(fā)展和成熟,智能交通系統(tǒng)領(lǐng)域提出了利用手機(jī)作為探測器來獲取交通信息的方法。手機(jī)作為探測器可以充分發(fā)揮手機(jī)實(shí)時(shí)性強(qiáng)、覆蓋范圍廣的特點(diǎn),將交通信息的采集范圍覆蓋到城市的各個(gè)角落。
本文使用某通信運(yùn)營商提供的北京市用戶手機(jī)信令數(shù)據(jù)來實(shí)現(xiàn)城市區(qū)域間交通流的分析,要實(shí)現(xiàn)這一目的,需要進(jìn)行以下工作:
1)手機(jī)信令數(shù)據(jù)預(yù)處理。
使用Spark大數(shù)據(jù)處理技術(shù)處理原始手機(jī)信令數(shù)據(jù),得到相應(yīng)的數(shù)據(jù)格式[3],然后去除數(shù)據(jù)中存在的噪聲,再將處理后的數(shù)據(jù)與地理位置映射起來,就得到了用戶與時(shí)間和地理位置相關(guān)的信息,稱這樣的數(shù)據(jù)為軌跡點(diǎn)。
2)軌跡的識別與切分。
通過對手機(jī)信令數(shù)據(jù)的預(yù)處理,得到每一個(gè)用戶包含地理位置的軌跡點(diǎn)集合,利用狀態(tài)識別的方法將這些點(diǎn)劃分成用戶的交通出行軌跡。使用MongoDB空間數(shù)據(jù)庫存儲軌跡數(shù)據(jù),為下一步的分析工作做準(zhǔn)備。
3)分析不同區(qū)域之間交通流的發(fā)生量和吸引量。
通過MongoDB地理位置查詢算法得到以該區(qū)域?yàn)槠瘘c(diǎn)的交通流,或以該區(qū)域?yàn)榻K點(diǎn)的交通流等分析內(nèi)容。分析不同區(qū)域之間交通流的發(fā)生量和吸引量,以及分析重點(diǎn)區(qū)域?qū)Σ煌瑓^(qū)域的吸引量。
4)區(qū)域交通流可視化。
使用BS系統(tǒng)結(jié)構(gòu),將不同區(qū)域之間的交通流量情況進(jìn)行可視化。前端頁面展示不同時(shí)段不同區(qū)域之間的交通流情況,可視化實(shí)時(shí)獲取當(dāng)前時(shí)段區(qū)域間交通流量。
國內(nèi)外學(xué)者很早就在交通信息領(lǐng)域開展研究,成果也較多,其中比較著名的是以1962年美國芝加哥市發(fā)布的《Final Report, Chicago Area Transportation Study》為基礎(chǔ)形成的四階段法[4],交通規(guī)劃的相關(guān)理論和研究從此不斷發(fā)展。隨著相關(guān)理論和方法的發(fā)展,有學(xué)者提出了將手機(jī)定位技術(shù)應(yīng)用于交通信息獲取中,并且因?yàn)槭謾C(jī)定位技術(shù)成本低、覆蓋范圍廣、數(shù)據(jù)量大等特點(diǎn),其在智能交通領(lǐng)域逐漸成為一個(gè)研究熱點(diǎn)。
法國的INRETS機(jī)構(gòu)在2000年率先開展仿真實(shí)驗(yàn),基于3條相對簡單的道路,對手機(jī)定位技術(shù)在交通數(shù)據(jù)采集精度和準(zhǔn)確性等問題上進(jìn)行分析,仿真實(shí)驗(yàn)的結(jié)果顯示,當(dāng)手機(jī)定位精度在150 m內(nèi)時(shí),其速度誤差能控制在10%以內(nèi)[5]。
Asakural等人[6]基于手機(jī)定位技術(shù),來追蹤城市居民的出行,提出將每一個(gè)手機(jī)通信點(diǎn)轉(zhuǎn)化為定位數(shù)據(jù),利用此方法建立準(zhǔn)確的居民出行模型。
東南大學(xué)的冉斌[7]教授,也較早地開展了手機(jī)數(shù)據(jù)在交通調(diào)查和交通分析中的應(yīng)用研究,將手機(jī)作為研究居民出行的理想探測器,對手機(jī)數(shù)據(jù)經(jīng)過預(yù)處理、降噪、單元映射、地圖匹配等處理后,最終可以提取居民的出行特征。利用長期的手機(jī)信令數(shù)據(jù)可以研究特定區(qū)域的交通流量變化,區(qū)域間的交通流發(fā)生和吸引關(guān)系。
通過國內(nèi)外在手機(jī)信令數(shù)據(jù)應(yīng)用于交通調(diào)查和交通分析領(lǐng)域的研究,可以總結(jié)出,基于手機(jī)信令數(shù)據(jù)的交通流分析相對于傳統(tǒng)數(shù)據(jù)的研究主要有以下2個(gè)優(yōu)勢:1)隨著基站覆蓋廣度的不斷增加和基站密度的不斷加大,獲取的位置信息日趨精確;2)移動設(shè)備的高普及率使得獲取的數(shù)據(jù)越來越完備。
手機(jī)信令數(shù)據(jù)是移動設(shè)備與基站通信過程中產(chǎn)生的數(shù)據(jù),該數(shù)據(jù)包含了時(shí)間和地理位置信息。要計(jì)算區(qū)域間交通流就要先得到用戶的交通出行信息,因此本文主要對使用手機(jī)信令數(shù)據(jù)計(jì)算區(qū)域間交通流的技術(shù)方案進(jìn)行研究。
全球移動通信系統(tǒng)(GSM),即移動通信蜂窩網(wǎng)絡(luò),是目前使用最廣泛的移動通信標(biāo)準(zhǔn),其基本結(jié)構(gòu)是以小區(qū)為單位將整個(gè)服務(wù)范圍分割開來,為了方便通信管理并強(qiáng)化移動臺移動性管理,又將GSM中的一組小區(qū)劃分為一個(gè)位置區(qū)(LA)。手機(jī)信令數(shù)據(jù)是移動設(shè)備與GSM系統(tǒng)里的基站通信過程中產(chǎn)生的數(shù)據(jù),因此信令數(shù)據(jù)中包含了所連接基站的小區(qū)號和位置區(qū)號信息,此外還包括了開始時(shí)間、結(jié)束時(shí)間、IMSI等信息。
基于某通信運(yùn)營商提供的基站位置數(shù)據(jù)和手機(jī)用戶信令數(shù)據(jù),通過數(shù)據(jù)中的手機(jī)與基站的連接信息,即可將手機(jī)用戶定位城市中的某個(gè)位置。
目前,在諸多通信網(wǎng)絡(luò)的移動臺定位技術(shù)中商業(yè)化應(yīng)用最廣泛的就是初始蜂窩小區(qū)定位技術(shù)(COO),其大致原理是根據(jù)信令數(shù)據(jù)中獲取的移動臺當(dāng)前所在的位置區(qū)與小區(qū)編號,根據(jù)其編號在后臺基站分布信息數(shù)據(jù)中查詢其所在基站的經(jīng)緯度和覆蓋半徑,得到移動臺可能所在的區(qū)域。
本文使用COO定位技術(shù),將用戶產(chǎn)生信令數(shù)據(jù)的位置定位到所連接的基站位置,得到了用戶在連接時(shí)所處的位置點(diǎn),多個(gè)位置點(diǎn)構(gòu)成了用戶的交通出行軌跡,而區(qū)域交通流的基本單元就是用戶的交通出行軌跡。
COO定位原理如圖1所示,手機(jī)與基站1產(chǎn)生了連接,在進(jìn)行定位的時(shí)候把手機(jī)的位置定位到基站1的位置。
圖1 COO定位原理示意
以某通信運(yùn)營商提供的手機(jī)信令數(shù)據(jù)為數(shù)據(jù)源進(jìn)行區(qū)域交通流的分析。因?yàn)閿?shù)據(jù)源的數(shù)據(jù)格式無法直接進(jìn)行數(shù)據(jù)分析,所以首先要進(jìn)行數(shù)據(jù)預(yù)處理將信令數(shù)據(jù)處理成系統(tǒng)需要的數(shù)據(jù)格式。提取手機(jī)信令數(shù)據(jù)中與時(shí)間和空間有關(guān)的字段,然后通過與帶有經(jīng)緯度信息的基站數(shù)據(jù)匹配,得到用戶所有帶有時(shí)間和位置信息的數(shù)據(jù)記錄,稱之為軌跡點(diǎn)。隨后,通過識別軌跡點(diǎn)是移動狀態(tài)還是駐留狀態(tài)將用戶一天的軌跡點(diǎn)切分成交通出行軌跡。
軌跡數(shù)據(jù)是具有時(shí)間和空間信息的數(shù)據(jù),在數(shù)據(jù)查詢和相關(guān)計(jì)算上都需要考慮時(shí)間和空間特性,因此使用高效率的MongoDB數(shù)據(jù)庫來存儲軌跡數(shù)據(jù)。通過使用MongoDB基于地理位置索引的區(qū)域查詢方法,計(jì)算不同區(qū)域之間的交通流量信息。
數(shù)據(jù)的整體處理流程如圖2所示。
圖2 數(shù)據(jù)處理流程
基于手機(jī)信令數(shù)據(jù)的區(qū)域間交通流計(jì)算并不會用到信令數(shù)據(jù)的所有字段信息,并且因?yàn)橥ㄐ胚^程中手機(jī)接收基站信號強(qiáng)度的變化導(dǎo)致數(shù)據(jù)中包含了乒乓切換、重復(fù)數(shù)據(jù)等噪聲數(shù)據(jù)。另外,手機(jī)信令數(shù)據(jù)并未直接包含地理位置信息,要通過一定的計(jì)算得到地理位置信息。為了將數(shù)據(jù)轉(zhuǎn)換為能用于交通流計(jì)算的數(shù)據(jù)格式,需要在進(jìn)行區(qū)域間交通流的計(jì)算前,對數(shù)據(jù)進(jìn)行預(yù)處理。
數(shù)據(jù)預(yù)處理過程包括數(shù)據(jù)降噪和地理位置映射2個(gè)步驟。
1)數(shù)據(jù)降噪。
使用Spark大數(shù)據(jù)處理技術(shù)對數(shù)據(jù)進(jìn)行分布式處理,提高數(shù)據(jù)的吞吐量。首先去除掉手機(jī)信令數(shù)據(jù)中的冗余字段,保留IMEI、開始時(shí)間、源位置區(qū)、源小區(qū)、目的位置區(qū)、目的小區(qū)、當(dāng)前位置區(qū)、當(dāng)前小區(qū)等信息。將IMEI作為用戶的唯一標(biāo)識,使用鍵值對的方式,將IMEI作為key值,IMEI相同的數(shù)據(jù)集合作為value值,并將該用戶的數(shù)據(jù)集合按時(shí)間順序排列[8]。然后依次對每一個(gè)用戶數(shù)據(jù)集合進(jìn)行遍歷從中去除數(shù)據(jù)中的乒乓切換數(shù)據(jù)。
2)地理位置映射。
手機(jī)信令數(shù)據(jù)中的位置信息是GSM蜂窩通信網(wǎng)絡(luò)中的位置區(qū)號和小區(qū)號,并沒有經(jīng)緯度信息,需要將手機(jī)信令數(shù)據(jù)和基站數(shù)據(jù)相關(guān)聯(lián),形成帶有經(jīng)緯度的用戶記錄[9]。在地理位置映射之后得到帶有時(shí)間和經(jīng)緯度信息的用戶位置記錄,將這種格式的數(shù)據(jù)稱為用戶的軌跡點(diǎn)。
在數(shù)據(jù)預(yù)處理后,得到每個(gè)用戶的所有軌跡點(diǎn),這些軌跡點(diǎn)并不是用戶一次交通出行產(chǎn)生的,而是一天中所有交通出行軌跡點(diǎn)的集合,所以要把這個(gè)集合進(jìn)行軌跡切分,得到不同的交通出行軌跡信息。
一段軌跡是在某一地區(qū)出發(fā),經(jīng)過一段路程之后到達(dá)另一地區(qū),中間用戶經(jīng)過的位置點(diǎn)連接起來就形成了用戶的一段軌跡。在此過程中,信令數(shù)據(jù)記錄的時(shí)間和位置就是用戶的軌跡點(diǎn)信息。由此可見,一段交通出行軌跡的兩端是停留狀態(tài),中間的過程是移動狀態(tài),而位于同一段軌跡上的點(diǎn)在時(shí)間上是連續(xù)的。
用戶軌跡點(diǎn)狀態(tài)設(shè)置方法如下:首先,把所有用戶的第一個(gè)點(diǎn)設(shè)置為駐留狀態(tài)[2];順序讀取用戶軌跡上相鄰的2個(gè)點(diǎn),并計(jì)算2個(gè)點(diǎn)的經(jīng)緯度距離,如果2個(gè)點(diǎn)之間的距離大于某個(gè)閾值,則認(rèn)為后一個(gè)點(diǎn)是移動狀態(tài),反之則認(rèn)為是停留狀態(tài)。把時(shí)間上連續(xù)2個(gè)及2個(gè)以上停留點(diǎn)構(gòu)成的集合稱為停留點(diǎn)集合。在初步設(shè)置狀態(tài)之后,進(jìn)行狀態(tài)的校正,去除軌跡中的短暫停留點(diǎn):如果停留點(diǎn)集合的時(shí)間跨度小于時(shí)間閾值,則把該停留點(diǎn)集合里的所有軌跡點(diǎn)狀態(tài)更改為移動狀態(tài)。對用戶所有軌跡點(diǎn)設(shè)置狀態(tài)后,將前一個(gè)停留點(diǎn)集合中的最后一個(gè)停留點(diǎn)與后一個(gè)停留點(diǎn)集合中的第一個(gè)停留點(diǎn)之間的軌跡序列切分成一段完整的出行軌跡。由此,可以得到用戶的全部出行軌跡信息。
狀態(tài)設(shè)定及更正過程如圖3所示。其步驟如下:1)按照時(shí)間順序排列用戶軌跡點(diǎn);2)按照前后2個(gè)軌跡點(diǎn)距離和距離閾值的大小關(guān)系設(shè)置狀態(tài);3)按照停留點(diǎn)集時(shí)間跨度與時(shí)間閾值的大小關(guān)系進(jìn)行狀態(tài)更正,去除如等車等原因造成的短暫停留。
圖3 狀態(tài)設(shè)定及更正
圖4 某用戶軌跡切分效果
軌跡切分的實(shí)例如圖4所示。圖中每一個(gè)標(biāo)記點(diǎn)都是該用戶的一個(gè)定位點(diǎn),不同的標(biāo)記代表不同軌跡上的點(diǎn)。從切分效果來看,基本上與人工切分的軌跡效果相同。
軌跡是一種帶有時(shí)間和空間信息的數(shù)據(jù),使用空間型數(shù)據(jù)庫MongoDB來存儲軌跡,以此來提高數(shù)據(jù)的存儲和查詢效率。MongoDB支持二維空間索引,可用于地理位置計(jì)算和查詢[10-12]。
在軌跡切分之后,把用戶的全部軌跡點(diǎn)劃分成不同的軌跡,因此一條軌跡實(shí)際上也就是一個(gè)軌跡點(diǎn)的有序子集。為了減小數(shù)據(jù)存儲空間、提高數(shù)據(jù)查詢效率,在軌跡切分之后將軌跡的必要特征提取出來進(jìn)行存儲。一條軌跡的必要特征包括:用戶唯一性標(biāo)識、軌跡的起訖點(diǎn)經(jīng)緯度、起訖時(shí)間、軌跡的距離以及軌跡的耗時(shí)等。軌跡數(shù)據(jù)的內(nèi)容如表1所示。
表1 軌跡數(shù)據(jù)內(nèi)容
字段含義字段含義IMEI用戶標(biāo)識Olat源緯度Btime開始時(shí)間Olon源經(jīng)度Etime結(jié)束時(shí)間Dlac目的位置區(qū)Distance軌跡距離Dci目的小區(qū)Duration出行耗時(shí)Dlat目的緯度Olac源位置區(qū)Dlon目的經(jīng)度Oci源小區(qū)
MongoDB支持的地理位置索引有2種:1)2D平面索引,用于平面坐標(biāo)系的計(jì)算;2)2D Sphere球面索引,用于球面坐標(biāo)的計(jì)算。本文使用的經(jīng)緯度坐標(biāo)屬于平面坐標(biāo)系,所以使用2D平面索引。
計(jì)算一個(gè)區(qū)域間的交通流量,包含2個(gè)方面:1)該區(qū)域的交通流量出度,也就是起點(diǎn)位于該區(qū)域的軌跡數(shù)量;2)該區(qū)域的交通流量入度,也就是終點(diǎn)位于該區(qū)域的軌跡數(shù)量。在實(shí)際應(yīng)用中,查詢需求往往不僅僅是針對空間的,如果需要快速查詢某段時(shí)間的數(shù)據(jù),還需要具有時(shí)間索引。因此,需要建立空間和時(shí)間上的復(fù)合索引。
在地理位置上可以把任何形狀的區(qū)域表示成一個(gè)多邊幾何圖形,對于區(qū)域間交通流量的計(jì)算也就是查詢空間位置上滿足幾何查詢條件的軌跡數(shù)量。舉例來說,要計(jì)算某個(gè)時(shí)間段內(nèi)進(jìn)入A區(qū)域的交通流量,也就是要查詢空間上終點(diǎn)位于A區(qū)域幾何圖形內(nèi),時(shí)間處于給定時(shí)間段內(nèi)的軌跡數(shù)量;要計(jì)算A區(qū)域進(jìn)入B區(qū)域之間的交通流量,也就是要查詢空間位置上起點(diǎn)位于A區(qū)域幾何圖形內(nèi),終點(diǎn)位于B區(qū)域幾何圖形內(nèi)的軌跡數(shù)量。由此可見,上述查詢都要建立在幾何圖形查詢的基礎(chǔ)上。MongoDB支持空間位置上的多邊形查詢,該多邊形用頂點(diǎn)坐標(biāo)集合的形式表示,得到區(qū)域的頂點(diǎn)集合之后,使用MongoDB多邊形查詢函數(shù),便可以查詢滿足條件的數(shù)據(jù)。需要注意的是,輸入的多邊形頂點(diǎn)集合必須是閉合的,也就是說首尾頂點(diǎn)的坐標(biāo)要相同。
圖5 區(qū)域交通流計(jì)算流程
區(qū)域間交通流的計(jì)算是在軌跡數(shù)據(jù)的基礎(chǔ)上進(jìn)行篩選操作,以區(qū)域A到區(qū)域B在10點(diǎn)~11點(diǎn)的交通流量計(jì)算為例,說明區(qū)域交通流的計(jì)算流程,如圖5所示。
用戶的每一次出行行為都是交通流的組成部分,從交通領(lǐng)域的角度出發(fā)分析出行特征,應(yīng)包括出發(fā)地、目的地、出行方式、時(shí)間、距離等信息。由此出發(fā),可以將大量的單次出行行為進(jìn)行合并,得到區(qū)域交通流的概念。
區(qū)域也可以有不同的定義。根據(jù)劃分依據(jù)和目的的不同,可以劃分出不同的區(qū)域,區(qū)域粒度也大小不一[13]。如果想要從較高的層面分析交通流量的變化,那么就應(yīng)該劃分粒度較大的區(qū)域,從宏觀層面分析交通流量的發(fā)生和吸引的關(guān)系。當(dāng)研究某一特定區(qū)域內(nèi)部小范圍交通流量的變化時(shí),可以使用較小粒度的區(qū)域劃分方法。
行政區(qū)域是經(jīng)濟(jì)、環(huán)境、人文等方面聯(lián)系都比較緊密的區(qū)域,行政區(qū)域之間交通流的關(guān)系是城市建設(shè)中的重要考慮因素,而區(qū)域間交通流量的關(guān)系和區(qū)域間道路交通建設(shè)又是一個(gè)相互影響的問題[14]。
行政區(qū)域之間的交通發(fā)生量和吸引量在一定程度上可以反映2個(gè)行政區(qū)之間人才、信息、技術(shù)、服務(wù)等方面的交流合作情況,區(qū)域交通流量大,2個(gè)區(qū)域聯(lián)系緊密,此時(shí)需要考慮區(qū)域間的協(xié)同發(fā)展。
本文對海淀區(qū)在2016年8月某段時(shí)期內(nèi)與其他行政區(qū)的交通流入與流出情況作了分析,其結(jié)果如圖6所示。
圖6 海淀區(qū)交通流入流出量分布
海淀區(qū)和朝陽區(qū)都是北京市面積比較大的行政區(qū),常駐人口和流動人口的數(shù)量都很大,因此產(chǎn)生交通流量比其他區(qū)域之間要大。從圖6可以看出,朝陽區(qū)與海淀區(qū)的雙向交通流量都位于北京市各區(qū)縣之首。因此,政府相關(guān)部門在城市建設(shè)方面,可以多考慮這2個(gè)地區(qū)之間的人員流入流出情況,滿足其間的人員流動需求。
POI(Point of Interest)是一個(gè)城市中的熱點(diǎn)區(qū)域,是粒度較小的區(qū)域。通過對這類區(qū)域交通流量的分析,可以為交通道路建設(shè)和交通通勤策略的制定提供參考。大型城市商業(yè)區(qū)的建設(shè),必須要進(jìn)行交通影響的分析[15],才能對地區(qū)建設(shè)、土地開發(fā)等工作進(jìn)行合理規(guī)劃,建設(shè)方便快捷的道路交通、與交通流量相匹配的停車場和服務(wù)站等配套設(shè)施。
本文對北京市三里屯地區(qū)進(jìn)行了交通流量分析,結(jié)果如圖7所示。
圖7 三里屯全天交通流量變化
從對三里屯的交通流分析結(jié)果可以看出,該區(qū)域交通流的流入量有2個(gè)峰值,一個(gè)是上午的8:30~10:30,另一個(gè)是晚上的6點(diǎn)~8點(diǎn)。三里屯作為一個(gè)商業(yè)區(qū)和娛樂區(qū),餐飲、購物、娛樂場所較多,2個(gè)峰值的時(shí)間與人們正常的作息和出行習(xí)慣相符。在上午到中午時(shí)段購物和就餐的人數(shù)眾多,導(dǎo)致該地區(qū)的交通流入量出現(xiàn)峰值。由于三里屯娛樂場所眾多,夜晚活動比較豐富,導(dǎo)致該區(qū)域晚間時(shí)段交通流入量出現(xiàn)另一個(gè)峰值。
OpenLayers是專為WebGIS開發(fā)提供的JavaScript類庫,用于實(shí)現(xiàn)對地圖服務(wù)數(shù)據(jù)的加載訪問[16]。GeoServer是使用J2EE規(guī)范編寫的用來發(fā)布地圖數(shù)據(jù)的Web服務(wù)器,支持多種數(shù)據(jù)源,用戶能夠簡單便捷地發(fā)布地圖數(shù)據(jù),并可以對數(shù)據(jù)進(jìn)行刪除、更新、添加等操作[17]。
使用BS系統(tǒng)架構(gòu)來展示數(shù)據(jù),在前端頁面使用OpenLayers來加載GeoServer發(fā)布的地圖數(shù)據(jù),服務(wù)器使用SpringMVC的框架響應(yīng)前端頁面的請求。在系統(tǒng)運(yùn)行時(shí),前端頁面首先加載GeoServer發(fā)布的地圖數(shù)據(jù),當(dāng)輸入相應(yīng)的查詢條件并提交查詢后,服務(wù)器就會響應(yīng)查詢請求,并使用相應(yīng)的查詢函數(shù)得到查詢結(jié)果,隨后將結(jié)果發(fā)回給前端頁面,最后前端頁面使用OpenLayers操作地圖的相應(yīng)方法,將查詢結(jié)果顯示到頁面。
1)行政區(qū)域間交通流可視化。
在可視化界面中,將發(fā)生交通流動2個(gè)區(qū)域用線連接起來,并使用顏色來表示交通流的密集程度。線路顏色越深表示OD之間的交通流量越大。在展示界面上,使用移動的點(diǎn)表示該交通流的方向,若該點(diǎn)從A區(qū)域移動到B區(qū)域,表示該交通流方向是從A區(qū)域到B區(qū)域。在移動點(diǎn)的上方顯示該交通流的具體大小。
圖8 區(qū)域間交通流可視化
圖8是行政區(qū)域交通流可視化示例,顯示了2016年8月某日8點(diǎn)~9點(diǎn)之間,區(qū)域間交通流量最大的前5個(gè)OD區(qū)域(顏色越深表示流量越大)。由于當(dāng)日是正常工作日,而且一般情況下8點(diǎn)~9點(diǎn)是上班高峰期,所以區(qū)域之間的交通流量比較大。從圖中可以看出,這5個(gè)OD之間的交通流都在4200人以上,其中朝陽區(qū)到西城區(qū)的交通流量最大。實(shí)際上,朝陽區(qū)和東城區(qū)是鄰近區(qū)域,它們之間的交通流量自然比較大,說明本文的數(shù)據(jù)分析結(jié)果基本符合事實(shí)。
2)POI區(qū)域交通流可視化。
POI區(qū)域雖然是城市中的熱門區(qū)域,但這種區(qū)域的面積小,其交通流的吸引量和發(fā)生量自然會比行政區(qū)之間要小。圖9顯示了2016年8月某日10點(diǎn)~11點(diǎn)之間,進(jìn)入三里屯區(qū)域的交通流來源地區(qū)的分布情況(顏色越深表示交通流越大),圖中展示了交通流量最大的前5個(gè)來源地區(qū)。由于三里屯位于朝陽區(qū),因此進(jìn)入三里屯的交通流起點(diǎn)大部分位于朝陽區(qū),東城區(qū)是距離三里屯最近的一個(gè)行政區(qū),人員流入量也相比其他區(qū)域較高。圖9顯示的數(shù)據(jù)分析結(jié)果基本與實(shí)際情況一致。
圖9 三里屯交通流可視化
基于手機(jī)信令數(shù)據(jù)的交通流分析相對于傳統(tǒng)數(shù)據(jù)有較大的優(yōu)勢,一是數(shù)據(jù)覆蓋廣;二是數(shù)據(jù)獲取成本低。本文使用手機(jī)信令數(shù)據(jù)進(jìn)行區(qū)域間交通流分析,實(shí)現(xiàn)了軌跡信息的提取和交通流的計(jì)算,并在此基礎(chǔ)上將交通流數(shù)據(jù)進(jìn)行可視化,從而直觀全面地進(jìn)行交通流信息展示。
本文的整體技術(shù)路線基本可以總結(jié)為數(shù)據(jù)預(yù)處理、數(shù)據(jù)降噪、用戶軌跡點(diǎn)生成、軌跡切分、軌跡數(shù)據(jù)存儲、交通流計(jì)算以及數(shù)據(jù)可視化。本文提出了一種切實(shí)可行的技術(shù)方案,包括使用Spark技術(shù)進(jìn)行數(shù)據(jù)預(yù)處理和使用MongoDB空間型數(shù)據(jù)庫進(jìn)行數(shù)據(jù)存儲,大大提高了數(shù)據(jù)的吞吐量和系統(tǒng)的查詢效率。
本文使用的技術(shù)方案也存在可改進(jìn)之處,目前在軌跡切分時(shí)使用的是固定距離閾值和時(shí)間閾值,缺乏對城市中心地帶和邊緣地帶距離閾值的動態(tài)調(diào)整從而使用戶軌跡的切分更加精確,這是未來要改進(jìn)的方向。
[1] 北京交通規(guī)劃研究中心. 2003北京市交通發(fā)展年度報(bào)告[M]. 北京:北京交通規(guī)劃研究中心, 2004.
[2] 宋璐. 基于手機(jī)定位數(shù)據(jù)的交通OD分布研究[D]. 南京:東南大學(xué), 2015.
[3] 唐嘉立. 基于手機(jī)信令數(shù)據(jù)分析的路網(wǎng)運(yùn)行監(jiān)控系統(tǒng)[J]. 中國交通信息化, 2015(12):115-117.
[4] Mayer H M. Final Report, Chicago Area Transportation Study[R]. USA: Chicago, 1962.
[5] Ygnaee J L, Remy J G, Bosseboeu F, et al. Travel Estimates on Phone Cooridor Network Using Cellular Phones as Probes: Phase1. Technology Assessment and Preliminary Results[R]. France: INRETS, 2000.
[6] Asakura Y, Iryo T. Analysis of tourist behaviour based on the tracking data collected using a mobile communication instrument[J]. Transportation Research Part A: Policy and Practice, 2007,41(7):684-690.
[7] 冉斌. 手機(jī)數(shù)據(jù)在交通調(diào)查和交通規(guī)劃中的應(yīng)用[J]. 城市交通, 2013,11(1):72-81.
[8] 洪欽敏. 基于張量的用戶軌跡數(shù)據(jù)挖掘技術(shù)研究[D]. 武漢:華中科技大學(xué), 2015.
[9] 鈕心毅,丁亮,宋小冬. 基于手機(jī)數(shù)據(jù)識別上海中心城的城市空間結(jié)構(gòu)[J]. 城市規(guī)劃學(xué)刊, 2014(6):61-67.
[10] 王幫元. MongoDB在視頻監(jiān)控信息的云存儲中的應(yīng)用[J]. 蘭州文理學(xué)院學(xué)報(bào)(自然科學(xué)版), 2016,30(5):60-64.
[11] 周懷許,周俊暉,侯祥意. 利用MongoDB的地籍時(shí)空數(shù)據(jù)庫研究[J]. 測繪地理信息, 2013,38(6):73-75.
[12] 李曉英,何首武,蘇樹海. 基于NoSQL的海量出租車GPS數(shù)據(jù)Web服務(wù)研究[J]. 廣西科學(xué)院學(xué)報(bào), 2016,32(3):231-236.
[13] 武明超. 基于移動通信網(wǎng)絡(luò)數(shù)據(jù)的交通小區(qū)劃分與OD分析方法研究[D]. 北京:北京交通大學(xué), 2015.
[14] 林曉丹. 區(qū)域道路交通流和港口集疏運(yùn)關(guān)系研究[D]. 廣州:華南理工大學(xué), 2011.
[15] 康萌. 城市商業(yè)區(qū)交通影響分析實(shí)例研究[D]. 長春:吉林大學(xué), 2009.
[16] 李新慶,王凡. OpenLayers在寧夏縣級氣象綜合服務(wù)平臺的應(yīng)用與研究[J]. 江西科學(xué), 2015,33(3):415-418.
[17] 張慧明. ArcIMS與GeoServer的應(yīng)用設(shè)計(jì)比較研究[D]. 北京:北京建筑工程學(xué)院, 2010.