宋 麗,梁東業(yè),魏顯棟
ArcGISServer應(yīng)用開(kāi)發(fā)中的數(shù)據(jù)優(yōu)化策略
宋 麗1,梁東業(yè)1,魏顯棟2
(1.長(zhǎng)江科學(xué)院空間信息技術(shù)應(yīng)用研究所,武漢 430010;2.長(zhǎng)江水利委員會(huì)水政水資源局,武漢 430010)
影響ArcGISServer應(yīng)用系統(tǒng)性能的因素有很多,其中地圖數(shù)據(jù)是關(guān)鍵因素之一。在ArcGISServer應(yīng)用于“長(zhǎng)江流域水政執(zhí)法衛(wèi)星遙感動(dòng)態(tài)監(jiān)測(cè)系統(tǒng)”中,使用地圖圖層的整理、地圖渲染、屬性字段的整理、地圖緩存機(jī)制等多種手段對(duì)地圖數(shù)據(jù)進(jìn)行了優(yōu)化,從而大幅提高了系統(tǒng)中地圖的訪問(wèn)速度。對(duì)如何進(jìn)行數(shù)據(jù)優(yōu)化作了詳細(xì)介紹和討論分析。
ArcGISServer;數(shù)據(jù)優(yōu)化;系統(tǒng)性能
制約Web GIS軟件發(fā)展的一個(gè)重要問(wèn)題就是空間數(shù)據(jù)操作的響應(yīng)速度太慢,ESRI公司的ArcGIS Server是功能強(qiáng)大的基于服務(wù)器的GIS(地理信息系統(tǒng))產(chǎn)品,是構(gòu)建WebGIS(網(wǎng)絡(luò)地理信息系統(tǒng))的佼佼者,用于構(gòu)建集中管理的、支持多用戶的、具備高級(jí)GIS功能的企業(yè)級(jí)GIS應(yīng)用與服務(wù)。
筆者在一個(gè)項(xiàng)目的研究中基于ArcGIS Server、Visual.Studio.Net實(shí)現(xiàn)了集分布式系統(tǒng)管理和GIS功能為一體的“長(zhǎng)江流域水政執(zhí)法衛(wèi)星遙感動(dòng)態(tài)監(jiān)測(cè)系統(tǒng)”。系統(tǒng)能夠?qū)崿F(xiàn)遙感監(jiān)測(cè)數(shù)據(jù)、本地?cái)?shù)據(jù)及專題空間信息的存儲(chǔ)、管理及查詢顯示,遙感監(jiān)測(cè)數(shù)據(jù)對(duì)比、水政執(zhí)法輔助決策等功能。但由于多個(gè)頁(yè)面有地圖服務(wù),影像數(shù)據(jù)較多,地圖瀏覽速度較慢。為了提高地圖瀏覽速度,筆者從往往不受關(guān)注的數(shù)據(jù)角度著手,通過(guò)多種方法對(duì)數(shù)據(jù)本身進(jìn)行了優(yōu)化,很大程度上提高了地圖訪問(wèn)速度。筆者根據(jù)實(shí)踐中曾做過(guò)的嘗試,現(xiàn)作一些歸納,供讀者參考。
影響ArcGIS Server應(yīng)用開(kāi)發(fā)系統(tǒng)性能的因素有很多,主要有以下幾個(gè)因素[1]。
1.1 系統(tǒng)所依賴的硬件環(huán)境
ArcGISServer對(duì)系統(tǒng)構(gòu)建沒(méi)有一個(gè)絕對(duì)的硬件指標(biāo),但是作為一個(gè)網(wǎng)絡(luò)系統(tǒng),系統(tǒng)的硬件環(huán)境無(wú)疑會(huì)對(duì)系統(tǒng)的運(yùn)行性能帶來(lái)一定的影響,尤其對(duì)于網(wǎng)絡(luò)GIS這樣有大量地圖服務(wù)的系統(tǒng)。
1.2 系統(tǒng)的部署方式
系統(tǒng)的部署方式也會(huì)影響到系統(tǒng)的性能。在GIS服務(wù)數(shù)量比較少(不多于3個(gè))時(shí),用簡(jiǎn)單部署就可以,即Web Server、GISServer、數(shù)據(jù)服務(wù)器、Arc-Catalog管理工具都部署在同一臺(tái)機(jī)器上。
但當(dāng)GIS服務(wù)數(shù)量多于3個(gè),訪問(wèn)頻繁、負(fù)載較重時(shí),應(yīng)盡可能采用分布式部署,即ArcGIS Server組成部分要部署在不同的機(jī)器上。
1.3 網(wǎng)絡(luò)環(huán)境
基于ArcGISServer的系統(tǒng)是B/S程序,網(wǎng)絡(luò)環(huán)境當(dāng)然是其性能影響因素之一,增加網(wǎng)絡(luò)帶寬將提高系統(tǒng)訪問(wèn)速度。
1.4 數(shù)據(jù)性能
數(shù)據(jù)的性能是我們往往會(huì)忽略的一個(gè)因素,其實(shí)它是影響系統(tǒng)性能的一個(gè)關(guān)鍵因素。我們可以通過(guò)多種方式來(lái)優(yōu)化數(shù)據(jù),以提高系統(tǒng)的性能。
在“長(zhǎng)江流域水政執(zhí)法衛(wèi)星遙感動(dòng)態(tài)監(jiān)測(cè)系統(tǒng)”中,我們采用了多種方式對(duì)地圖數(shù)據(jù)本身進(jìn)行了優(yōu)化,下面以系統(tǒng)中的數(shù)據(jù)為例,歸納一些數(shù)據(jù)優(yōu)化的策略。
2.1 地圖本身的優(yōu)化
在地圖服務(wù)發(fā)布之前,在ArcMap中對(duì)系統(tǒng)待發(fā)布的數(shù)據(jù)作一系列的優(yōu)化,如整理圖層、地圖渲染、整理屬性字段,有助于地圖發(fā)布后有更快的訪問(wèn)速度。2.1.1 圖層的整理
圖層數(shù)量的多少將會(huì)影響到地圖的訪問(wèn)速度,可以根據(jù)應(yīng)用需要?jiǎng)h除不必要的圖層,以及分別對(duì)點(diǎn)、線、面各類圖層做合并處理,盡可能地減少圖層數(shù)量。
圖層合并處理后,將圖層重新組織,使它們便于管理。在同一圖層中,根據(jù)圖元屬性不同劃分子類。
在“長(zhǎng)江流域水政執(zhí)法衛(wèi)星遙感動(dòng)態(tài)監(jiān)測(cè)系統(tǒng)”中,按照點(diǎn)、線、面各個(gè)類別對(duì)能夠合并的圖層進(jìn)行了合并。如“取水口”和“排污口”2個(gè)圖層合并為一個(gè)圖層“取排水口”,合并前對(duì)“取水口”和“排污口”2個(gè)圖層分別加上一個(gè)“subtype”字段,分別標(biāo)識(shí)“QSK”和“PWK”來(lái)區(qū)分各子類,原有的“NAME”字段仍然保留,這樣,合并后的“取排水口”就有了“NAME”和“subtype”2個(gè)重要字段。這樣在圖層渲染時(shí),就可以按照“subtype”字段來(lái)分別對(duì)取水口和排水口進(jìn)行渲染。
2.1.2 地圖渲染的優(yōu)化
對(duì)于地圖中的點(diǎn)、線、面各要素的表現(xiàn)形式,應(yīng)盡可能少渲染,越簡(jiǎn)單越好。在需要渲染的情況下,主要應(yīng)該注意以下幾個(gè)方面[3]:
(1)點(diǎn)的Symbol盡量選用形狀簡(jiǎn)單的符號(hào),如圓點(diǎn)、方形、三角形,以實(shí)色填充,少用復(fù)雜形狀的符號(hào)和自定義的圖片。我們?cè)谙到y(tǒng)中對(duì)“取排水口”、“涉水建筑物”、“水文站點(diǎn)”等的點(diǎn)狀數(shù)據(jù)均采用圓點(diǎn)符號(hào)進(jìn)行顯示,以不同的顏色進(jìn)行區(qū)分。
(2)線的Symbol盡量使用簡(jiǎn)單的線型,不要使用3D類型的線型,寬度在滿足視覺(jué)要求的情況下越小越好。如我們對(duì)系統(tǒng)中的長(zhǎng)江干流DLG數(shù)據(jù)選用ESRI自帶的river線型,寬度為1.5,非常清晰,能夠滿足系統(tǒng)需求。
(3)面的Symbol最好是選用無(wú)邊框、無(wú)花紋、實(shí)色填充的面狀符號(hào),盡量少用復(fù)雜的填充圖案和3D類的面符號(hào)。
(4)地圖圖層盡量不使用Labels,如需表現(xiàn)La-bels時(shí),在字體symbol的選擇中,盡量不選帶陰影和背景色的字體,減小字體大小,不選加粗和加下畫線等。還可以根據(jù)需要,選擇比較重要的要素顯示Labels,可以通過(guò)Label Expression中的條件表達(dá)式來(lái)減少Labels的數(shù)量。
2.1.3 屬性字段的整理
有些圖層中有一些不必要的字段和記錄,這些字段和記錄可能是在作圖過(guò)程或數(shù)據(jù)轉(zhuǎn)換過(guò)程中產(chǎn)生的,比較多余,將圖層中這些不重要的、多余的字段以及多余的記錄刪掉,可以提高地圖查詢效率。
如“長(zhǎng)江流域水政執(zhí)法衛(wèi)星遙感動(dòng)態(tài)監(jiān)測(cè)系統(tǒng)”中的river圖層,有很多對(duì)于本系統(tǒng)來(lái)說(shuō)是不必要的字段,可能是在數(shù)據(jù)生產(chǎn)和數(shù)據(jù)轉(zhuǎn)化過(guò)程中產(chǎn)生的,我們對(duì)其進(jìn)行了刪除,只留下“FID”、“Shape”、“LENGTH”、“ENNM”幾個(gè)對(duì)本系統(tǒng)有意義的字段,這樣屬性字段的數(shù)目就從15個(gè)減少到了4個(gè),這樣有助于提高地圖查詢效率。
2.2 充分利用地圖緩存機(jī)制
地圖緩存技術(shù)是按照一定的數(shù)學(xué)規(guī)則,將地圖切成一定規(guī)格的圖片保存到計(jì)算機(jī)硬盤里,當(dāng)用戶通過(guò)瀏覽器訪問(wèn)地圖服務(wù)時(shí),服務(wù)器直接返回當(dāng)前地圖坐標(biāo)區(qū)域所對(duì)應(yīng)的“瓦片”,從而達(dá)到降低服務(wù)器負(fù)擔(dān),提升地圖瀏覽速度的效果[4]。
我們利用ArcGIS Server提供的緩存服務(wù),對(duì)“長(zhǎng)江流域水政執(zhí)法衛(wèi)星遙感動(dòng)態(tài)監(jiān)測(cè)系統(tǒng)”中的7個(gè)地圖服務(wù)均制作了緩存,以提高系統(tǒng)性能。
2.2.1 如何制作緩存
在ArcMap中配置好地圖(配置地圖時(shí),遵循“2.1地圖本身的優(yōu)化”),并保存為.mxd文檔,在ArcCatalog中將其發(fā)布成ArcGIS Server的一個(gè)服務(wù),發(fā)布成功后,就可以開(kāi)始創(chuàng)建地圖緩存了。
ArcGIS提供了多種方式來(lái)創(chuàng)建緩存圖片,Arc-Catalog最簡(jiǎn)單且易操作。作者是從ArcCatalog提供的方式來(lái)創(chuàng)建緩存的。啟動(dòng)ArcCatalog,進(jìn)入GIS服務(wù)器管理界面,在需要建立緩存的地圖服務(wù)上右鍵選擇“Service Properties”,在其服務(wù)屬性中選擇“Caching”選項(xiàng)卡并設(shè)置緩存目錄等。
然后點(diǎn)擊“Generate”按鈕在“Generate Map Server Cache”中進(jìn)行一系列參數(shù)設(shè)置,包括主機(jī)名、地圖服務(wù)選擇、分級(jí)級(jí)別(通常級(jí)別越大,速度提高的效果越明顯,但制作緩存的時(shí)間也就越長(zhǎng))等參數(shù)后,點(diǎn)擊確定就開(kāi)始生成地圖緩存。
“長(zhǎng)江流域水政執(zhí)法衛(wèi)星遙感動(dòng)態(tài)監(jiān)測(cè)系統(tǒng)”共有7個(gè)地圖服務(wù),均建立8級(jí)緩存,各個(gè)服務(wù)的緩存創(chuàng)建時(shí)間大約在3~6 h,所有緩存圖片共占磁盤空間21.2 GB。制作地圖緩存后,地圖數(shù)據(jù)的訪問(wèn)速度有明顯的提高。
2.2.2 制作緩存需要注意的問(wèn)題
在創(chuàng)建緩存的過(guò)程中需要注意幾個(gè)問(wèn)題:
(1)如果待發(fā)布的數(shù)據(jù)量較大,在建立緩存之前,可先選擇部分范圍數(shù)據(jù)進(jìn)行試驗(yàn),通過(guò)多次試驗(yàn)得到合適的參數(shù),然后再用這些參數(shù)對(duì)所有范圍數(shù)據(jù)創(chuàng)建緩存,因?yàn)榫彺鎴D片的創(chuàng)建非常耗時(shí),時(shí)間為幾分鐘到幾十個(gè)小時(shí)不等。以筆者實(shí)踐的“長(zhǎng)江流域水政執(zhí)法衛(wèi)星遙感動(dòng)態(tài)監(jiān)測(cè)系統(tǒng)”中的一個(gè)地圖服務(wù)為例,示范區(qū)域(面積約55 km2)內(nèi)的遙感影像數(shù)據(jù),其取排水口、水功能區(qū)劃、涉水建筑物、長(zhǎng)江干流DLG數(shù)據(jù)、水文站點(diǎn)、水文斷面等專題數(shù)據(jù)共約2 GB,創(chuàng)建8級(jí)緩存,由一臺(tái)服務(wù)器創(chuàng)建緩存,需要耗時(shí)3 h完成(耗時(shí)與服務(wù)器性能關(guān)系較大)。因此在創(chuàng)建其他地圖服務(wù)的緩存時(shí),我們先選擇了一個(gè)小范圍的數(shù)據(jù)來(lái)進(jìn)行試驗(yàn),選擇合適的參數(shù),然后再對(duì)全部范圍的數(shù)據(jù)做緩存。
(2)如果需要允許系統(tǒng)的瀏覽器端對(duì)圖層做打開(kāi)、關(guān)閉等操作,在advance選項(xiàng)中應(yīng)選擇multilayer方式,系統(tǒng)默認(rèn)是fused方式。fused方式是所有圖層疊加后建立緩存,緩存的圖片是合并了所有圖層的,建立后各圖層前面的控制復(fù)選框就不可用了,也就不能單獨(dú)控制某一圖層的可見(jiàn)性了;multilayer方式是對(duì)每個(gè)圖層單獨(dú)創(chuàng)建緩存,可以單獨(dú)控制每個(gè)圖層的可見(jiàn)性,但是對(duì)于提高地圖瀏覽速度效果就要差一些。
2.3 系統(tǒng)性能對(duì)比測(cè)試
在采用數(shù)據(jù)優(yōu)化策略之后,系統(tǒng)通常會(huì)有較好的性能體驗(yàn)。表1和表2是在對(duì)“長(zhǎng)江流域水政執(zhí)法衛(wèi)星遙感動(dòng)態(tài)監(jiān)測(cè)系統(tǒng)”的其中一個(gè)地圖服務(wù)的數(shù)據(jù)做了優(yōu)化之后,地圖縮放時(shí)間的一個(gè)對(duì)比(大致的測(cè)試,單位精確到秒)。該地圖服務(wù)共有三峽庫(kù)區(qū)萬(wàn)州段遙感影像數(shù)據(jù)、航片、取排水口、水功能區(qū)劃、涉水建筑物、長(zhǎng)江干流DLG數(shù)據(jù)、水文站點(diǎn)、水文斷面等專題數(shù)據(jù),緩存圖片共約2 GB。
表1 優(yōu)化前的數(shù)據(jù)Table 1 Data before optim ization
表2 優(yōu)化后的數(shù)據(jù)Table 2 Data after optim ization
從表1和表2可以看出,數(shù)據(jù)優(yōu)化后對(duì)系統(tǒng)速度的提升有明顯的幫助,地圖數(shù)據(jù)本身的優(yōu)化是提升系統(tǒng)性能的有效途徑。因此,在實(shí)踐中,應(yīng)盡可能采取一些方法對(duì)數(shù)據(jù)進(jìn)行優(yōu)化,提高系統(tǒng)速度。
目前開(kāi)發(fā)的WebGIS系統(tǒng)很多,但在實(shí)際的海量數(shù)據(jù)的應(yīng)用中往往會(huì)存在地圖數(shù)據(jù)操作的瓶頸。地圖訪問(wèn)速度一直是制約WebGIS發(fā)展的一個(gè)重要方面,本文基于ArcGISServer應(yīng)用平臺(tái),以開(kāi)發(fā)“長(zhǎng)江流域水政執(zhí)法衛(wèi)星遙感動(dòng)態(tài)監(jiān)測(cè)系統(tǒng)”為例,嘗試了以優(yōu)化數(shù)據(jù)性能來(lái)提高地圖訪問(wèn)速度的一些方法,并進(jìn)行了整理歸納,旨在拋磚引玉,供讀者參考和討論。
[1] 吳華意,章漢武.地理信息服務(wù)質(zhì)量(QoGIS):概念和研究框架[J].武漢大學(xué)學(xué)報(bào)(信息科學(xué)版),2007,32(5):385-387.(WU Hua-yi,ZHANG Han-wu.QoGIS:Concept and research framework[J].Geomatics and In-formation Science of Wuhan University,2007,32(5):385-387.(in Chinese))
[2] 曾脈麥,王 乘.基于ArcGIS Server的WebGIS性能分析[J].計(jì)算機(jī)工程,2008,34(17):279-280.
(ZENG Mai-mai,WANG Cheng.Capability analysis of web GISbased on arcServer[J].Computer Engineering,2008,34(17):279-280.(in Chinese))
[3] 張立朝,潘 貞,鄭海雁,等.分布式AGS的性能優(yōu)化研究[J].測(cè)繪科學(xué),2008,33(4):187-189.(ZHANG Li-chao,PAN Zhen,ZHENG Hai-ying,et al.The per-formance optimizing and regulating of AGS[J].Science of Surveying and Mapping,2008,33(4):187-189.(in Chinese))
[4] Alphagis.ArcGIS Server大數(shù)據(jù)量地圖服務(wù)影像緩存建立方法初探[EB/OL].(2009-01-13)[2009-07-15].http://www.3snews.net/bbs/viewthread.php?tid=5863l.(Alphagis,ArcGIS Server map service large amounts of data to establish methods of image cache[EB/OL].(2009-01-13).[2009-07-15].ht-tp://www.3snews.net/bbs/viewthread.php?tid=5863.(in Chinese)
(編輯:劉運(yùn)飛)
Strategy for Data Optim ization in App lication and Development of ArcGIS Server
SONG Li,LIANG Dong-ye,WEIXian-dong
(1.Yangtze River Scientific Research Institute,Wuhan 430010,China;2.Bureau ofWater Administration and Water Resources of Changjiang Water Resource Commission,Wuhan 430010,China)
There aremany factors affecting the ArcGISServer system,therein,themap image itself is one of the
key factors.In the ArcGISServer System——the Satellite Remote Sensing Dynamic Monitoring System for Marine Law Enforcement of Yangtze River Valley,map data are optimized by image layer arrangement,optimization ofmap rendering,field length arrangement,application ofmap cachemechanism and so on.Therefore,the access speed formaps in the system is increased greatly.In this paper,themethods formap data optimization are introduced in detail and then discussed.
ArcGISServer;data optimization;system performance
P228
A
1001-5485(2010)01-0042-03
2009-11-05
宋 麗(1977-),女,湖北公安人,工程師,碩士,主要從事空間信息技術(shù)的研究與應(yīng)用,(電話)027-82926550(電子信箱)xysongli@163.com。
長(zhǎng)江科學(xué)院院報(bào)2010年1期