文/王源
在大數(shù)據(jù)中,大約有80%的數(shù)據(jù)與空間位置相關。而POI 數(shù)據(jù),是空間數(shù)據(jù)的典型代表之一。POI(Point of Interest)即興趣點,泛指一切可以抽象為點的地理實體。從宏觀層面上來說,POI 數(shù)據(jù)能夠從多個維度進行描述,比如空間維度、時間維度和類別維度。從微層面度來說,POI 數(shù)據(jù)的每一個實體都包含其特定的名稱、聯(lián)系方式,以及簡介等等。要全面認識POI 數(shù)據(jù),必須同時從宏觀層面與微觀層面進行可視化分析。
本文提出一種面向海量POI 數(shù)據(jù)分析的Web 可視化框架,面向不同場景,提供多存儲模式、多維度索引、多層次Web 服務、多視圖交互界面,實現(xiàn)POI 數(shù)據(jù)宏觀層面與微觀層面的綜合表達,支持高效、靈活、便捷、豐富的POI 可視化分析。
隨著數(shù)據(jù)規(guī)模的上升,傳統(tǒng)方法難以快速、有效地表達出海量POI 數(shù)據(jù)所蘊含的信息,過去已有學者探索了面向海量POI 的可視化方法。張鐵映等人[2]DBSCAN 算法應用于POI可視化,實驗表明DBSCAN 算法能有效解決海量POI 重疊遮蓋的問題。Grant McKenzie 等人[3]則提出基于柵格瓦片與矢量瓦片自適應切換的POI 可視化方法,POI 在較低縮放級別以柵格瓦片展示,在較高縮放級別以矢量瓦片展示,但切換的臨界點需要根據(jù)經(jīng)驗來設定。David Da Costa 等人[4]基于POI 之間的相似性將其表達于圓形空間,可顯著提升展示效率。華一新等人[5]針對個人地理標記數(shù)據(jù)的特點,提出了基于數(shù)據(jù)拓撲圖的可視化方法,相比常規(guī)地圖表達效率更高。
圖1:海量POI 可視化分析框架結構
以上工作都以POI 為研究對象,只是側重點各有不同。但目前仍然沒有相關工作將海量POI 的存儲、處理、訪問、可視化等多個環(huán)節(jié)進行整體設計,因此難以適應不同場景的可視化需求。下面,將對本文提出的海量POI 可視化分析框架進行詳細介紹。
如圖1所示,為支持海量POI 數(shù)據(jù)可視化分析的全生命周期,本框架主要分為四層:存儲管理層主要解決海量POI 數(shù)據(jù)的存儲與管理問題,Web 服務層主要用于后臺數(shù)據(jù)與前端頁面的交互,數(shù)據(jù)可視化層對各類POI 信息表達進行了多視圖集成。
為適應多源異構的海量POI 數(shù)據(jù),本文設計了多存儲模式融合的POI 存儲管理方法。
對POI個體而言,其組織方式是結構化的,適合作為行數(shù)據(jù)處理。完成數(shù)據(jù)預處理(數(shù)據(jù)去重、數(shù)據(jù)修補、格式統(tǒng)一)后,即可存入關系數(shù)據(jù)庫,用于滿足POI 個體查詢的需求。同時,在關系數(shù)據(jù)庫中建立了空間索引,快速縮小篩選范圍,提升查詢效率。
POI 個體間的關系是非結構化的,因此在研究POI 關系時,適合作為圖數(shù)據(jù)處理。按照一定條件(如某一字段完全或部分相同),將POI 個體信息與關系信息導出,分別生成圖數(shù)據(jù)的結點表與邊表。將其存儲于圖數(shù)據(jù)庫,即可更加便捷地查詢POI 個體之間的關系。
POI 數(shù)據(jù)中常見的時間標簽、空間坐標以及類別屬性,可以分別視為時間維、空間維以及類別維(如行業(yè)類別、企業(yè)性質(zhì)等)等不同維度,轉換為Data Cube 形式,進行快速維度過濾,支持POI 數(shù)據(jù)的多維度組合分析。
Web 服務是后臺數(shù)據(jù)能力與前端可視化界面的橋梁,本文設計了多層級組合的海量POI 數(shù)據(jù)Web 服務,包括關鍵詞查詢、關系查詢與多維查詢。
關鍵詞查詢,主要用于獲取特定POI 個體的細節(jié)信息。用戶輸入關鍵詞后,可選擇其他篩選條件,比如省份、年份、行業(yè)類別等。關鍵詞查詢服務將根據(jù)上述條件,在關系數(shù)據(jù)庫或HDFS 中,通過SQL 查找滿足條件的POI 個體,查詢結果將以JSON 形式返回給前端。
關系查詢,主要支持POI關系網(wǎng)絡的獲取。用戶需要輸入中心POI 以及感興趣的關系類型(比如同類、競爭等等)。關系查詢服務將根據(jù)上述條件,在圖數(shù)據(jù)庫中,通過Cypher 查找中心POI 的關系網(wǎng)絡,將結果以JSON 形式返回給前端。
多維查詢,主要包含時間、空間與類別維度的POI 集合過濾。對于不同維度,用戶需要輸入相應的過濾條件,前端會將其傳輸至服務器。對應的Web 服務將根據(jù)過濾條件,在Data Cube 中查找POI 集合?;贒ata Cube的結構特性,多個維度的查詢可以相互組合完成。
為兼顧POI 的宏觀與微觀表達,本文設計了多視圖集成的可視化方法。
POI 的微觀探索,由POI 個體的氣泡式表達與POI 關系的力導向圖表達組成。用戶可以通過關鍵詞及其它篩選條件,精確查找所需POI 個體,以氣泡形式展示在地圖上,點擊氣泡可查看詳細信息。同時,POI 關系將通過力導向圖表示。
POI 的宏觀分析,由于數(shù)據(jù)源與處理方式的不同,分為精確匹配與多維過濾兩部分。精確匹配,指通過關鍵詞與其它篩選條件,查找POI 個體數(shù)據(jù),再根據(jù)時間、地點、類別等屬性進行統(tǒng)計,最后通過分層設色圖、餅狀圖、柱狀圖等方式表達。而多維過濾,是基于Data Cube,借助各維度索引查找POI 集合。
本文采用的數(shù)據(jù)為全國企業(yè)POI 數(shù)據(jù),數(shù)據(jù)規(guī)模達1600 萬條,時間上起于1960年,止于2013年,空間上涵蓋了全國各個省市的數(shù)據(jù)。同時,包含法人代表、注冊資金、員工人數(shù)、郵編、地址、聯(lián)系方式,以及行業(yè)類別、經(jīng)營范圍等屬性字段。
圖2:不同場景下的POI 可視化展示
對POI 個體,可結合關鍵詞與其他篩選條件(區(qū)域、時間和類別)進行查看。比如輸入關鍵詞“測繪”,選擇區(qū)域“湖北”,選擇時間“2004”,選擇類別為“技術服務”,將展示對應POI 個體,點擊可查看詳細信息,如圖2(a)所示。點擊標簽中的“相關公司”與“競爭公司”后,可查看對應關系圖。如圖2(b)所示,POI 的顏色代表對應企業(yè)的類型,POI 的半徑代表對應企業(yè)的注冊資金規(guī)模,POI 間連線的長度代表了關系的強弱。對于精確匹配的POI個體,通過縮放分層設色圖,可查看不同層級上的POI 時空分布,如圖2(c)所示。而通過多維過濾,可對POI 進行統(tǒng)計分析,如圖2(d)所示。
本文面向海量POI 數(shù)據(jù),提出了一種Web 可視化分析框架。該框架支持多存儲模式,滿足不同數(shù)據(jù)組織形式需求;提供多維度索引,實現(xiàn)快速數(shù)據(jù)訪問;支持RESTful Web 服務,滿足不同設備訪問需求;提供多視圖可視化方案,實現(xiàn)POI 信息的全方位表達。
為進一步提升海量POI 可視化分析服務質(zhì)量,未來工作可從以下幾個方向繼續(xù)推進:
(1)擴展更多統(tǒng)計分析服務(比如點模式分析方法),深入挖掘海量POI 數(shù)據(jù)所蘊含的信息;
(2)引入更多關聯(lián)數(shù)據(jù)源(比如夜光遙感影像),與POI 數(shù)據(jù)結合分析;
(3)融合分布式計算方法,提升海量POI 數(shù)據(jù)處理效率。