摘 要:基于Web前端地理數(shù)據(jù)可視化技術(shù),本文探索研究地理數(shù)據(jù)可視化技術(shù)及充分挖掘地理數(shù)據(jù)中隱含的位置信息,系統(tǒng)地研究可視化類庫的技術(shù)框架及核心類庫,探究地理事物、現(xiàn)象的空間分布和發(fā)展規(guī)律,在項目開發(fā)中實踐應(yīng)用。數(shù)據(jù)可視化研究普遍是關(guān)于非空間屬性信息,難以解讀數(shù)據(jù)的空間信息。數(shù)據(jù)可視化普遍采用常規(guī)的統(tǒng)計圖表來展現(xiàn)、分析和解讀數(shù)據(jù)。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展以及移動智能設(shè)備、傳感設(shè)備等的不斷普及,海量數(shù)據(jù)中包含了大量地理位置相關(guān)信息,同時各行業(yè)和領(lǐng)域產(chǎn)生海量包含地理信息的數(shù)據(jù),且呈爆炸增長的趨勢。
關(guān)鍵詞:Web前端;地理數(shù)據(jù);可視化數(shù)據(jù)
中圖分類號:208 文獻(xiàn)標(biāo)識碼:A 文章編號:1004-7344(2018)29-0336-02
1 引 言
傳統(tǒng)地理數(shù)據(jù)軟件專業(yè)性較強(qiáng),功能龐大復(fù)雜,非專業(yè)人員不易操作。一方面需要借助專業(yè)軟件如ArcGIS、MapInfo等進(jìn)行輔助管理,另一方面,用戶需要購買或下載軟件,并在本地安裝,便利性不夠。地理空間數(shù)據(jù)管理平臺通過集成桌面軟件的主要功能和簡化各功能模塊的操作流程,將用戶常用功能在web平臺上實現(xiàn),提供更簡便的操作,特定用戶需要的功能通過高級定制的方式實現(xiàn)。使用在線地理空間數(shù)據(jù)管理平臺可以給用戶提供便利:①該管理平臺是基于WebGIS的一個B/S結(jié)構(gòu)的免安裝在線平臺,減輕用戶的使用成本;②該平臺集成了桌面軟件的常用功能,簡化了操作流程,既滿足用戶需求,又可以減少用戶的學(xué)習(xí)成本;在線地理空間數(shù)據(jù)管理平臺有以下特點:
(1)該平臺提供了空間數(shù)據(jù)導(dǎo)出和在線分享功能,用戶將地圖數(shù)據(jù)導(dǎo)出到本地,也可隨時隨地一鍵分享自己的地圖給特定組別,作為一個成果分享的交流平臺。
(2)基于在線環(huán)境提供地圖的編輯及可視化。
(3)可以在線創(chuàng)建空間要素以及對要素的空間數(shù)據(jù)進(jìn)行簡單的地圖編輯。
地理空間數(shù)據(jù)可視化與科學(xué)計算可視化存在差異,最顯著的差異就是圖形符號化的概念。地理空間數(shù)據(jù)可視化是指運用地圖學(xué)、計算機(jī)圖形學(xué)和圖像處理技術(shù),將地學(xué)信息輸入、處理、査詢、分析以及預(yù)測的數(shù)據(jù)及結(jié)果采用圖形符號、圖形、圖像,并結(jié)合圖表、文字、表格、視頻、音頻等可視化形式顯示,并進(jìn)行交互處理的理論、方法和技術(shù)。地理空間數(shù)據(jù)可視化是科學(xué)計算可視化在地學(xué)領(lǐng)域的特定發(fā)展。地理空間數(shù)據(jù)可視化改變了傳統(tǒng)地圖的應(yīng)用和使用形式。從新的制圖技術(shù)和表達(dá)內(nèi)容來講,可以認(rèn)為地理空間數(shù)據(jù)可視化是一種廣義的地圖制圖過程,其成果是廣義地圖。
地理空間數(shù)據(jù)可視化具有三個方面的重要作用:
(1)可視化可用來表達(dá)地理空間信息。
(2)可視化能用于地理空間分析。
(3)可視化可以用于數(shù)據(jù)的仿真模擬。
地理空間數(shù)據(jù)可視化在解析地理空間信息方面發(fā)揮著重要作用,它可以指導(dǎo)打井作業(yè)、節(jié)約資金,大大提高尋找礦藏效率。
顯然,科學(xué)計算可視化在學(xué)科的廣泛程度上包括了空間信息的可視化,因為從復(fù)雜的多維數(shù)據(jù)中產(chǎn)生圖形是空間信息可視化的基本內(nèi)容,不管是空間數(shù)據(jù)的顯示,還是空間分析結(jié)果的表示、空間數(shù)據(jù)的時空遷移以及每一空間數(shù)據(jù)處理的過程,無一不是其基本內(nèi)容。
2 整體架構(gòu)設(shè)計
根據(jù)前期的需求分析,確定相應(yīng)的功能模塊,設(shè)計相應(yīng)的UI界面。確定框架后,通過設(shè)置CSS樣式,盡可能的在網(wǎng)頁中還原UI的界面,此時網(wǎng)頁還只是靜態(tài)頁面,無法與用戶進(jìn)行交互,需要利用Javascript編寫響應(yīng)用戶的各種事件,在交互過程中需要通過AJAX實現(xiàn)前后端數(shù)據(jù)的傳遞。本文使用標(biāo)簽元素搭建網(wǎng)頁的整體框架。在服務(wù)器端利用平臺為Web服務(wù)器,可以充當(dāng)?shù)貓D服務(wù)和數(shù)據(jù)庫操作引擎。通過這些形成一套完整的前后端空間數(shù)據(jù)服務(wù)平臺。
3 關(guān)鍵技術(shù)
3.1 服務(wù)器端數(shù)據(jù)庫設(shè)計
在后臺數(shù)據(jù)庫設(shè)計方面,如果將用戶上傳的表格,直接做為數(shù)據(jù)庫中的一張表來存儲,表格在數(shù)據(jù)庫中的字段名必須使用英文名稱,雖然這種設(shè)計會使后臺庫表設(shè)計以及前端代碼邏輯變得簡便,但是這種設(shè)計使得表格字段在瀏覽器端顯示為英文名稱,英文字段名不利于用戶的閱讀,從而降低了用戶的使用體驗。這在庫表設(shè)計上提出了新的要求,在盡可能滿足用戶需求的情況下,也不會使庫表設(shè)計的邏輯過于復(fù)雜。
通過數(shù)據(jù)存儲表和字段信息表結(jié)合使用,可以解決許多的問題,數(shù)據(jù)存儲表用來存儲表的數(shù)據(jù),雖然這樣會浪費少量計算機(jī)內(nèi)存資源,但是通過預(yù)留字段可以很好的解決字段添加和刪除的問題。字段信息表用來存儲字段的中英文映射信息,所有的數(shù)據(jù)庫表的字段映射信息都記錄在表格之中。
3.2 前端腳本實現(xiàn)空間數(shù)據(jù)的管理
前端通過Geoserver 2013提供的SQLScript和WebSQL API實現(xiàn)數(shù)據(jù)的上傳、讀取、修改等操作。
3.2.1 數(shù)據(jù)導(dǎo)入
空間數(shù)據(jù)的導(dǎo)入分為圖層的導(dǎo)入以及屬性數(shù)據(jù)的導(dǎo)入。圖層的導(dǎo)入格式支持shp格式,屬性數(shù)據(jù)支持csv格式導(dǎo)入。現(xiàn)有的csv格式的數(shù)據(jù)導(dǎo)入都是通過將文件整個網(wǎng)絡(luò)傳到服務(wù)器端特定目錄下,然后利用服務(wù)器端語言進(jìn)行讀取然后存入數(shù)據(jù)庫表中,前端HTML和CSS設(shè)計好用戶上傳表格的界面。屬性表格數(shù)據(jù)導(dǎo)入,傳統(tǒng)的在Web端表格導(dǎo)入方法都是將csv文件整個傳到服務(wù)器端,利用服務(wù)器端語言來讀取該表格中的數(shù)據(jù)然后存入數(shù)據(jù)庫中,最后刪除該臨時上傳的表格。通過HTML5提供的FileReader API合使用input標(biāo)簽元素,type屬性設(shè)置為file,利用該API提供的readAsText方法讀取表格中的數(shù)據(jù)保存在瀏覽器內(nèi)存中,該方法第一個參數(shù)為獲取的file對象,第二個參數(shù)為設(shè)置的讀取文件的編碼方式,默認(rèn)是UTF-8,由于csv格式默認(rèn)使用GB2312編碼方式,所以這里編碼方式要設(shè)置成GB2312。通過該方法可以實現(xiàn)在前端讀取表格數(shù)據(jù)。
3.2.2 數(shù)據(jù)的查詢與展示
在web端顯示數(shù)據(jù),數(shù)據(jù)量的大小直接影響頁面響應(yīng)速度的快慢,當(dāng)數(shù)據(jù)記錄數(shù)達(dá)到數(shù)十萬乃至上百萬條時,甚至?xí)?dǎo)致瀏覽器的崩潰,直接影響用戶的體驗。本系統(tǒng)在前端顯示數(shù)據(jù)時采用分頁顯示的方法,當(dāng)用戶點擊某一頁時只請求相應(yīng)頁的數(shù)據(jù)。
根據(jù)用戶選取的數(shù)據(jù)表,通過WebSQL接口查詢字段映射表中對應(yīng)的所有字段信息,將查詢得到的字段信息分別以數(shù)組形式保存在內(nèi)存中,包括字段真實名數(shù)組,字段類型數(shù)組,字段別名數(shù)組,字段對應(yīng)單位數(shù)組,為后續(xù)表格的可視化顯示做準(zhǔn)備,最后根據(jù)請求得到的字段真實名數(shù)組通過WebSQL接口的SQLQuery方法獲取數(shù)據(jù)。
現(xiàn)有的數(shù)據(jù)管理系統(tǒng),在空間數(shù)據(jù)管理界面上,屬性數(shù)據(jù)的字段都為英文名稱,對于非專業(yè)用戶來說閱讀起來相當(dāng)困難,如果采用中文命名字段名,會增加數(shù)據(jù)庫的不穩(wěn)定性,容易出現(xiàn)錯誤。采用字段映射表,存儲前端顯示字段名和后臺存儲字段名的對應(yīng)關(guān)系,在請求空間數(shù)據(jù)之前先請求字段映射信息,從而解決中文字段顯示的問題,提高用戶的體驗。
3.2.3 數(shù)據(jù)在Web前端的動態(tài)管理
由于繪制的表格提供數(shù)據(jù)的編輯功能,所以需要每個單元格都可以編輯以及整個表格具有插入、刪除記錄的功能。對于提供單元格編輯功能,在前端動態(tài)生成表格的時候給每個單元格插入一個input標(biāo)簽,并把單元格的值賦給這個input標(biāo)簽,所有的input標(biāo)簽綁定change事件,當(dāng)改變了表格中的值時,用JSON格式動態(tài)的記錄改變的信息。當(dāng)添加一行記錄時,通過操作DOM在表格的末尾添加一行,將該行的信息保存的內(nèi)存中。
表格前端編輯功能的具體設(shè)計。本技術(shù)在編輯數(shù)據(jù)的時候,將數(shù)據(jù)分成兩部分,一部分是表格中顯示的數(shù)據(jù),這部分?jǐn)?shù)據(jù)是從服務(wù)器端請求回來的。另一部分是前端新添加的數(shù)據(jù)。之所以將數(shù)據(jù)分成兩部分是因為對于前端新添加的數(shù)據(jù)在數(shù)據(jù)庫中只會進(jìn)行插入操作,而從服務(wù)器端請求來的數(shù)據(jù)會進(jìn)行更新和刪除操作,采用這種分類設(shè)計在前端進(jìn)行增刪改時更加方便和高效。
3.2.4 空間數(shù)據(jù)的關(guān)聯(lián)
對于空間屬性數(shù)據(jù)和用戶自己上傳的屬性數(shù)據(jù)可以進(jìn)行空間關(guān)聯(lián),用戶只需手動選擇需要關(guān)聯(lián)的字段,將改關(guān)聯(lián)信息記錄在數(shù)據(jù)庫表中。建立關(guān)聯(lián)關(guān)系后,在地圖上進(jìn)行點查,多邊形查詢后就可以顯示關(guān)聯(lián)后兩個表格中的所有相關(guān)的信息,如果關(guān)聯(lián)的字段信息是空間位置字段,還可以根據(jù)關(guān)聯(lián)的表格中的字段生成相應(yīng)的專題圖。
4 數(shù)據(jù)的分享
本平臺支持多用戶之間的數(shù)據(jù)分享,每個屬性表格數(shù)據(jù)都有其所在的工作空間,在分享時將分享方式分為兩種,只讀分享和復(fù)制分享。只讀分享方式數(shù)據(jù)不會拷貝,所有用戶使用的是同一份數(shù)據(jù),并且接受數(shù)據(jù)的用戶只具有查看功能,不具備修改功能。復(fù)制分享方式,每個用戶將分享的數(shù)據(jù)加入到自己的工作空間時,系統(tǒng)都會把原始表格復(fù)制一份給該用戶,這樣用戶就可以對該表格進(jìn)行編輯。
在后臺控制表格分享的數(shù)據(jù)庫表是資源控制表,分享是以組為單位,用戶可以指定將表格分享到自己所在的任意群組。當(dāng)用戶分享數(shù)據(jù)時,會在資源控制表中增加一條分享的記錄,即可動態(tài)的控制表格的分享。
5 結(jié) 論
本文主要介紹了通過web前端的地理數(shù)據(jù)可視化技術(shù)。簡化業(yè)務(wù)流程,使得非專業(yè)的人員也可以使用地理信息系統(tǒng)在線工具管理空間數(shù)據(jù)制作精美地圖??茖W(xué)可視化技術(shù)為在地理信息系統(tǒng)中對復(fù)雜的地理現(xiàn)象的理解起到越來越重要的作用。如何進(jìn)一步將科學(xué)可視化技術(shù)與地理信息系統(tǒng)技術(shù)相結(jié)合,是一個十分復(fù)雜而又迫切需要解決的問題。地理信息系統(tǒng),從技術(shù)角度看,需要對數(shù)據(jù)結(jié)構(gòu)、顯示技術(shù)等方面進(jìn)行科學(xué)可視化的研究與討論。同時,在應(yīng)用中也需要走向可視化。
本文從技術(shù)上對科學(xué)可視化與地理信息系統(tǒng)的結(jié)合進(jìn)行了初步的探討。結(jié)合現(xiàn)有地理數(shù)據(jù)可視化模型,隨著基于體素的時空多維地理數(shù)據(jù)模型的建立以及可視化研究的深入,為進(jìn)一步加強(qiáng)對多維體空間數(shù)據(jù)操作與處理的研究,最終走向應(yīng)用奠定了基礎(chǔ)。
參考文獻(xiàn)
[1]王 虹,馬俊興.數(shù)據(jù)可視化系統(tǒng)的研究與實現(xiàn)[J].河南教育學(xué)院學(xué)報(自然科學(xué)版),2000(03).
[2]曹淑斌,李 靜,韓亮亮,周文軍.陸地聲納三分量數(shù)據(jù)可視化研究[J].軟件,2012(03).
[3]馮歡欣.基于Gnuplot的數(shù)據(jù)可視化技術(shù)研究[J].大眾科技,2006(07).
[4]張 浩,郭 燦.數(shù)據(jù)可視化技術(shù)應(yīng)用趨勢與分類研究[J].軟件導(dǎo)刊,2012(5).
[5]楊彥波,劉 濱,祁明月.信息可視化研究綜述[J].河北科技大學(xué)學(xué)報,2014(2).
[6]劉 勘,周曉崢,周洞汝.數(shù)據(jù)可視化的研究與發(fā)展[J].計算機(jī)工程,2002(8).
[7]陳 為,張 嵩,魯愛東,等.數(shù)據(jù)可視化的基本原理與方法[M].科學(xué)出版社.
收稿日期:2018-9-2
作者簡介:郭孝基(1986-),男,漢族,廣東興寧人,工程師,工學(xué)碩士,研究方向為計算機(jī)應(yīng)用技術(shù)。