韋廖軍,王海英,劉容
(南寧市勘測院,廣西 南寧 530022)
隨著Internet應(yīng)用的迅速普及和技術(shù)的日益發(fā)展以及GIS日趨強烈的社會化需求,基于網(wǎng)絡(luò)的地圖服務(wù)成為一種必然,也成為目前GIS發(fā)展的最重要的方向之一。國內(nèi)外公司先后推出了自己的網(wǎng)絡(luò)GIS開發(fā)組件,ArcIMS便是其中之一。作為可伸縮的網(wǎng)絡(luò)地圖服務(wù)器軟件,ArcIMS被廣泛地用于向大量網(wǎng)絡(luò)用戶發(fā)布網(wǎng)絡(luò)GIS地圖數(shù)據(jù)和元數(shù)據(jù)。
隨著航道事業(yè)和測繪事業(yè)的快速發(fā)展,在保證網(wǎng)絡(luò)訪問安全的前提下,建立航道平高控制網(wǎng)數(shù)據(jù)庫管理系統(tǒng),以先進(jìn)的管理手段代替舊的文字資料查閱與使用方式,更好地滿足成果管理和成果應(yīng)用的需求,為航道管理和維護(hù)提供及時、科學(xué)、深層次的服務(wù)。
本文所構(gòu)建的管理系統(tǒng),基于ArcIMS的三層客戶端/服務(wù)器結(jié)構(gòu),用Javascript語言進(jìn)行開發(fā)。系統(tǒng)架構(gòu)可以分為三個層次,即客戶端、服務(wù)器端、數(shù)據(jù)庫,如圖1所示。
圖1 系統(tǒng)體系結(jié)構(gòu)
作為廣域或局域網(wǎng)內(nèi)的客戶端或用戶終端,它是直接或間接與服務(wù)器相連的計算機或應(yīng)用程序,通過HTTP或TCP/IP協(xié)議與服務(wù)器建立通訊。
ArcIMS提供了4種客戶端瀏覽器或模板,本系統(tǒng)采用的客戶端瀏覽器為 HTML Viewer,主要考慮到HTML Viewer不需要要素數(shù)據(jù)流和數(shù)據(jù)集成,即其對網(wǎng)絡(luò)傳輸性能要求不高,還可以通過HTML、Javascript語言對其進(jìn)行定制。
服務(wù)器端包含兩部分,空間服務(wù)器和應(yīng)用服務(wù)器??蛻舳送ㄟ^ArcIMS連接器與應(yīng)用服務(wù)器連接,應(yīng)用服務(wù)器請求的數(shù)據(jù)從空間數(shù)據(jù)服務(wù)器中獲得;空間數(shù)據(jù)服務(wù)器是整個ArcIMS的核心,它處理請求的地圖數(shù)據(jù)和相關(guān)信息。各組成部分依賴TCP/IP協(xié)議通訊,不僅僅是當(dāng)它們運行在不同的計算機上時是這樣,即使其中的多個部分運行在同一臺計算機上時依然如此,彼此之間的通訊是通過ArcXML格式傳遞的。ArcXML是對XML的一個GIS擴(kuò)展,ArcXML也提供易于使用、強大的方式去定制ArcIMS應(yīng)用。
系統(tǒng)中所涉及的數(shù)據(jù),包括空間數(shù)據(jù)和屬性數(shù)據(jù),皆存儲在Oracle數(shù)據(jù)庫中。空間數(shù)據(jù)和屬性數(shù)據(jù)點之記信息表以公共字段“點號”(DH)進(jìn)行關(guān)聯(lián),并設(shè)“點號”字段為點之記信息表的主鍵。
本系統(tǒng)數(shù)據(jù)庫包括空間數(shù)據(jù)和屬性數(shù)據(jù)兩方面內(nèi)容,空間數(shù)據(jù)主要包括控制點的位置信息,屬性數(shù)據(jù)主要包括控制點的點之記、委托書、圖片、環(huán)視圖等。以GPS-B級控制點為例,各相關(guān)信息存在如下邏輯關(guān)系:
以GPS-B級控制點為例,描述其空間數(shù)據(jù)和屬性數(shù)據(jù)中的點之記信息的表結(jié)構(gòu)設(shè)計,如表1、表2所示。
GPS-B級控制點空間數(shù)據(jù)表結(jié)構(gòu)設(shè)計 表1
GPS-B級控制點點之記表結(jié)構(gòu)設(shè)計 表2
航道平高控制網(wǎng)數(shù)據(jù)庫管理系統(tǒng)以網(wǎng)絡(luò)為管理平臺發(fā)布,既具有直觀的圖形化操作平臺,又具有與數(shù)據(jù)庫之間的良好交互能力。ArcIMS已經(jīng)為用戶提供了基本的地圖發(fā)布平臺,完全能滿足項目需要,本文把空間數(shù)據(jù)與屬性數(shù)據(jù)的交互作為重點討論。
為了實現(xiàn)空間數(shù)據(jù)到屬性數(shù)據(jù)的訪問,首先要得到可查詢的圖層,通過點選獲得符合要求的空間數(shù)據(jù),然后利用DH字段與屬性數(shù)據(jù)庫進(jìn)行關(guān)聯(lián),把具體某個空間數(shù)據(jù)的屬性信息顯示在網(wǎng)頁上。通過ArcIMS定制的網(wǎng)絡(luò)發(fā)布系統(tǒng),已經(jīng)實現(xiàn)了對地圖上空間數(shù)據(jù)的點選、框選和緩沖選擇,二次開發(fā)時,僅需在原有功能基礎(chǔ)上,將具體某個空間數(shù)據(jù)的屬性數(shù)據(jù)以彈出網(wǎng)頁的形式顯示。修改后的代碼如下:
用戶根據(jù)需求,設(shè)置查詢條件篩選點之記,再查看某個點之記的詳細(xì)屬性信息,并能夠?qū)⑵滹@示在地圖中心位置。要實現(xiàn)此功能,同樣需要針對可訪問的圖層,設(shè)置查詢條件,得到符合條件的空間數(shù)據(jù),然后對地圖進(jìn)行相應(yīng)的放大、平移操作。具體實現(xiàn)方法需參考ArcIMS的例子“Parcels”。修改后的代碼如下:
(1)建立航道平高控制網(wǎng)數(shù)據(jù)庫管理系統(tǒng),保持其成果信息的現(xiàn)勢性和技術(shù)先進(jìn)性,實現(xiàn)航道平高控制網(wǎng)數(shù)據(jù)長期、完整、可靠的保存和更新維護(hù)管理,是一項保持航道測繪事業(yè)可持續(xù)發(fā)展的基礎(chǔ)性工作;
(2)系統(tǒng)采用B/S模式進(jìn)行開發(fā),客戶端直接用瀏覽器就可以登陸和操作系統(tǒng),減少了系統(tǒng)管理員的維護(hù)工作,也方便了用戶的使用;
(3)系統(tǒng)開發(fā)主要是利用了ArcIMS自身的Design建立的網(wǎng)站源碼,大大節(jié)省了開發(fā)周期和開發(fā)成本,再綜合應(yīng)用Javascript、html和C#等開發(fā)語言,建設(shè)完成了本系統(tǒng);
(4)該系統(tǒng)的數(shù)據(jù)庫有空間數(shù)據(jù)庫和屬性數(shù)據(jù)庫兩部分,本系統(tǒng)采用ArcIMS為基礎(chǔ),能方便、快捷、實時的實現(xiàn)空間數(shù)據(jù)與屬性數(shù)據(jù)的交互。
[1]http://www.esri.com.
[2]ArcIMS 9.2 Help.
[3]馬明,楊永國,鄧彩群.基于ArcIMS的城市小區(qū)信息發(fā)布系統(tǒng)的設(shè)計與實現(xiàn)[J].國土資源信息化,2008(5):20~22、34
[4]尚穎娟,張佐幫.基于ArcIMS和JSP的WebGIS設(shè)計與實現(xiàn).地理空間信息,2006,4(1):43~45
[5]吳曉明,崔曉臨,楊信廷等.ArcGIS Server平臺下空間數(shù)據(jù)與屬性數(shù)據(jù)的交互.測繪通報,2009(10):53~55