鄭逢令 ,阿依夏木 ,任玉平 ,易 華 ,贠 靜
(1.新疆畜牧科學院草業(yè)研究所,新疆 烏魯木齊 830000;2.新疆畜牧科學院科技信息研究所,新疆 烏魯木齊 830000)
草地資源調(diào)查工作對空間信息技術(shù)有著很迫切的需求,在已經(jīng)做的關(guān)于家庭牧場草畜平衡工作中,我們利用地理信息技術(shù)和遙感技術(shù)繪制出所調(diào)查家庭牧場的草場界限、季節(jié)利用草場分布圖和資源配置圖,在此基礎上結(jié)合開源空間信息技術(shù),基于MAPSERVER和MS4W,建立了和靜家庭牧場網(wǎng)絡地理信息系統(tǒng),實現(xiàn)了對草地信息查詢的基本功能。而草地信息系統(tǒng)僅僅提供基本功能是不能滿足基層和決策層的需要的。舉例來說,我們基層的草原工作者常把家庭牧場的界限轉(zhuǎn)繪到專題圖或地形圖上,在具體工作中要獲得面積屬性時,要通過經(jīng)驗估計或數(shù)公里網(wǎng)格的方式得到。既不方便也不準確,很難達到分析草畜平衡等方面的工作要求,因此我們急需一個服務器端功能強大的空間信息系統(tǒng)來輔助管理家庭牧場。
GRASS GIS作為開源空間信息系統(tǒng)中桌面應用軟件已經(jīng)廣泛應用于各個領(lǐng)域[1],而其作為提供WEBSERVICE服務功能潛力還遠遠未開發(fā)出來。開發(fā)基于GRASS GIS的WEBSERVICE信息系統(tǒng)有很大的現(xiàn)實意義和開發(fā)前景。其一:可以顯著降低成本,假設使用最為流行的ArcGIS Server作為開發(fā)平臺(ArcGIS Server是ESRI公司推出的服務器端產(chǎn)品,主要可以實現(xiàn)兩大功能:1、強大的Web GIS系統(tǒng)的開發(fā);2、分布式GIS系統(tǒng)的開發(fā))ARCSDE+ARCGIS Server的報價是74萬元人民幣,這還不包括開發(fā)的費用。使用GRASS GIS則只需開發(fā)的成本就可以,而且開發(fā)出的系統(tǒng)可輕易轉(zhuǎn)移到其他應用方向。其二:GRASS GIS符合OGC標準,技術(shù)的發(fā)展很快很新,開發(fā)者眾多。其三:只要在遵守相關(guān)協(xié)議的基礎上可以反復使用,沒有商業(yè)軟件許可證的限制。其四:由于其開源的特性,可針對草業(yè)行業(yè)需求進行深度定制,整合并模塊化一些針對草業(yè)的空間信息算法和應用。
新疆是全國重要牧區(qū),草原面積5.73×107ha,占全疆土地面積的34.4%。由于濫墾亂挖和牲畜數(shù)量迅速增加,導致草地退化等嚴重生態(tài)問題。亟需借助先進科學技術(shù)監(jiān)測草原動態(tài)變化,提供草畜平衡的實時資料,統(tǒng)籌草原生態(tài)治理規(guī)劃,有效開展草原生態(tài)建設。隨著航空、航天對地觀測科學技術(shù)進步,計算機和網(wǎng)絡技術(shù)發(fā)展,新興的地球信息科學對合理開發(fā)利用資源、提高資源利用效率、保護和改善生態(tài)環(huán)境起著重要作用。
應用開源空間信息技術(shù)處理、儲存、管理、分析草業(yè)基礎空間數(shù)據(jù),建立家庭牧場草地資源監(jiān)測技術(shù)平臺。對掌控草原資源空間分布、動態(tài)變化、災害預測預報和生態(tài)建設跟蹤管理構(gòu)建新疆生態(tài)安全屏障,建立和諧社會具有重要戰(zhàn)略意義。
對家庭牧場的擁有者和基層的如草原站和草地監(jiān)理,對使用桌面地理信息軟件處理基本的柵格和矢量空間數(shù)據(jù),都有一定的難度,更別談利用空間技術(shù)管理家庭牧場。WEBSERVICE的家庭牧場草地信息系統(tǒng),將主要計算集中于服務器端,由于服務器端承擔了幾乎所有的功能,對客戶端的要求不高,家庭牧場草地監(jiān)測管理等工作可通過手機、筆記本等終端設備完成,提高了系統(tǒng)的實用性和實時性,非專業(yè)人士也可以輕松的使用。
GRASSLinks開發(fā)于1995年,由美國加州大學伯克利分校Huse博士在其學位論文的基礎上開發(fā)出來的。GRASSLinks是第一個全功能的在線地理信息系統(tǒng),實現(xiàn)了通過瀏覽器訪問并使用GRASS的部分功能。GRASSLinks可實現(xiàn)許多地理信息的操作,包括地圖顯示、空間查詢、圖層疊加、分類、緩沖分析和面積計算。但此系統(tǒng)建立使用的技術(shù)組成為CGI+JavaScript+GRASS(后端),使用柵格格式,而柵格格式的計算量是非常大的,有傳輸和運算的短板。而且構(gòu)建GRASSLinks系統(tǒng)的難度偏大,使用的范圍相對較窄[2]。
2006年,PyWPS項目由Dbu(德國聯(lián)邦環(huán)境基金會)支持下開始啟動,到2010年由私人企業(yè)HS-RS作為贊助商。PyWPS由python語言編寫,提供了一個可以執(zhí)行地理模型或空間操作的環(huán)境,用戶可以方便的使用和訪問。PyWPS項目已經(jīng)開發(fā)了可為GRASS GIS提供OGC service WPS (Web Processing Service)應用支持的平臺,在這個平臺下可以很方便的使用GRASS GIS自有的模塊[3]。PyWPS可通過INTERNET提供地理信息系統(tǒng)和其他空間信息軟件的功能。另外,PyWPS還可以和一些成熟的開源軟件聯(lián)合使用,如GDAL、PROJ.4、UMN Mapserver,而wps客戶端軟件可選擇QGIS或者OpenLayers等。
GeOnAS美國喬治梅森大學(GMU)空間信息科學和系統(tǒng)研究中心,在NASA資助的GeoBrain項目研究中,建立的基于SOA框架下的,空間數(shù)據(jù)處理、分析的功能主要以GRASS GIS模塊完成,其目的是通過應用GeoBrain先進的空間信息服務技術(shù),建立適應數(shù)據(jù)密集型的學習和研究環(huán)境,服務于跨學科領(lǐng)域的地球信息科學的教育和研究[4]。GeOnAS可以說是目前最為完整的基于GRASS GIS Web service系統(tǒng)。功能強大,并且還在不斷發(fā)展和完善當中。其特點是具有跨平臺性和互操作性,符合OGC的標準。該平臺允許不同平臺、不同操作系統(tǒng)的用戶共享、交換和重用他們的數(shù)據(jù)和服務。支持OGC網(wǎng)絡柵格服務(WCS)、OGC網(wǎng)絡特征服務(WFS)、OGC網(wǎng)絡地圖服務(WMS)、網(wǎng)絡處理服務 (WPS)、OGC GML。
在2008年的開源地理信息大會FOSS4G (Free and Open Source Software for Geospatial)上,Gerald FENOY,Nicolas BOZON and Venkatesh RAGAHAVAN提出了ZOO Project這一項目。ZOO Project是一個基于WPS(網(wǎng)絡處理服務)的開源項目,執(zhí)行MIT/X-11許可證發(fā)布。它提供了一個標準的OGC WPS的開發(fā)人員友好的框架來創(chuàng)建和開發(fā)WPS的web服務。其主要目標是收集現(xiàn)有的開源庫并使他們以一個標準化的方式溝通,同時提供開發(fā)人員一種簡單的方法創(chuàng)建WebServices應用[5]。ZOO Project致力應用OGC WPS標準建立網(wǎng)絡空間平臺,其開發(fā)語言主要為C和Python,其中Python解譯器已經(jīng)編譯進ZOO的內(nèi)核,這樣可以在ZOO服務應用時可以利用現(xiàn)成的Python庫。由C語言為編程語言的zoo kernel處理ZOO服務鏈,一個ZOO服務包括metadata file(以 .zcfg為后綴)和服務的提供方(可能是動態(tài)庫、Python模塊,JAVA類,PHP腳本)。目前使用ZOO Project架構(gòu)的GRASS GIS網(wǎng)絡服務的應用主要組成包括GRASS GIS 7、ZOO 1.0等,在后面的章節(jié)還會詳細闡釋。
52°North成立于德國Muenster大學地理信息大學及附屬公司GmbH,作為免費和開源地理空間軟件,其基本思路是加強現(xiàn)有軟件的合作關(guān)系,并通過制定適當?shù)臉I(yè)務模式和組織模式,聯(lián)合相關(guān)研究和行業(yè)進行開發(fā)。成立之后陸續(xù)有許多公司和組織加入,其中2006年,著名環(huán)境系統(tǒng)研究所公司(ESRI公司)成為其第四個合作伙伴。 隨著時間的推移貢獻者和聯(lián)合項目數(shù)量不斷擴大,52°North已成為地理信息學領(lǐng)域創(chuàng)新實體,軟件廣泛用于信息技術(shù)環(huán)境中運作、研究實驗室和教育領(lǐng)域[6]。52°North架構(gòu)比較復雜,地理信息處理部分是完全以Java為基礎的開放源碼框架,其網(wǎng)絡應用運行在Tomcat server上,地理空間分析功能主要由GRASS GIS完成(當然還可以使用GeoStar或ARCGIS server等平臺),目前支持所有的功能和操作規(guī)范WPS的版本1.0.0。
由此可知,網(wǎng)絡地理信息系統(tǒng)應該符合OGC的有關(guān)標準和協(xié)議,而OGC WPS協(xié)議的出現(xiàn),使的GIS功能的網(wǎng)路化應用更加強大,其最大的創(chuàng)新之處在于可以通過網(wǎng)絡為客戶端提供一系列GIS操作的服務調(diào)用接口,可以實現(xiàn)從簡單的空間分析操作到復雜的全球氣候變化模型計算的幾乎所有功能[7]。
從上節(jié)可知,現(xiàn)在發(fā)展最為成熟的基于GRASS GIS的應用框架是52n WPS架構(gòu)和GeOnAS架構(gòu),但其開發(fā)的方式相對封閉,結(jié)構(gòu)復雜,而且局限于JAVA等少數(shù)編程語言進行開發(fā),不易擴展和應用。ZOO project框架發(fā)展非常迅速,可用開發(fā)語言眾多,擴展性良好,符合OGC的WPS標準,基于以上考慮我們選擇zoo project框架的作為家庭牧場草地信息系統(tǒng)的開發(fā)平臺。
基于ZOO PROJECT框架和GRASS GIS的家庭牧場草地信息系統(tǒng)系統(tǒng)架構(gòu)如圖1所示。從圖一可知,GRASS GIS Module首先要轉(zhuǎn)化為XML 處理類型(XML process descriptions),然后通過pyxb(或直接由wps-grass-bridge)將其轉(zhuǎn)化為一個 zcfg文件和一個python服務文件,ZOO Kernel處理和整合這些WPS服務應用,終端用戶使用瀏覽器、Qgis、openlayers等WPS客服端完成屬性查詢、空間分析、遙感影像處理、矢量處理等傳統(tǒng)空間信息系統(tǒng)所具有的功能。這樣GRASS GIS的功能模塊通過ZOO PROJECT框架,可建立功能完善的家庭牧場草地信息系統(tǒng),具有編輯、查詢家庭牧場專題圖、通過挖掘?qū)崟r遙感數(shù)據(jù)得到的植被指數(shù)的變化,實時監(jiān)測草地生物量的變化,獲得草地退化與恢復的現(xiàn)狀,進而評價禁牧、休牧效果。
通過對基層草業(yè)工作者的實際需求分析,我們在總結(jié)了幾種常用的GRASS網(wǎng)絡框架的基礎上,選擇了ZOO-project作為家庭牧場網(wǎng)絡地理信息系統(tǒng)的平臺。在這個平臺下GRASS的所有成熟功能模塊可以直接在網(wǎng)絡上使用,符合OGC最新的WPS標準。使用的軟件是開源的,可以免費、重復使用而不用過多考慮許可的問題。這樣建立的家庭牧場網(wǎng)絡地理信息系統(tǒng)成本極低、符合國際通用的標準,必將為草業(yè)領(lǐng)域的數(shù)字化、信息化作出應有的貢獻。
[1]M.Neteler,H.Mitasova.Open Source GIS:A GRASS GIS approach[M].Springer,New York,2007.
[2] Li,X.,L.Di,W.Han,P.Zhao,U.Dadi,2010.Sharing geoscience algorithms in a Web service-oriented environment(GRASS GIS example).Computers and Geosciences.Volume 36,Issue 8,Pages 1060-1068.
[3] pywps homepage.[EB/OL].http://pywps.wald.intevation.org/documentation/pywps-3.2/special/grass.html.2011.2.25.
[4] Han W.,Di L.,Zhao P.,Wei Y.,Li X.,2008.Design and Implementation of GeoBrain Online Analysis System(GeOnAS)in:M.Bertolotto,C.Ray,and X.Li(Eds.):W2GIS 2008,LNCS 5373,pp.27-36,December 11-12,2008,Shanghai,China.
[5]G.Fenoy,N.Bozon,V.Raghavan[EB/OL].ZOO PROJECT:THE OPEN WPS PLATFORM,www.isprs.org/proceedings/XXXVIII/4-W13/ID_32.pdf,2010.9.15.
[6] 52north homepage.[EB/OL]..http://52north.org/communities/geoprocessing/index.html.2011.2.21.
[7]高昂.誕生中的WPS規(guī)范.[EB/OL].http://blog.gisforum.net/u/92397/archives/2007/1362.html#,2007.7.12.