姜 奇,于子娟
(哈爾濱師范大學)
Arcgis Server的符號化研究
姜 奇,于子娟
(哈爾濱師范大學)
介紹了Arcgis Server和Arcgis Server符號化模塊.
Arcgis Server;GIS;符號化
Arcgis Server是一個基于Web的企業(yè)級解決方案,從最初Arcgis 9.0版本開始出現在ESRI產品中.Arcgis Server為創(chuàng)建和管理基于服務器的GIS應用提供了一個高效的框架平臺.
Arcgis Server充分利用了Arcgis產品的核心組件庫ArcObjects(簡稱AO),并在工業(yè)標準的基礎上提供GIS服務.Arcgis Server將兩個功能強大的技術——地理信息系統(tǒng)(GIS)和網絡技術(WEB)結合在一起:GIS在空間相關的查詢、定位、分析和處理上擅長,而網絡技術能提供全球互聯,促進信息共享.這兩項技術完美合作,組成了Arcgis Server的主要旋律.
Arcgis Server是一個用于構建集中管理、支持多用戶的企業(yè)級 GIS應用的平臺應用[1].Arcgis Server包括兩個部分:一部分是GIS Server,它是一個提供GIS服務的服務器端軟件產品.另外一部分是ADF(Application Developer Framework),它是應用程序開發(fā)框架.
GIS Server是一套GIS服務器組件,用來管理和發(fā)布地圖服務,安裝在GIS服務器上.ADF是開發(fā)人員使用的開發(fā)組件集,安裝在開發(fā)人員機器上.Web應用程序、Web服務和桌面端程序,都可以用ADF.
Arcgis Server作為服務器端的GIS軟件,它與傳統(tǒng)的桌面端GIS軟件和基于B/S的WebGIS軟件有所不同.區(qū)別在于它不僅具備發(fā)布地圖服務的功能,而且還具有在線編輯和非常強大的分析能力,這對于WebGIS的發(fā)展是很有意義的.Arcgis Server是基于Web的,不僅可以為局域網提供GIS服務,也可以為互聯網用戶提供與桌面GIS軟件基本相當的功能.其具體特征表現如下:
(1)Arcgis Server的在線數據編輯功能.用戶在現場作業(yè)的時候可以通過移動設備對服務器端數據庫維護、更新,減少了將作業(yè)數據帶回后的重復工作,為野外作業(yè)提供了最大的便利.
(2)支持眾多客戶端.Arcgis Server是在AO組件的基礎上的服務器產品,它可以和很多客戶端一起工作.它支持基于C/S模型的桌面應用程序、B/S瀏覽器及嵌入式設備.
(3)支持多用戶并發(fā)訪問,具備負載均衡功能.Arcgis Server采用的是分布式組件技術能將大量的并發(fā)用戶訪問均衡的分配到多服務器上,能大大減少響應時間、提高用戶的訪問數量.
(4)即使是瘦客戶端也能得到企業(yè)級GIS服務.以前高級GIS功能都是在桌面GIS軟件中實現,使用Arcgis Server產品后,在瀏覽器中也可以實現GIS的高級操作——在服務器上用Arcgis Server搭建的GIS服務,客戶端就可以通過瀏覽器調用服務器端的服務,只要服務器端配置滿足要求,對客戶端可以沒有高要求.
(5)安全的連接和訪問系統(tǒng).安全性是企業(yè)級GIS服務器的非常重要的一個指標.采用Arcgis Server組建的企業(yè)級GIS系統(tǒng)是一個高度安全的系統(tǒng),只能被管理員授權的用戶訪問.
(6)通過集中式的管理使成本降低.企業(yè)級的GIS系統(tǒng)由于結構功能龐大,用戶量多,在管理上會造成非常大的開銷.使用Arcgis Server不論是從數據的維護及管理還是系統(tǒng)的更新升級上來說,都是只需要在服務器上進行集中處理,無須在每個客戶端用戶上進行維護,即節(jié)約了時間成本和人力資源,而且還有利于空間數據的一致性.
Arcgis Server是一個由多個可以分布于多臺機器的組件構成的分布式系統(tǒng)[2].它由幾個組成部分,可以分別部署在不同的機器上,它們在進程的管理、啟動和關閉以及對象運行的服務器的負載均衡方面有著專門的作用.Arcgis Server的體系結構,如圖1所示.
圖1
客戶部分包括了B/S結構的瀏覽器和C/S結構的桌面應用程序.該部分主要是調用Arcgis Server的開發(fā)功能和訪問Arcgis Server發(fā)布的數據公共接口.Web瀏覽器是用戶通過瀏覽器來連接到Web層的用戶接口,桌面程序是通過HTTP網絡協(xié)議連接到運行在Web服務器上的Web Server或直接通過內部局域網連接到GIS Server上來獲得相應服務對象的代理[3].
應用部分可分為局域網部分和互聯網部分.互聯網部分主要負責用戶通過Web瀏覽器和Web Server發(fā)送的請求,并根據用戶請求從GIS Server中獲得相應的結果返回給客戶顯示.局域網部分是由服務器對象管理器(SOM)管理一個或多個服務器對象容器(SOC).
SOM是一個Windows/UNIX服務,它負責管理一組分布在一個或多個SOC上的服務器對象(Server Object),Server Object的運行是在 Arc-SOC.EXE進程中,它還對SOC機器的負載平衡進行動態(tài)調節(jié).用戶通過局域網或互聯網連接到Arcgis Server服務器時,用戶連接的對象是SOM,SOM根據負載平衡的原則自動調用相應的SOC機器里的服務器對象.
SOC是SOM啟動的一個進程,一個或者多個服務器的對象.服務器對象運行在SOC服務器上.一個容器可以運行很多個進程,每個進程中可有一個或多個服務器對象.進程由SOM來管理啟動或者停止.管理員可以用ArcCatalog來管理GIS Server.
數據部分主要為SOC提供相對應的空間數據.通過ArcSDE訪問的關系型數據或者是文件類型存儲的文件數據.
地圖是現實世界的模型,重現和理解地理現象的空間分布和空間關系,被用來可視化地理空間數據.而地圖符號是表達空間信息的語言單位,保證了表現地理空間要素的清晰性、簡潔性和直觀性[4].地圖的可視化方面的主要目標就是要將地形地貌用圖形表示出來,它是一種空間的認知行為,借助可視化軟件將其他形式的數據用圖形表示出來針對同一數據集,采用多種圖形顯示.地圖符號是地圖的語言,是表達地理事物的基本手段,在現實應用中,不論是在地圖制圖系統(tǒng)中還是在GIS中,地圖數據符號化現實都是非常重要的.
Arcgis自身帶有豐富的符號庫,在 Arcgis Server中可以使用Arc Objects來調用符號庫中的符號對相應圖層進行符號化.
調用Arcgis符號庫中符號的步驟:
(1)首先得知道符號庫的符號分類,之后才能對圖層進行符號化,選擇合適的符號進行符號化.
(2)選擇符號庫的種類之后,選擇符號的名稱.
(3)選擇完符號名稱后,獲取符號.
(4)對選擇的圖層進行符號化.
(5)刷新地圖.
大多數的GIS軟件都能識別TureType的點符號,Arcgis系列軟件更是不能例外,Arcgis Server能加載TureType的點符號.利用其他的工具制作好TureType字體以后,用ArcMap把TureType字體制作成Seyle文件.制作步驟:
(1)將制作的TureType文件拷貝到WINDOWSFonts目錄下.
(2)單擊 ArcMap的 TOOLS-Styles-Style Manager菜單.
(3)系統(tǒng)會彈出Style Manager菜單的對話框,選中Marker Symbols選項,在右側列表框中單擊鼠標右鍵選擇New-Marker Symbol選項.
(4)系統(tǒng)彈出符號編輯對話框,在Type下拉列表中選中Character Marker Symbo選項,Font下拉列表框中選中自己編輯的TrueType字段,在符號列表中選中對應的符號.
(5)編輯完所有的符號后,就會生成對應的Style文件.有了相應的Style文件,只要把對應的Style文件替換成自己的Style文件就可以了.
Arcgis Server ADF提供一套符號系統(tǒng),讓用戶開發(fā)自定義的符號.Arcgis Server符號系統(tǒng)結構如圖.
(1)MarkerSymbol符號是指點符號,點符號的屬性有:填充顏色、邊框線顏色、點符號類型、符號寬度和透明度.用MarkerSymbol程序開發(fā)人員可以根據自己的需要來創(chuàng)建合適的符號.
(2)LineSmbol符號是指線符號,屬性有顏色、透明度、線型和線寬.
(3)FillSymbol符號是指填充符號,也就是面符號.屬性有:邊框顏色、邊框節(jié)點類型、連接點類型、邊框寬度、填充顏色、填充類型和透明度等.
(4)用圖片進行符號化,即用圖片表示某一類特殊的元素,可以是點符號,也可以是填充符號.
Arcgis Server中的符號很多,最常用的就是點符號、線符號、面符號和圖片符號.這些符號表現都與GraphicsLayer相關.
GraphicsLayer有兩種分別是ElementGraphicsLayer和 FeatureGraphicsLayer,從類關系圖可以看出.ElementGraphicsLayer和FeatureGraphicsLayer是兩個相似的類型,都顯示在地圖數據的最上層,當對數據進行查詢時,緩沖區(qū)分析需要添加臨時數據時使用.
ElementGraphicsLayer.add 添 加 的 是GraphicElement,每一個 GraphicElement都有自己的演示和顯示對象,可以是點、線、面,并且都有各自的顯示樣式,能由rows通過轉換得到.
GraphicElement有幾何和顯示樣式屬性.
FeatureGraphicsLayer.add添加的是 Geometry,ElementGraphicsLayer的樣式對象只有一種,并且只能保存一種幾何類型,即只能是點、線、面的其中一種.通過得到rows可以得到幾何體,FeatureGraphicsLayer有一個render的屬性,用這個屬性能進行顯示樣式的設置.
開發(fā)人員可以用GraphicsLayer自定義各種圖形,是開發(fā)工作更加快捷方便.
地圖符號是地圖的語言,是可視化地理環(huán)境現狀和發(fā)展表達的基本手段.無論是紙質還是電子地圖,地圖符號均是它們的重要組成部分.地圖符號化提高了城市地形要素的顯示、輸出效果[4].本文主要介紹了 Arcgis Server的符號制種類及功能的實現.
[1]康玲,傅俊鋒,等.基于Arcgis Server的WebGIS應用系統(tǒng)開發(fā)[J].水電能源科學,2007,25(1):26-29.
[2]吳功和,叢明日.基于Arcgis Server的分布式GIS研究[J].測繪科學學報,2006,2:52-55.
[3]何正國,杜娟.Arcgis Server開發(fā)從入門到精通[M].北京:人民郵電出版社,2010:3.
[4]劉玉春,高德荃,等.基于Arcgis Engine的城市DLG要素符號化[J].城市勘測,2008,2:14-16.
The Research on Symbolization of Arcgis Server
Jiang Qi,Yu Zijuan
(Harbin Normal University)
The Arcgis Server and Arcgis Server symbolic module are inroduced in this paper.
Arcgis Server;GIS;Symbolization
2010-09-20
(責任編輯:李佳云)