孫素華,高國(guó)棟
(1. 衡水學(xué)院 數(shù)學(xué)與計(jì)算機(jī)學(xué)院,河北 衡水 053000;2. 石家莊鐵道大學(xué) 信息科學(xué)與技術(shù)學(xué)院,河北 石家莊 050043)
基于Ajax實(shí)現(xiàn)科技信息資源可視化研究
孫素華1,高國(guó)棟2
(1. 衡水學(xué)院 數(shù)學(xué)與計(jì)算機(jī)學(xué)院,河北 衡水 053000;2. 石家莊鐵道大學(xué) 信息科學(xué)與技術(shù)學(xué)院,河北 石家莊 050043)
Ajax通過(guò)異步交互技術(shù),提高了在B/S模式下服務(wù)器與客戶端之間的傳輸效率和響應(yīng)速度.在科技信息數(shù)據(jù)量與日俱增的今天,利用Ajax技術(shù)管理這些數(shù)據(jù)并且以可視化的形式展示在人們面前,有效地表現(xiàn)和發(fā)掘數(shù)字化信息中包含的信息特征,從而使人們可以高效地獲取信息所表達(dá)的知識(shí).
Ajax;科技信息;可視化;Google Maps
Ajax(Asynchronous Java Script and XML)一詞最早在2005年由Adaptive Path公司的Garrett J J提出.Ajax綜合了 JavaScript、DOM、XMLHttpRequest、XMI和 XSTL等現(xiàn)有技術(shù).其中 XML和 CSS、DOM、XMLHttpRequest和JavaScript是AJAX的核心技術(shù)[1].
1.1 XML和CSS
XML(Extensible Markup Language)即可擴(kuò)展標(biāo)記語(yǔ)言,它與 HTML一樣,都是標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言.XML是Internet環(huán)境中跨平臺(tái)的,依賴于內(nèi)容的技術(shù),是當(dāng)前處理結(jié)構(gòu)化文檔信息的有力工具.?dāng)U展標(biāo)記語(yǔ)言 XML是一種簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)語(yǔ)言,使用一系列簡(jiǎn)單的標(biāo)記描述數(shù)據(jù),而這些標(biāo)記可以用方便的方式建立,雖然XML占用的空間比二進(jìn)制數(shù)據(jù)要占用更多的空間,但XML極其簡(jiǎn)單易于掌握和使用,它是Ajax技術(shù)標(biāo)準(zhǔn)中推薦使用的作為服務(wù)器與客戶端通信的數(shù)據(jù)格式[2].
CSS(Cascading Style Sheet)是一組格式設(shè)置規(guī)則,用于控制Web頁(yè)面的外觀.通過(guò)使用CSS樣式設(shè)置頁(yè)面的格式,可將頁(yè)面的內(nèi)容與表現(xiàn)形式分離.頁(yè)面內(nèi)容存放在 HTML文檔中,而用于定義表現(xiàn)形式的 CSS規(guī)則則存放在另一個(gè)文件中或HTML文檔的某一部分,通常為文件頭部分.它在Ajax中CSS擔(dān)當(dāng)表現(xiàn)層的角色,近年來(lái)利用CSS和DIV成為頁(yè)面布局的主流趨勢(shì),給開(kāi)發(fā)人員和頁(yè)面設(shè)計(jì)人員提供了很好的方法.
1.2 DOM
文檔對(duì)象模型(Document Object Model,DOM)是一種用于HTML和XML文檔的編程接口.它給文檔提供了一種結(jié)構(gòu)化的表示方法,可以改變文檔的內(nèi)容和呈現(xiàn)方式.我們最為關(guān)心的是,DOM 把網(wǎng)頁(yè)和腳本以及其他的編程語(yǔ)言聯(lián)系了起來(lái).用 JavaScript對(duì)網(wǎng)頁(yè)進(jìn)行的所有操作都是通過(guò) DOM 進(jìn)行的.DOM 屬于瀏覽器,而不是JavaScript語(yǔ)言規(guī)范里的核心內(nèi)容.Ajax中JavaScript正是利用特定的方法來(lái)獲得DOM對(duì)象,從而實(shí)現(xiàn)對(duì)對(duì)象的動(dòng)態(tài)交互與更新,即達(dá)到無(wú)刷新改變頁(yè)面狀態(tài)的效果[3].
1.3 XMLHttpRequest
XMLHttpRequest是瀏覽器內(nèi)置的對(duì)象,它是整個(gè) Ajax技術(shù)的核心部分.XMLHttpRequest 對(duì)象提供了對(duì)HTTP協(xié)議的完全的訪問(wèn),包括做出POST和HEAD請(qǐng)求以及普通的GET請(qǐng)求的能力.XMLHttpRequest可以同步或異步地返回Web服務(wù)器的響應(yīng),并且能夠以文本或者一個(gè)DOM文檔的形式返回內(nèi)容.
1.4 JavaScript
JavaScript是一種基于對(duì)象和事件驅(qū)動(dòng)并具有安全性能的腳本語(yǔ)言.這是一門被許多人熟知的編程語(yǔ)言,它擁有自己的編程標(biāo)準(zhǔn),最主要的是它可以直接在客戶端進(jìn)行一些事件的處理,充分地發(fā)揮了客戶端的運(yùn)算能力,這樣就不需要將用戶所提交的簡(jiǎn)單的請(qǐng)求傳到服務(wù)器處理再傳回來(lái),從而大大減輕了服務(wù)器的負(fù)擔(dān)[4].
Ajax 基本上就是把 JavaScript技術(shù)和 XMLHttpRequest對(duì)象放在 Web表單和服務(wù)器之間.當(dāng)用戶填寫(xiě)表單時(shí),數(shù)據(jù)發(fā)送給一些JavaScript代碼而不是直接發(fā)送給服務(wù)器.相反,JavaScript代碼捕獲表單數(shù)據(jù)并向服務(wù)器發(fā)送請(qǐng)求.同時(shí)用戶屏幕上的表單也不會(huì)閃爍、消失或延遲.換句話說(shuō),JavaScript代碼在幕后發(fā)送請(qǐng)求,用戶甚至不知道請(qǐng)求的發(fā)出.更好的是,請(qǐng)求是異步發(fā)送的,就是說(shuō) JavaScript代碼(和用戶)不用等待服務(wù)器的響應(yīng)[5].因此用戶可以繼續(xù)輸入數(shù)據(jù),滾動(dòng)屏幕和使用應(yīng)用程序.然后服務(wù)器將數(shù)據(jù)返回 JavaScript代碼,后者決定如何處理這些數(shù)據(jù).它可以迅速更新表單數(shù)據(jù),讓人感覺(jué)應(yīng)用程序是立即完成的,表單沒(méi)有提交或刷新而用戶得到了新數(shù)據(jù).JavaScript代碼甚至可以對(duì)收到的數(shù)據(jù)執(zhí)行某種計(jì)算,再發(fā)送另一個(gè)請(qǐng)求,完全不需要用戶干預(yù),這就是 XMLHttpRequest的強(qiáng)大之處[6].它可以根據(jù)需要自行與服務(wù)器進(jìn)行交互,用戶甚至可以完全不知道幕后發(fā)生的一切,結(jié)果就是類似于桌面應(yīng)用程序的動(dòng)態(tài)、快速響應(yīng)、高交互性的體驗(yàn),但是背后又擁有互聯(lián)網(wǎng)的全部強(qiáng)大力量.其工作流程如圖1所示:
3.1 信息可視化基本含義
“信息可視化”這一術(shù)語(yǔ)最早出現(xiàn)1989年GRobertson,S.Card與J.Mackinlay的論文中,可以看作是從數(shù)據(jù)信息到可視化形式再到人的感知系統(tǒng)的可調(diào)節(jié)的映射[7].目前信息可視化已成為一個(gè)與科學(xué)可視化并列的研究領(lǐng)域.科學(xué)可視化的研究?jī)?nèi)容包括圖像生成和圖像理解兩部分.按其結(jié)合程度將可視化分為3個(gè)層次:一是后置處理(postprocessing),即將科學(xué)和工程計(jì)算的結(jié)果解釋成可視圖形;二是實(shí)時(shí)跟蹤處理(tracking),即圖形可視化顯示與計(jì)算過(guò)程同步進(jìn)行;三是交互控制(steering),表明在計(jì)算過(guò)程中根據(jù)顯示結(jié)果可隨時(shí)對(duì)模型和控制參數(shù)進(jìn)行修改和引導(dǎo).
3.2 信息可視化的基本特征信息可視化技術(shù)是現(xiàn)代信息管理技術(shù)的新成果之一,它具有以下主要特點(diǎn):1)直觀形象性
信息可視化是通過(guò)生動(dòng)、直觀、形象的圖形、圖像、影像、聲音、模型等方式,把各種信息展示給用戶,以便進(jìn)行科技信息查詢和圖像分析.
2)多源數(shù)據(jù)的采集和集成性
運(yùn)用信息可視化技術(shù),可方便地接收與采集不同類型、不同介質(zhì)和不同格式的科技信息.不論它們被收集時(shí)的形式是圖形、圖像、文字、數(shù)字還是視頻,也不論它們的數(shù)據(jù)格式是否一致,都能用統(tǒng)一的數(shù)據(jù)庫(kù)進(jìn)行管理,從而為多源數(shù)據(jù)的綜合分析提供便利[8].
3)交互探討性
在大量數(shù)據(jù)中,交互方式有利于視覺(jué)思維.在探討分析的過(guò)程中,可以靈活檢索數(shù)據(jù),可以改變信息交互方式.多源信息集成在一起,并用統(tǒng)一數(shù)據(jù)庫(kù)進(jìn)行管理,同時(shí)具有較強(qiáng)的空間分析與查詢功能,因此可以方便地對(duì)多源信息進(jìn)行對(duì)比、綜合、分析,從中獲得規(guī)律,以用于人們規(guī)劃、決策和經(jīng)營(yíng).
4)信息的動(dòng)態(tài)性
科技信息在可視化形式下不僅是空間信息,還表現(xiàn)為信息的動(dòng)態(tài)性,并且信息的動(dòng)態(tài)表示和動(dòng)態(tài)檢索也成為可能.
5)信息載體的多樣性
隨著多媒體技術(shù)的發(fā)展,發(fā)達(dá)信息不在局限于表格、圖形和文件,而拓展到圖像、聲音、動(dòng)畫(huà)、視頻圖像、三維仿真乃至虛擬現(xiàn)實(shí)等[9].
4.1 Google Maps開(kāi)發(fā)功能分析
Google Maps作為Google Earth的后續(xù)產(chǎn)品,雖然和Google Earth有著本質(zhì)上的不同,但是在Google的產(chǎn)品鏈上卻分擔(dān)著Google“三維空間搜索”相輔相成的角色.目前針對(duì)Google Maps的二次開(kāi)發(fā)應(yīng)用正處于蓬勃發(fā)展的階段,國(guó)內(nèi)外都出現(xiàn)了不少這方面的應(yīng)用[10].
Google公司于2005年推出了自己的Google Maps API,開(kāi)發(fā)者可以利用它自行開(kāi)發(fā)自己的Google Maps服務(wù),而Google也可以通過(guò)API來(lái)對(duì)這些服務(wù)進(jìn)行管理.開(kāi)發(fā)者可以利用Google Maps API向公眾提供簡(jiǎn)單而有效的地圖服務(wù).可以嵌入大量的在線地圖和網(wǎng)絡(luò)服務(wù),并且可以和數(shù)據(jù)庫(kù)結(jié)合起來(lái),創(chuàng)建自己的應(yīng)用程序.
用戶點(diǎn)擊客戶端“搜索”按鈕時(shí),會(huì)根據(jù)數(shù)據(jù)庫(kù)坐標(biāo)記錄以標(biāo)注的形式展示的地圖上,也可進(jìn)行標(biāo)注點(diǎn)擊操作,會(huì)彈出一個(gè)信息框顯示該標(biāo)注的詳細(xì)信息.整個(gè)過(guò)程中沒(méi)有發(fā)生全頁(yè)面刷新.這就是 Ajax所帶來(lái)的頁(yè)面局部刷新的效果.當(dāng)客戶端向服務(wù)器端發(fā)送請(qǐng)求后,服務(wù)端返回給客戶端的信息只是客戶所需要的數(shù)據(jù).在客戶等待響應(yīng)的過(guò)程中,客戶可以繼續(xù)在頁(yè)面上做其他操作,而不需要等待服務(wù)器端的響應(yīng).基于 Ajax技術(shù)的科技信息可視化開(kāi)發(fā)模型如圖2所示:
圖2 科技信息可視化開(kāi)發(fā)模型
4.2 功能實(shí)現(xiàn)
4.2.1 導(dǎo)入Google Maps API庫(kù)文件和創(chuàng)建地圖容器
首先,必須在網(wǎng)頁(yè)中導(dǎo)人Google Maps API庫(kù)文件.在HTML文件的Head部分加入如下格式的代碼:然后在 HTML的 Body部分加入一個(gè)具有 id屬性的元素作為 Google地圖的容器(通常會(huì)使用 DIV元素).另外,通過(guò)此元素還可以定義地圖大小和其他一些屬性:
4.2.2 功能代碼實(shí)現(xiàn)
在HTML的Head部分通過(guò)加入如下代碼導(dǎo)入functions.js文件.此文件包含了Google Maps及Ajax功能的全部?jī)?nèi)容
initialize函數(shù)在網(wǎng)頁(yè)用于初始化Google地圖.通過(guò)它創(chuàng)建GMap2對(duì)象,添加Gcontrol控件,設(shè)置地圖中心位置.
Google Maps API為地圖服務(wù)的快速開(kāi)發(fā)提供了可能.通過(guò)一個(gè)實(shí)例給出Ajax技術(shù)在Google Maps二次開(kāi)發(fā)中的應(yīng)用和實(shí)現(xiàn)方法.從而實(shí)現(xiàn)了用可視化的方法展示科技信息資源的目的,進(jìn)而為人們有效地掌握科技信息提供了有利條件.
[1] 徐卓揆,劉德欽,林宗堅(jiān).AJAX技術(shù)在WebGIS中的應(yīng)用[J].測(cè)繪信息與工程,2007,32(1):3-4.
[2] 謝小魁,陳大克.AJAX技術(shù)及其在WebGIS中的應(yīng)用[J].計(jì)算機(jī)與信息技術(shù),2006(3):23-24.
[3] Ke im D A. Information Visualization and Visual Data Mining[J].IEEE Transactions on Visualization and Computer Graphics(TVCG), 2002(8):9-11.
[4] Card S. Readings in Information Visualization[J].Using Vision to Think MorganKaufmann,1999(1):10-14.
[5] 賀超凱.Ajax技術(shù)概述[J].電腦知識(shí)與技術(shù):學(xué)術(shù)交流,2007(11):761-762.
[6] 蘇世杰.利用Ajax改進(jìn)Web應(yīng)用的用戶體驗(yàn)[J].電腦知識(shí)與技術(shù),2007(3):1381-1383.
[7] 王星,潘郁.基于Ajax技術(shù)的Web模型在網(wǎng)站開(kāi)發(fā)中的應(yīng)用研究[J].微計(jì)算機(jī)信息,2006,22(27):206-207.
[8] 孫曉茹,趙軍.Google Maps API在WEBGIS中的應(yīng)用[J].微計(jì)算機(jī)信息,2006,22(7):5-6.
[9] 蘇玨,曾賢龍,藍(lán)天.Ajax在Web 2.0中的應(yīng)用研究[J].電腦編程技巧與維護(hù),2008(8):49-52.
[10] 劉凱.信息可視化概念的深入探討[J].情報(bào)雜志,2004(12):25-26.
Abstract:Ajax, through the asynchronous interactive technology, has enhanced the transmission efficiency and speed of response between the server and the client side under the B/S pattern. Since science and technology information data quantity grows quickly today, using Ajax technology management and visualizing these data for people, effectively expressing and exploring theinformation characteristics contained in the digital information can help people efficiently obtain information of knowledge.
Key words:Ajax; technology information; visualization; Google Maps
(責(zé)任編校:李建明英文校對(duì):李玉玲)
Research on Achieving Te chnological Information Visualization based Ajax
SUN Su-hua1, GAO Guo-dong2
(1. College of Mathematics and Computer Science, Hengshui University, Hengshui, Hebei 053000, China;
2. School of Information Science and Technology, Shijiazhuang Tiedao University, Shijiazhuang, Hebei 050043, China)
U2;TP3
A
1673-2065(2011)01-0021-04
2010-08-23
河北省科技信息服務(wù)節(jié)點(diǎn)建設(shè)項(xiàng)目(2005DKA64201-06); 衡水學(xué)院科研資金資助項(xiàng)目(2008037)
孫素華(1970-),女,河北深州人,衡水學(xué)院數(shù)學(xué)與計(jì)算機(jī)學(xué)院副教授;
高國(guó)棟(1984-),男,河北滄州人,石家莊鐵道大學(xué)信息科學(xué)與技術(shù)學(xué)院2008級(jí)碩士研究生.