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