余聶芳
(懷化學(xué)院計算機(jī)系, 湖南懷化 418008)
Web技術(shù)的飛速發(fā)展將地理信息系統(tǒng)帶入一個嶄新的發(fā)展階段.GIS技術(shù)與Web技術(shù)的結(jié)合,推動了地理信息以更快的步伐部門化、產(chǎn)業(yè)化和大眾化,進(jìn)而也催生了 GIS領(lǐng)域的一個重要發(fā)展方向——WebGIS.WebGIS是GIS走向社會化和大眾化的有效途徑,也是GIS發(fā)展的必由之路,WebGIS不但具有傳統(tǒng)GIS軟件所具有的功能,而且還具有利用Internet優(yōu)勢的特有功能.空間信息服務(wù),已經(jīng)實實在在地朝著我們的生產(chǎn)、生活的各個方面款款走來.當(dāng)眾多的空間信息服務(wù)可以被提供出來,并在基于服務(wù)的聚合技術(shù)支持之下不斷熔合、重組和派生時,我們發(fā)現(xiàn),在打造數(shù)字地球、數(shù)字城市、數(shù)字區(qū)域和數(shù)字領(lǐng)域等等的過程中,實際上是在構(gòu)建一個空間信息服務(wù)的生態(tài)環(huán)境.將WebGIS技術(shù)引入到日常工作中,是城市信息化建設(shè)道路上的有益探索和嘗試.開展基于網(wǎng)絡(luò)的GIS研究,實現(xiàn)不同地理位置的數(shù)據(jù)信息的統(tǒng)一管理和資源共享已經(jīng)成為今后GIS發(fā)展的主要研究方向.國內(nèi)外各大GIS廠商推出了大量WebGIS開發(fā)工具,ESRI公司的ArcIMS是這些產(chǎn)品中使用較為廣泛的一個.
1.1 ArcIMS(Internet Map Server)通過 Internet為用戶提供了一種通過網(wǎng)絡(luò)獲取動態(tài)地圖、GIS數(shù)據(jù)以及各種服務(wù)的途徑.它為適應(yīng)企業(yè)網(wǎng)絡(luò)需求以及訪問國際網(wǎng)絡(luò)而建立的GIS網(wǎng)頁發(fā)布提供了高效的分層框架結(jié)構(gòu).ArcIMS服務(wù)可被應(yīng)用于多種客戶端中,如自定義網(wǎng)頁應(yīng)用、ArcGIS桌面系統(tǒng)以及移動和無線設(shè)備.通過應(yīng)用ArcIMS,城市和地方政府、商業(yè)機(jī)構(gòu)以及其他組織均可以發(fā)布,發(fā)掘以及共享地理空間信息.
ArcIMS具備成熟的客戶/服務(wù)器體系構(gòu)架,允許對各層進(jìn)行直接定制.例如,客戶端用戶通過定制HTML,JavaScript或調(diào)用開放的對象模型,可以建立特定的Internet應(yīng)用程序.而在服務(wù)器端,ArcIMS提供了投影和要素專題化等功能.中間件可以使用ASP和ColdFusion技術(shù)進(jìn)行定制,從而擴(kuò)展自己的網(wǎng)站.
利用ArcIMS可以實現(xiàn):通過網(wǎng)絡(luò)獲取動態(tài)地圖和數(shù)據(jù);創(chuàng)建簡單易行、面向地圖內(nèi)容的應(yīng)用程序;應(yīng)用行業(yè)化標(biāo)準(zhǔn)網(wǎng)頁開發(fā)環(huán)境創(chuàng)建自定義應(yīng)用程序;與其他用戶共享數(shù)據(jù)等功能.
1.2 GIS網(wǎng)頁發(fā)布功能
ArcIMS為進(jìn)行網(wǎng)絡(luò)GIS數(shù)據(jù)和服務(wù)交流建立了一個通用平臺.它不僅僅是一個網(wǎng)絡(luò)制圖方法,也是一個用于在互聯(lián)網(wǎng)上實現(xiàn)分布式GIS功能的框架.作為一個網(wǎng)頁發(fā)布技術(shù),ArcIMS的特色在于支持多種ESRI客戶端.ArcIMS是為GIS網(wǎng)頁發(fā)布而設(shè)計的.ArcIMS提供了多種網(wǎng)頁發(fā)布功能,如影像描述、矢量數(shù)據(jù)流、數(shù)據(jù)查詢、數(shù)據(jù)提取與下載、地理編碼以及元數(shù)據(jù)目錄服務(wù)等.
影像渲染—影像描述為當(dāng)前交互式地圖創(chuàng)建一個快照.例如,當(dāng)用戶進(jìn)行交互式地圖漫游和縮放或打開和關(guān)閉圖層等操作時,ArcIMS地圖服務(wù)器對每一視圖進(jìn)行描述并將其作為影像傳輸至ArcIMS客戶端.ArcIMS也支持影像流.
矢量數(shù)據(jù)流—矢量數(shù)據(jù)流包括客戶端流矢量特征,它可以完成一系列的客戶端任務(wù);矢量標(biāo)記;MapTip創(chuàng)建;空間選擇等.矢量數(shù)據(jù)流對于高級ArcIMS客戶端來講是十分重要的,包括 ArcExplorer—Java版、ArcGIS桌面系統(tǒng)和ArcIMS—Java視圖.來自ArcIMS網(wǎng)站的Streamed features可與其他多種特征進(jìn)行集成,如本地數(shù)據(jù),并同時用于分析中.
數(shù)據(jù)查詢—用戶可通過查詢獲取特定信息.客戶端向服務(wù)器遞交查詢,服務(wù)器將查詢結(jié)果返回客戶端.
數(shù)據(jù)提取—用戶可向服務(wù)器請求獲取地圖數(shù)據(jù)集.服務(wù)器通過向客戶端發(fā)送選定格式 (如shapefile)的zipped數(shù)據(jù)文件對數(shù)據(jù)請求做出響應(yīng).
地理編碼—該功能允許用戶向服務(wù)器遞交地址并接收來自ArcIMS地理編碼服務(wù)的位置信息.根據(jù)用戶輸入的地址信息,服務(wù)器返回一個與地址相匹配的位置信息或一組候選信息.
元數(shù)據(jù)—ArcIMS可發(fā)布創(chuàng)建于ArcGIS桌面系統(tǒng)并存儲于ArcSDE中的元數(shù)據(jù)信息.這些元數(shù)據(jù)服務(wù)為用戶提供了元數(shù)據(jù)目錄搜索和地圖視圖察看等功能.
ArcIMS運行于一個包含客戶端和服務(wù)器端組件的分布式環(huán)境中.首先客戶端通過互聯(lián)網(wǎng)或企業(yè)內(nèi)部網(wǎng)向服務(wù)器端發(fā)送請求,然后服務(wù)器端處理請求并將結(jié)果返回至客戶端的視圖中.
ArcIMS應(yīng)用開發(fā)實際上是指基于ArcIMS Connector進(jìn)行WebGIS應(yīng)用程序 (Web網(wǎng)頁),在B/S模式環(huán)境下實現(xiàn)部分GIS功能的一個過程.ArcIMS通過以下兩個應(yīng)用程序?qū)崿F(xiàn)地圖定義文件的生成、地圖服務(wù)管理:
(1)ArcIMS Author——建立地圖配置文件 (AX L),定義數(shù)據(jù)
(2)ArcIMS Administrator——建立 ArcIMS Service,定義地圖服務(wù)
ArcIMS Author類似ArcMAP軟件可定義需要發(fā)布的地圖由哪些圖層組成、進(jìn)行圖層的符號設(shè)定、渲染、生成校注等.在此我們使用Author,再使用服務(wù)端組件-ActiveX Connector開發(fā) (ArcIMS ActiveX連接器提供了包括Map、ArcIMSConnector在內(nèi)的一系列的服務(wù)端組件),基于服務(wù)端腳本語言 (VBScript、JavaScript等)和面向?qū)ο蟮木幊趟枷?可開發(fā)基于ASP技術(shù)的WebGIS應(yīng)用.
將ASP技術(shù)引入到HTML模式下的ArcIMS開發(fā)中,使得網(wǎng)頁更靈活.ASP(Active Server Pages)是微軟公司推出的一種用來取代CGI(Common Gateway Interface)的技術(shù),位于服務(wù)器端的腳本運行環(huán)境,通過這種環(huán)境,用戶可以創(chuàng)建和運行動態(tài)的、交互式的Web應(yīng)用程序,臺交互式的動態(tài)網(wǎng)頁,包括使用HTML表單收集和處理信息、上傳與下載文件等.有了ASP,就不必?fù)?dān)心客戶端瀏覽器是否能運行你所編寫的代碼,因為所有的程序都將在服務(wù)器端執(zhí)行,包括所有嵌在普通HTML中的腳本程序.當(dāng)程序執(zhí)行完畢后,服務(wù)器便將執(zhí)行的結(jié)果返回客戶端瀏覽器,這樣就減輕了客戶端瀏覽器的負(fù)擔(dān),大大提高了信息交互的速度.在進(jìn)行ASP開發(fā)時,通常使用的腳本語言有兩種,一種是VBScript,另一種是JavaScript,本文選用VBScript腳本語言.
在進(jìn)行系統(tǒng)開發(fā)前,先要創(chuàng)建地圖服務(wù).用戶可以通過ArcIMS Author創(chuàng)建地圖配置文件 (Map Configuration File),也可以通過XML Editor來編輯,使用XML Editor進(jìn)行編輯的靈活性較大,也可以使用ArcMap來創(chuàng)建.mxd格式的地圖配置文件,然后將地圖配置文件通過ArcIMS的Administrator創(chuàng)建為相應(yīng)的服務(wù).(如:用ArcMap模塊制作地圖,把矢量空間數(shù)據(jù)庫中的空間圖層數(shù)據(jù)加載,同時可以設(shè)置各個圖層的相關(guān)屬性,如顯示的符號樣式、大小、顏色等,自定義地圖文件的名稱,然后將制作好的.mxd文件利用ArcIMS的Administrator工具制作成 ImageServer—ArcMap類型的地圖服務(wù),最后利用ArcIMS的designer工具設(shè)計一個HTML Viewer站點.)
與屬性數(shù)據(jù)的連接即得到屬性數(shù)據(jù)庫中的數(shù)據(jù),系統(tǒng)所有與屬性數(shù)據(jù)有關(guān)的功能,如查詢顯示數(shù)據(jù)、增加刪除修改數(shù)據(jù)等操作都必須先實現(xiàn)這一步.在ASP中,通過ADO訪問數(shù)據(jù)庫是最簡便和最快捷的方式,ADO是一個ASP內(nèi)置的ActiveX服務(wù)器組件.(如:建立一個連接對象conn,set conn=server.createobject(“aims.ArcIMSConnector”).建立連接是存取Web數(shù)據(jù)庫的開始;調(diào)用conn.open方法打開數(shù)據(jù)庫.編寫從ODBC數(shù)據(jù)源中查詢數(shù)據(jù)的SQL語句.)
通過ArcIMS服務(wù)提供的ActiveX控件的屬性、方法實現(xiàn)與空間數(shù)據(jù)庫的連接,得到地圖對象mapimage,通過地圖對象mapimage的方法、屬性等就可以實現(xiàn)地圖圖層的縮放、漫游、查詢等一系列GIS圖形操作.
編輯完成后上傳到Web服務(wù)器的Website擬路徑下,就能在相應(yīng)網(wǎng)頁中進(jìn)行地圖放大的操作.
有了Internet,人們就可以在地球的任何角落方便經(jīng)濟(jì)快速地獲取和傳輸?shù)乩頂?shù)據(jù).為了向大規(guī)模網(wǎng)站提供強(qiáng)大的技術(shù)支持,ArcIMS是融合了ESRI公司總結(jié)多年經(jīng)驗后所開發(fā)出的網(wǎng)絡(luò).ArcIMS對于創(chuàng)建GIS網(wǎng)絡(luò)的每一部分均十分重要.ArcIMS包括應(yīng)用元數(shù)據(jù)目錄創(chuàng)建GIS接口的工具,例如,搜索、發(fā)掘、數(shù)據(jù)和元數(shù)據(jù)獲取、地名詞典功能以及網(wǎng)絡(luò)制圖應(yīng)用.由于是為在網(wǎng)絡(luò)中提供GIS服務(wù)而專門創(chuàng)建的,ArcIMS的設(shè)計使得它易于創(chuàng)建地圖服務(wù)、利用地圖服務(wù)開發(fā)網(wǎng)頁以及管理網(wǎng)站.ArcIMS在Internet上發(fā)布地理數(shù)據(jù),正如用戶可以從其它網(wǎng)站上獲取數(shù)據(jù)一樣.由于地理數(shù)據(jù)在Internet上具有很大的自由度和移動性,從而最終能夠在許多領(lǐng)域解決許多實際問題,如城市管理、商貿(mào)管理、社會和環(huán)境規(guī)劃、工業(yè)布局等,使得WebGIS開發(fā)更輕松.
[1]謝建華,陶 紅,李培錚.開發(fā)WebGIS的一種新技術(shù)——ArcIMS技術(shù) [J].遙感信息,2002,(4):57-60.
[2]李秀梅,陶 陶.基于ArcIMS地圖服務(wù)的WebGIS研究——以南京市路燈管理信息系統(tǒng)為例 [J].計算機(jī)工程與應(yīng)用,2005,(12):209-212.
[3]張衡.基于ArcIMS的WebGIS構(gòu)建與應(yīng)用實踐 [D].解放軍信息工程大學(xué)生,2006.
[4]楊世錫,趙輝.ASP+SQL SERVER動態(tài)網(wǎng)站開發(fā)從基礎(chǔ)到實踐 [M].北京:電子工業(yè)出版社,2005.