岳傳明 劉 凱 周卓月
(1.利津縣國土資源局,山東 利津 257400;2.山東農(nóng)業(yè)大學 資源與環(huán)境學院,山東 泰安 271018)
隨著網(wǎng)絡技術(shù)的發(fā)展和行業(yè)應用需求的增加,webGIS的開發(fā)應用成為GIS發(fā)展的新熱點,并正在深入到各行各業(yè)。webGIS開發(fā)離不開數(shù)據(jù),ArcGIS軟件自身提供了兩種數(shù)據(jù)庫——文件地理數(shù)據(jù)庫和個人地理數(shù)據(jù)庫來存儲幾何數(shù)據(jù)和關(guān)系數(shù)據(jù),但這兩種數(shù)據(jù)庫只能通過ArcGIS軟件訪問,是ArcGIS專有的,這就會使ArcGIS在行業(yè)應用中受到很大限制。因為對于一個完整的web應用,webGIS應用往往只是作為其中的一個模塊存在的。如此一來,GIS模塊與web應用的其他模塊各用一套數(shù)據(jù)庫,二者沒有溝通,不能同步,便稱不上是一個完整的web應用。針對這個問題,Esri公司在推出ArcGIS Server產(chǎn)品的同時提供了ArcSDE解決方案,它允許用戶在Oracle,Microsoft SQL Server,IBM DB2和Informix等多種數(shù)據(jù)庫平臺上管理地理數(shù)據(jù),并使所有的ArcGIS應用程序都能夠使用這些數(shù)據(jù)。文章以某高校地產(chǎn)管理系統(tǒng)為例,研究了GIS系統(tǒng)與一般web應用共同管理和使用同一關(guān)系型數(shù)據(jù)庫中數(shù)據(jù)的實現(xiàn)方法,提出了一個通用的基于數(shù)據(jù)庫技術(shù)的webGIS開發(fā)模型。
高校地產(chǎn)管理系統(tǒng)是一個傳統(tǒng)數(shù)據(jù)管理系統(tǒng),主要功能是對高校地產(chǎn)信息的管理。地產(chǎn)信息具有很強的地理相關(guān)性,枯燥的簡單數(shù)據(jù)操作已不能滿足用戶的需求,對于地產(chǎn)信息,用戶希望能夠通過“所見即所得”的可視化操作來更有效率的完成地產(chǎn)信息的采集與管理,用戶的這種現(xiàn)實需要要求GIS應用與傳統(tǒng)web應用結(jié)合起來,聯(lián)合管理數(shù)據(jù)。GIS系統(tǒng)與傳統(tǒng)數(shù)據(jù)管理系統(tǒng)各司其職,可以分別獨立開發(fā),二者唯一需要統(tǒng)一的就是數(shù)據(jù)庫設(shè)計,或者在一方系統(tǒng)已開發(fā)完成的情況下,另一方系統(tǒng)只需遵守已有的數(shù)據(jù)庫使用規(guī)則進行開發(fā)即可。這樣一來,開發(fā)完成的系統(tǒng)看似是兩個獨立系統(tǒng)的拼湊,實則二者通過數(shù)據(jù)庫有機的結(jié)合起來,用戶無論通過哪方系統(tǒng)對地產(chǎn)信息進行操作,另一方系統(tǒng)也會實時聯(lián)動更新,在使用中二者又可各取其長,展現(xiàn)了GIS系統(tǒng)與傳統(tǒng)數(shù)據(jù)管理系統(tǒng)聯(lián)合管理數(shù)據(jù)的強大功能。
高校地產(chǎn)管理系統(tǒng)的GIS部分主要是輔助主系統(tǒng)在地圖上直觀的展示與管理數(shù)據(jù),要求能對地圖進行縮放、鷹眼等基本操作,點擊圖上地產(chǎn)能夠查看其屬性信息并能夠修改與更新,還要求能夠展示和修改更新每處地產(chǎn)各樓層、各房間的屬性信息,能夠通過搜索功能查找地產(chǎn),能夠編輯地產(chǎn)地圖添加新地產(chǎn)及刪除地產(chǎn)等。
高校地產(chǎn)管理系統(tǒng)整體按用戶權(quán)限分為公共客戶端與后臺管理端兩部分,普通用戶只能通過公共客戶端進行瀏覽地產(chǎn)信息等基本操作,管理員可使用后臺管理系統(tǒng)管理和更新地產(chǎn)信息。
公共客戶端主要功能模塊有縮放模塊、鷹眼、書簽、屬性查詢模塊、繪圖預測量模塊、地產(chǎn)搜索模塊、打印與截圖等。后臺管理系統(tǒng)在公共客戶端基礎(chǔ)上開放地產(chǎn)信息修改權(quán)限,將屬性查詢模塊更改為屬性編輯模塊,在屬性查詢基礎(chǔ)上還可對地產(chǎn)屬性進行修改更新;另增加地圖編輯模塊,可修改地圖,添加和刪除地產(chǎn)等。其中,縮放模塊、鷹眼、書簽、繪圖與測量、打印與截圖五個模塊為通用模塊,僅承擔對地圖的基本操作任務。為地產(chǎn)管理系統(tǒng)的業(yè)務邏輯專門服務的模塊有屬性查詢模塊、地產(chǎn)搜索模塊、屬性編輯模塊和地圖編輯模塊,系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 高校地產(chǎn)系統(tǒng)結(jié)構(gòu)圖
1)屬性查詢模塊主要是對地產(chǎn)屬性的顯示,又分兩個子模塊——地產(chǎn)信息查詢模塊與樓層信息查詢模塊。房產(chǎn)信息查詢支持在主地圖上單擊房產(chǎn)查看相應房產(chǎn)信息,樓層信息查詢則可以查看選定地產(chǎn)的各樓層詳細地圖,在樓層地圖上單擊房間可以查看對應房間的使用情況。整個模塊主要涉及對QueryTask和AttributeInspector的應用。
2)地產(chǎn)搜索模塊主要是利用關(guān)鍵字搜索相應地產(chǎn)在地圖上的位置,快速定位目標,并顯示地產(chǎn)信息,又分兩個子模塊——按類別搜索與關(guān)鍵字搜索。按類別搜索,在開發(fā)初期數(shù)據(jù)準備過程中事先為地產(chǎn)添加利用類別字段,將全部地產(chǎn)分為職能部門、生活設(shè)施、公共服務、教學設(shè)施和學院五個利用類別,用戶點擊相應類別按鈕得到屬于該類別的所有地產(chǎn)列表,點擊列表中相應地產(chǎn),地圖自動縮放到該地產(chǎn)范圍并高亮顯示,同時顯示地產(chǎn)屬性信息。按關(guān)鍵字搜索是由用戶輸入關(guān)鍵字,系統(tǒng)按關(guān)鍵字搜索出符合條件的所有地產(chǎn),點擊相應地產(chǎn)實現(xiàn)縮放、高亮和顯示屬性信息,支持模糊查詢。該模塊涉及的主要技術(shù)也是對QueryTask和AttributeInspector的組合應用。
3)屬性編輯模塊主要是在屬性查詢基礎(chǔ)上開放了對屬性信息的編輯權(quán)限,管理員可以通過此模塊實時更新地產(chǎn)信息。
4)地圖編輯模塊可以添加新地產(chǎn),修改已有地產(chǎn)的圖形,也可以刪除已有地產(chǎn),是管理員用來管理地產(chǎn)數(shù)據(jù)的一個主要模塊。主要是對Editor工具的使用。
要實現(xiàn)地產(chǎn)信息的實時更新要求系統(tǒng)操作的所有數(shù)據(jù)必須來自同一個數(shù)據(jù)庫;ArcGIS軟件自身的地理數(shù)據(jù)庫不支持web端數(shù)據(jù)修改,不能滿足地產(chǎn)管理系統(tǒng)的業(yè)務需要,因此必須使用一個更加強大的外部數(shù)據(jù)庫來管理地產(chǎn)數(shù)據(jù)。ArcGIS軟件現(xiàn)已支持在Oracle、Microsoft SQL Server、IBM DB2和Informix等多種數(shù)據(jù)庫平臺上管理數(shù)據(jù),這些數(shù)據(jù)庫管理平臺都屬于關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS),無法直接管理空間數(shù)據(jù),必須經(jīng)過ArcGIS軟件的連接配置。
對于ArcGIS連接RDBMS來說,又有兩種連接方式——直接連接方式和ArcSDE連接方式。采用直接連接方式不需要管理ArcSDE服務,不需要安裝、配置和啟動中間進程giomgr.exe,數(shù)據(jù)讀寫速度快,但在其中管理的數(shù)據(jù)默認情況下是只讀的,使用這種連接方式只能在RDBMS中編輯數(shù)據(jù),雖然在webGIS端的數(shù)據(jù)也可得到實時更新,但這仍不能滿足最初系統(tǒng)設(shè)計的需要。要使用RDBMS存儲和管理能滿足webGIS開發(fā)需要的空間數(shù)據(jù)必須使用ArcSDE連接方式。
ArcSDE是ArcGIS的空間數(shù)據(jù)引擎,它是在RDBMS中存儲和管理多用戶空間數(shù)據(jù)的通路。從空間數(shù)據(jù)管理的角度看,ArcSDE是一個連續(xù)的空間數(shù)據(jù)模型,借助這一空間數(shù)據(jù)模型,可以實現(xiàn)用RDBMS管理空間數(shù)據(jù)庫。ArcSDE采用的是客戶端/服務器體系結(jié)構(gòu),眾多用戶可以同時并發(fā)訪問和操作同一數(shù)據(jù)。
可編輯的空間數(shù)據(jù)必須來自ArcSDE,ArcSDE針對不同的RDBMS提供了相應的軟件版本,使用前需安裝正確的ArcSDE版本。軟件安裝過程中需要進行一系列配置,包括待連接的數(shù)據(jù)庫實例名稱、數(shù)據(jù)庫身份驗證、SDE數(shù)據(jù)庫命名等,配置完成后方可使用ArcCatalog軟件管理RDBMS中SDE數(shù)據(jù)庫的數(shù)據(jù)。在RDBMS中打開SDE數(shù)據(jù)庫查看,可以發(fā)現(xiàn)系統(tǒng)在建立SDE數(shù)據(jù)庫之后自動創(chuàng)建了一系列關(guān)系表,用戶無需關(guān)注這些復雜的關(guān)系表,只需熟悉如何在ArcCatalog中管理ArcGIS常用數(shù)據(jù)即可。在ArcCatalog中添加空間數(shù)據(jù)庫連接,進行連接屬性配置,成功連接到ArcSDE后在ArcCatalog中會生成一個新類型的數(shù)據(jù)庫——ArcSDE地理數(shù)據(jù)庫,這個地理數(shù)據(jù)庫支持ArcGIS一切常用數(shù)據(jù)的管理,在接下來的開發(fā)中,只需將系統(tǒng)需要的點、線、面等要素導入或建立在這個ArcSDE地理數(shù)據(jù)庫中即可。
在ArcSDE地理數(shù)據(jù)庫中,屬性數(shù)據(jù)是依附于幾何數(shù)據(jù)存儲的,在ArcCatalog中可見的只有點、線、面等幾何要素,屬性數(shù)據(jù)存儲于幾何要素的屬性表中;而在RDBMS中可見的只有屬性數(shù)據(jù),幾何數(shù)據(jù)是由屬性數(shù)據(jù)表和復雜的關(guān)系表連接共同體現(xiàn)的。實際開發(fā)中,應是在ArcSDE地理數(shù)據(jù)庫中導入已有要素或者建立新要素,并按需要建立相應屬性字段,在RDBMS端的SDE數(shù)據(jù)庫中便會生成一張與要素同名的數(shù)據(jù)表和若干關(guān)系表連接,這個數(shù)據(jù)表中管理的是要素的屬性數(shù)據(jù),通過系統(tǒng)定制字段“OBJECTID”與要素屬性表連接,實現(xiàn)數(shù)據(jù)同步。值得注意的是,要想實現(xiàn)多個用戶能夠同時編輯同一個ArcSDE地理數(shù)據(jù)庫中的數(shù)據(jù),導入ArcSDE地理數(shù)據(jù)庫的要素必須首先注冊版本。至此,環(huán)境搭建與數(shù)據(jù)準備工作完成。
接下來只需將ArcSDE中的要素添加進相應ArcMap工程,并保存為以.mxd為后綴的工程文件,然后使用ArcGIS Server發(fā)布為要素服務,用于webGIS應用開發(fā)的支持多用戶同時在線編輯的地理數(shù)據(jù)就準備完成了,最后,根據(jù)需要使用ArcGIS提供的相應API操作數(shù)據(jù)即可。對整個開發(fā)過程進行總結(jié),可以抽取出一個通用的開發(fā)模型,如圖2所示。
圖2 基于數(shù)據(jù)庫技術(shù)的webGIS開發(fā)模型
文章提供的數(shù)據(jù)庫實現(xiàn)方案基本滿足了高校地產(chǎn)系統(tǒng)對空間數(shù)據(jù)在線編輯的需要,使用戶能夠在web端可視化的編輯和管理地產(chǎn)信息。在實際應用中,凡是涉及對空間數(shù)據(jù)在線編輯需要的GIS應用系統(tǒng),都可采用文章提供的數(shù)據(jù)庫解決方案。
[1]宋關(guān)福,鐘耳順,王爾琪.WebGIS:基于 Internet的地理信息系統(tǒng)[J].中國圖像圖形學報,1998(3).
[2]郭杰華,鮑遠律,胡玉鎖,等.基于Internet的地理信息系統(tǒng)的研究和開發(fā)[J].圖形圖像學報,1999(1).
[3]薛小峰,旺曉程.WebGIS 處理模型系統(tǒng)[J].微型電腦應用,2000.
[4]王行風,徐壽成.XML 與 WebGIS 的空間數(shù)據(jù)管理技術(shù)[J].計算機應用研究,2001.