陳 嘉,趙祖亮,郭鴻飛,趙廣玉,馬靜麗,劉 哲
(1. 新華通訊社,北京 100031; 2. 北京捷泰天域信息技術(shù)有限公司,北京 100028;3. 中國農(nóng)業(yè)大學(xué)信息與電氣工程學(xué)院,北京 100083)
?
基于格網(wǎng)的多比例尺海量數(shù)據(jù)空間渲染方法
陳 嘉1,趙祖亮3,郭鴻飛1,趙廣玉2,馬靜麗2,劉 哲3
(1. 新華通訊社,北京 100031; 2. 北京捷泰天域信息技術(shù)有限公司,北京 100028;3. 中國農(nóng)業(yè)大學(xué)信息與電氣工程學(xué)院,北京 100083)
實現(xiàn)海量農(nóng)業(yè)數(shù)據(jù)的空間可視化和快速渲染是理解農(nóng)業(yè)數(shù)據(jù)、探究農(nóng)業(yè)生產(chǎn)和農(nóng)村發(fā)展空間分布規(guī)律的前提。本文針對如何在Web上實現(xiàn)海量農(nóng)業(yè)數(shù)據(jù)的高效渲染,通過對比3種流行的海量數(shù)據(jù)空間渲染方法,提出了一種基于格網(wǎng)的多比例尺海量數(shù)據(jù)空間渲染方法,較完整地實現(xiàn)了農(nóng)業(yè)大數(shù)據(jù)可視化分析中數(shù)據(jù)點快速顯示、多尺度動態(tài)渲染,以及無數(shù)據(jù)壓蓋顯示等需求。通過對該方法的空間渲染效率和效果進行對比分析,表明該方法可為農(nóng)業(yè)大數(shù)據(jù)的空間可視化分析提供高效的渲染手段。
農(nóng)業(yè)大數(shù)據(jù);空間可視化;格網(wǎng)
農(nóng)業(yè)生產(chǎn)經(jīng)營活動具有很強的空間規(guī)律性,絕大多數(shù)農(nóng)業(yè)大數(shù)據(jù)均含有空間位置信息,如行政村、農(nóng)村合作社信息、農(nóng)戶活動軌跡、農(nóng)產(chǎn)品價格監(jiān)測點數(shù)據(jù)、農(nóng)業(yè)氣象站點數(shù)據(jù)、基本農(nóng)田分布、品種種植推廣,以及測土配方施肥數(shù)據(jù)等[1]。以點狀數(shù)據(jù)為例,包括位置信息的農(nóng)業(yè)大數(shù)據(jù)少則數(shù)萬條,多則上千萬條,如何基于WebGIS技術(shù)高效實現(xiàn)海量農(nóng)業(yè)數(shù)據(jù)的空間可視化和快速渲染,是理解農(nóng)業(yè)數(shù)據(jù)、探究農(nóng)業(yè)生產(chǎn)和農(nóng)村發(fā)展空間分布規(guī)律的前提[2-3]。因此,國內(nèi)外開發(fā)人員設(shè)計和實現(xiàn)了多種海量數(shù)據(jù)的空間渲染技術(shù)[4-6],其中較為常見的有3種。第1種是服務(wù)器端渲染技術(shù)(如圖1所示)。服務(wù)器端渲染技術(shù)將數(shù)據(jù)以服務(wù)的方式提供給客戶端進行展現(xiàn),其優(yōu)點是支持利用查詢條件來定義顯示的內(nèi)容,并實時返回地圖,網(wǎng)絡(luò)傳輸??;缺點是數(shù)據(jù)量大時,生成地圖速度慢,數(shù)據(jù)點之間的顯示容易相互壓蓋、不美觀[7-8]。第2種是瀏覽器端聚合渲染技術(shù)(如圖2所示)。瀏覽器端渲染技術(shù)將數(shù)據(jù)直接傳送到客戶端進行展示,該方法有效規(guī)避了數(shù)據(jù)壓蓋顯示的弊端,效果美觀;但在海量數(shù)據(jù)面前會出現(xiàn)網(wǎng)絡(luò)傳輸量大、時間長的問題,并且前端聚合統(tǒng)計計算花費時間長,瀏覽器內(nèi)存占用大,甚至?xí)绊懙貓D的基本操作[9]。第3種瀏覽器端麻點渲染技術(shù)(如圖3所示)。瀏覽器端麻點渲染技術(shù)在一些地圖平臺廣泛采用,但數(shù)據(jù)量很大的時候也容易出現(xiàn)瀏覽器卡死的現(xiàn)象,并且數(shù)據(jù)密集時顯示不美觀[10]。上述3種數(shù)據(jù)空間渲染技術(shù),均不能完整地解決大數(shù)據(jù)可視化分析時對于點數(shù)據(jù)的快速顯示、條件查詢支持、多比例尺動態(tài)渲染,以及無數(shù)據(jù)壓蓋顯示的需求。針對上述問題,本文提出了一種全新的基于格網(wǎng)的多比例尺海量數(shù)據(jù)空間渲染技術(shù),為農(nóng)業(yè)大數(shù)據(jù)的空間可視化分析提供高效的渲染手段。
圖1 服務(wù)器端渲染技術(shù)效果
圖2 瀏覽器端聚合渲染效果
1. 示例數(shù)據(jù)
本文采用兩套數(shù)據(jù)進行基于格網(wǎng)的多比例尺海量數(shù)據(jù)空間渲染技術(shù)的測試。第1套數(shù)據(jù)是全國興趣點數(shù)據(jù),數(shù)據(jù)量達2000萬條;第2套數(shù)據(jù)是黑龍江省農(nóng)業(yè)企業(yè)與農(nóng)村合作社點狀數(shù)據(jù),數(shù)據(jù)量約9.37萬條,內(nèi)容包括全省農(nóng)村合作社、農(nóng)業(yè)企業(yè)的名稱及其所在市縣街道(村),以及相應(yīng)的經(jīng)緯度。
2. 技術(shù)路線
基于格網(wǎng)的多比例尺海量數(shù)據(jù)空間渲染技術(shù)路
線,如圖4所示。其技術(shù)流程及基本原理如下:
圖3 瀏覽器端麻點渲染效果
1) 海量數(shù)據(jù)上傳:將具有X、Y坐標的海量點數(shù)據(jù),直接上傳到服務(wù)器上。
2) 多比例尺格網(wǎng)計算:后臺中通過比例尺進行格網(wǎng)計算、數(shù)據(jù)格網(wǎng)歸類。首先預(yù)置多級比例尺(如將比例尺劃分為0~18級),以及每級格網(wǎng)大小(如以屏幕4×4=16個像素為一個格網(wǎng));確定了比例尺級別和格網(wǎng)大小之后,在每個級別之下都以每16個像素為一個格網(wǎng)進行計算,根據(jù)目標數(shù)據(jù)位置計算出所屬格網(wǎng),然后將格網(wǎng)ID、比例尺、level、格網(wǎng)中心位置記錄到目標數(shù)據(jù)中。
圖4 技術(shù)路線
海量數(shù)據(jù)的多比例尺格網(wǎng)預(yù)置完成后,便可根據(jù)用戶的空間或?qū)傩圆樵儣l件返回渲染結(jié)果:
1) 空間查詢條件:前端設(shè)置空間查詢條件,基于當前視圖窗口進行查詢,此外還可以同時進行屬性查詢。依據(jù)查詢條件和比例尺,通過http請求傳入后臺。
2) 實時分組統(tǒng)計:根據(jù)查詢條件,后臺進行數(shù)據(jù)過濾。對具有格網(wǎng)屬性的數(shù)據(jù)進行分組統(tǒng)計,該統(tǒng)計計算是實時進行的,這樣就計算出了每個格網(wǎng)所包含的點數(shù)據(jù)量。
3) 實時聚類計算:定義聚合計算時的最小容差(如以50 px距離為容差)。從屏幕原點開始找具有點數(shù)據(jù)的格網(wǎng),與該格網(wǎng)中心距離小于50 px的其他周邊格網(wǎng)都參與合并統(tǒng)計,此時合并計算后的點符號位置根據(jù)格網(wǎng)分組數(shù)值的權(quán)重會發(fā)生一定的變化,這樣同時避免了后續(xù)前端繪制時出現(xiàn)點符號壓蓋的問題。依此類推,尋找下一個不在50 px距離內(nèi)的格網(wǎng),并進行聚類計算。聚類計算完成之后,將計算結(jié)果通過JSON格式返回到前端,主要是聚合數(shù)值、點符號坐標。
后臺往前端返回數(shù)據(jù)時,利用了Gzip壓縮技術(shù)[11]。通過Gzip進行數(shù)據(jù)壓縮,可將數(shù)據(jù)壓縮至1/6大小(根據(jù)實際情況不同壓縮大小不同),從而極大降低了網(wǎng)絡(luò)傳輸?shù)呢摀?,可將查詢結(jié)果快速返回到前端。
4) 定義渲染規(guī)則:前端定義數(shù)據(jù)渲染的規(guī)則,渲染規(guī)則可以根據(jù)需求進行調(diào)整。默認規(guī)則如下:
a. 200≤聚合統(tǒng)計數(shù)值,紅色圓圈表示,大小為45 px;
b. 100≤聚合統(tǒng)計數(shù)值<200,藍色圓圈表示,大小為35 px;
c. 50≤聚合統(tǒng)計數(shù)值<100,藍色圓圈表示,大小為30 px;
d. 10≤聚合統(tǒng)計數(shù)值<50,藍色圓圈表示,大小為25 px;
e. 2≤聚合統(tǒng)計數(shù)值<10,藍色圓圈表示,大小為20 px;
f. 1=聚合統(tǒng)計數(shù)值,默認顏色,默認大小。
5) 渲染圖層數(shù)據(jù):前端對后臺傳回的JSON數(shù)據(jù)進行解析,并且基于相應(yīng)的開發(fā)接口對圖層進行了功能擴展,通過擴展的GraphicsLayer方法能夠直接進行數(shù)據(jù)展示[12]。
基于格網(wǎng)的多比例尺海量數(shù)據(jù)空間渲染技術(shù),其關(guān)鍵技術(shù)有:①預(yù)計算海量數(shù)據(jù)的多比例尺格網(wǎng)時,只需分配不同比例尺上數(shù)據(jù)所在格網(wǎng)中心位置,再無其他數(shù)據(jù)處理,當數(shù)據(jù)有增、刪、改等操作時,相比其他空間渲染方法而言,其處理成本低很多,維護成本也低;②在接到條件查詢請求后,可通過實時聚類算法,在某一比例尺下對數(shù)據(jù)點重新組合,避免出現(xiàn)壓蓋顯示的現(xiàn)象。兩項關(guān)鍵技術(shù)相互配合,彌補了現(xiàn)有海量數(shù)據(jù)渲染方法的不足。
1. 海量數(shù)據(jù)渲染效率對比
通過對比,相同的環(huán)境下(見表1),基于格網(wǎng)的多比例尺海量數(shù)據(jù)空間渲染技術(shù)在數(shù)據(jù)量達到2000萬時,地圖的渲染仍然游刃有余,而通過聚客戶端聚合渲染技術(shù),則最多能支持10萬條數(shù)據(jù)的渲染,并且此時的地圖操作已經(jīng)很困難了。對于同一操作請求下,兩個方法的繪制效率也有明顯的差別:使用瀏覽器端渲染方法的請求響應(yīng)時間為13.2 s,而使用本文中的大數(shù)據(jù)渲染方法的請求響應(yīng)時間僅為2.8 s(如圖5所示)。
表1 海量數(shù)據(jù)渲染效率對比的測試環(huán)境
本例中使用的是2000萬條的數(shù)據(jù)渲染和地圖操作,當然還可以支持更多數(shù)據(jù),其響應(yīng)速度與后臺數(shù)據(jù)庫的數(shù)據(jù)組織有關(guān)。如果將數(shù)據(jù)分布于多臺機器存儲,還可以大大提高海量數(shù)據(jù)的渲染速度。
2. 海量數(shù)據(jù)空間查詢和渲染效果
基于格網(wǎng)的多比例尺海量數(shù)據(jù)空間渲染技術(shù)支持根據(jù)條件查詢來返回渲染效果,通過相應(yīng)的where條件語句即可進行多字段過濾。渲染結(jié)果中,不同的渲染符號代表了不同的聚合統(tǒng)計數(shù)值規(guī)模。200以上是紅色,200以下是藍色,且200以下會根據(jù)數(shù)值賦予不同大小的渲染符號。
通過圖6可以看出,渲染結(jié)果的計算是基于當前可視范圍實時進行的。結(jié)果中,能夠看到每次計算的請求耗時情況、當前參與計算的點個數(shù)、聚合統(tǒng)計計算有多少、沒有參與聚合統(tǒng)計的點個數(shù)。
圖5 兩種海量數(shù)據(jù)渲染技術(shù)效率對比
圖6 基于格網(wǎng)的多比例尺海量數(shù)據(jù)渲染效果
通過對幾種空間渲染技術(shù)的效率和效果測試,其對比結(jié)果見表2。
表2 海量數(shù)據(jù)空間渲染方法參數(shù)對比
需要說明的是,由于點符號是根據(jù)格網(wǎng)進行多次聚合計算的位置,除了最大比例尺狀態(tài)下,每個點符號的位置是格網(wǎng)中心;比例尺越大,點符號與原始點的真實位置越接近。這種處理在大幅提高渲染效率的同時,能夠客觀反映原始海量數(shù)據(jù)的空間分布情況。
通過上述分析可知,基于格網(wǎng)的多比例尺海量數(shù)據(jù)空間渲染技術(shù)相比其他渲染技術(shù),具有較大的優(yōu)勢。其主要特色如下:
1. 多比例尺格網(wǎng)實時計算
在不同比例尺下,根據(jù)用戶上傳數(shù)據(jù)的空間位置,實時計算數(shù)據(jù)所屬格網(wǎng),然后進行聚合統(tǒng)計計算。算法簡單,時間損耗小。
2. 基于統(tǒng)計結(jié)果的實時渲染
每次的數(shù)據(jù)渲染,都依據(jù)當前比例尺、當前可視范圍、當前所屬格網(wǎng)進行實時聚合統(tǒng)計。該方法有效地降低了大數(shù)據(jù)量實時計算所帶來的時間損耗,基于當前視圖和格網(wǎng)的統(tǒng)計能夠減少計算次數(shù),從而滿足實時要求。
3. 前端展示直觀,網(wǎng)絡(luò)傳輸小
定義了前端最小容差,每次比例尺變化時根據(jù)格網(wǎng)實時進行聚類計算(合并統(tǒng)計結(jié)果),大幅減少網(wǎng)絡(luò)傳輸量,此外還可以避免前端渲染時出現(xiàn)點符號之間的壓蓋顯示問題。
4. 支持多字段查詢
用戶上傳的數(shù)據(jù)中如果包含了多個屬性字段,則可以通過組合條件來對這些數(shù)據(jù)進行篩選,靈活、方便地過濾前端的可視化結(jié)果。
5. 維護成本低
用戶對數(shù)據(jù)進行的增、刪、改等操作,能夠在前端直接顯示變化,不需要額外的工作,且不會影響前端的渲染效果。
[1] 溫孕江. 農(nóng)業(yè)大數(shù)據(jù)研究的戰(zhàn)略意義與協(xié)同機制[J]. 高等農(nóng)業(yè)教育, 2013, 11(11): 3-6.
[2] 孟小峰,慈祥. 大數(shù)據(jù)管理:概念、技術(shù)與挑戰(zhàn)[J]. 計算機研究與發(fā)展, 2013, 50(1): 146-169.
[3] 王元卓,靳小龍,程學(xué)旗. 網(wǎng)絡(luò)大數(shù)據(jù):現(xiàn)狀與展望[J]. 計算機學(xué)報, 2013, 36(6): 1125-1138.
[4] 周文生,毛鋒,胡鵬. Web環(huán)境下地理空間數(shù)據(jù)的開放式表達體系研究[J]. 武漢大學(xué)學(xué)報(信息科學(xué)版), 2004, 29(1): 43-47.
[5] 劉榮高,莊大方,劉紀遠. Web環(huán)境下實現(xiàn)空間數(shù)據(jù)表達的框架研究[J]. 測繪學(xué)報, 2001, 30(3): 266-280.
[6] 陳生,曾行吉,梁軍. 基于GIS的統(tǒng)計數(shù)據(jù)可視化研究[J]. 計算機工程與設(shè)計, 2008, 29(14): 3757-3759, 3762.
[7] Esri.ArcGIS for Server產(chǎn)品介紹[EB/OL].[2015-01-01].http:∥www.esrichina.com.cn/2015/0107/2818.html.
[8] ArcGIS Resources.ArcGIS Help - ArcGIS for Server Help[EB/OL].[2015-06-10].http:∥resources.arcgis.com/en/help/main/10.2/#/Welcome_to_the_ArcGIS_10_2_for_Server_Windows_Help/0154000002np 000000/.
[9] GeoQ位置智能平臺[EB/OL].[2015-06-01].http:∥www.geoq.cn/.
[10] 百度LBS開放平臺[EB/OL].[2015-06-01].http:∥developer.baidu.com/map/.
[11] Gzip維基百科[EB/OL].[2015-05-01].https:∥en.wikipedia.org/wiki/Gzip.
[12] ArcGIS Resources ArcGIS for Developers-ArcGIS API for JavaScript[EB/OL].[2015-06-01].https:∥developers.arcgis.com/javascript/.
[13] Tomcat官網(wǎng)網(wǎng)站[EB/OL].[2015-05-01].http:∥tomcat.apache.org/.
[14] Solr官方網(wǎng)站[EB/OL].[2014-12-01].http:∥lucene.apache.org/solr/.
[15] Lucene官方網(wǎng)站[EB/OL].2012-12-01[2015-04-02].http:∥lucene.apache.org/.
Multi-scale Rendering Method of Massive Geospatial Data Based on Grid
CHEN Jia,ZHAO Zuliang,GUO Hongfei,ZHAO Guangyu,MA Jingli,LIU Zhe
2016-05-25
國家自然科學(xué)基金青年項目(41301075);新華社提升移動互聯(lián)網(wǎng)用戶體驗關(guān)鍵技術(shù)研究項目(0716-1441XH110449)
陳 嘉(1984—),男,碩士,工程師,主要從事媒體數(shù)據(jù)分析及可視化的相關(guān)技術(shù)研究。E-mail:chenjia@xinhua.org
劉 哲。E-mail:liuz@cau.edu.cn
陳嘉,趙祖亮,郭鴻飛,等.基于格網(wǎng)的多比例尺海量數(shù)據(jù)空間渲染方法[J].測繪通報,2016(11):60-63.
10.13474/j.cnki.11-2246.2016.0366.
P237
B
0494-0911(2016)11-0060-04