于麗珠 范文義 金 森 李明澤 毛學(xué)剛
(東北林業(yè)大學(xué),哈爾濱,150040)
基于SuperMap IS.NET的分布式森林資源管理系統(tǒng)的設(shè)計與實現(xiàn)
于麗珠 范文義 金 森 李明澤 毛學(xué)剛
(東北林業(yè)大學(xué),哈爾濱,150040)
分析了當(dāng)前GIS在林業(yè)資源管理上的應(yīng)用,介紹了分布式數(shù)據(jù)庫技術(shù)和Ajax網(wǎng)頁異步交互式技術(shù),并以SuperMap IS.NET為WebGIS的二次開發(fā)平臺,采用SQL Server 2005作為后臺數(shù)據(jù)庫,搭建了一個科學(xué)、高效、合理的網(wǎng)絡(luò)GIS系統(tǒng)框架模型。根據(jù)林業(yè)工作人員在資源管理上的應(yīng)用需求,設(shè)計了整個系統(tǒng)的功能模型。以黑龍江省為例,運用ArcMap、SuperMap DeskPro等GIS專業(yè)軟件和ENVI、ERDAS等遙感影像處理軟件對數(shù)據(jù)進行處理并制作地圖。創(chuàng)建了分布式森林資源管理系統(tǒng),并討論了其在現(xiàn)今林業(yè)管理中的意義。
SuperMap IS.NET;分布式;森林資源數(shù)據(jù)庫
在過去,GIS的應(yīng)用受到了計算機水平和專業(yè)技術(shù)的制約。而近年來,隨著計算機技術(shù)和信息化的飛速發(fā)展,國內(nèi)GIS技術(shù)在各個行業(yè)的應(yīng)用發(fā)展十分迅猛[1],GIS專業(yè)軟件在林業(yè)資源管理、林業(yè)資源分析、林火預(yù)測等多個方面發(fā)揮著不可估量的作用。而隨著GIS技術(shù)的進一步發(fā)展和對林業(yè)需求的進一步提升,WebGIS在林業(yè)上的應(yīng)用也隨之誕生。對于黑龍江這樣的森林資源大省,全省境內(nèi)的林業(yè)局、林場、生態(tài)站不計其數(shù),每個單位往往僅僅掌握本地范圍內(nèi)的森林資源狀況,對于其他縣區(qū)卻不甚了解,這不利于兩地資源共享,更不利于宏觀資源的統(tǒng)計、分析和預(yù)測;且森林資源數(shù)據(jù)在實際應(yīng)用中存在著動態(tài)性,包括立地條件、林分類型、植物生長狀況、植被的分布特征、單位蓄積量及年生長量等等,面對這些不斷變化的數(shù)據(jù),應(yīng)當(dāng)及時更新和獲取,并找出解決所存在問題的方法,而運用傳統(tǒng)的森林資源管理方案顯然無法做到這一點[2-3]。建立分布式WebGIS管理系統(tǒng),各個區(qū)域各個單位可以對本地的空間和屬性數(shù)據(jù)庫進行及時的添加和更新,同時也可隨時查詢和下載系統(tǒng)覆蓋范圍內(nèi)其他區(qū)域的數(shù)據(jù),實現(xiàn)對異地森林資源的高效動態(tài)查詢,實現(xiàn)資源交流,統(tǒng)計森林生物量,分析森林空間域及時間域的變化情況,高效地執(zhí)行林業(yè)工作,并對可能出現(xiàn)的種種狀況進行準(zhǔn)確預(yù)測,這對研究該地區(qū)森林資源狀況及變化有著重大意義。
本文以SuperMap IS.NET為二次開發(fā)平臺,運用分布式數(shù)據(jù)庫技術(shù)建立分布式森林資源管理系統(tǒng),用以解決多源異構(gòu)數(shù)據(jù)庫的調(diào)用管理功能。
SuperMap IS.NET開發(fā)平臺:SuperMap是中國科學(xué)院旗下的國內(nèi)最大的地理信息系統(tǒng)公司,其下的GIS軟件已較為成熟完善。而SuperMap IS.NET是2004年起北京超圖軟件股份有限公司推出的WebGIS二次開發(fā)的平臺軟件。該平臺軟件基于.NET和Web Service技術(shù),更好地支持了海量數(shù)據(jù)的高速訪問,并實現(xiàn)了跨網(wǎng)絡(luò)、跨區(qū)域的分布式GIS功能,是本系統(tǒng)較為理想的WebGIS二次開發(fā)平臺。
Ajax技術(shù):Ajax是一種新興的Web技術(shù),利用它可以構(gòu)建動態(tài)、快速和靈活的Web應(yīng)用程序。它在服務(wù)器端和客戶端之間加入了用JavaScripts編寫的Ajax引擎,客戶端將消息傳遞給Ajax引擎,最大程度地減少冗余請求,再由Ajax引擎與服務(wù)器端的Web服務(wù)進行交互,最后由其返回給用戶客戶端進行異步傳輸,以達到頁面的局部更新[4]。這一技術(shù)大大提高了網(wǎng)頁的刷新速率,也提高了服務(wù)器工作效率。而SuperMap IS.NET 6更是將所有控件Ajax化,將Ajax技術(shù)封裝成一個完整的控件AjaxControl,以MapHandler作為服務(wù)器端的AjaxControl引擎,提高了網(wǎng)絡(luò)應(yīng)用的可用性和響應(yīng)速度,達到地理信息最大限度的共享,為傳統(tǒng)的WebGIS開發(fā)帶來了新的生命力。
EXT框架:在用戶追求網(wǎng)絡(luò)功能和速度的同時,對界面的呈現(xiàn)也有了更高的要求,EXT是一個與后臺技術(shù)無關(guān)的非常優(yōu)秀的Ajax框架,全部由前臺JavaScripts編寫,不會給服務(wù)器增加負擔(dān),是一種具備華麗外觀的富客戶端技術(shù)[5]。
本系統(tǒng)的數(shù)據(jù)來源于黑龍江省各個縣區(qū)林業(yè)局、林場及生態(tài)站等。以縣區(qū)為基本單位組成一個分布式管理系統(tǒng),包含了整個黑龍江省的基礎(chǔ)矢量數(shù)據(jù)、影像數(shù)據(jù)(包括風(fēng)云系列數(shù)據(jù)、NOAA數(shù)據(jù)、Modis數(shù)據(jù)等)以及林業(yè)資源專題數(shù)據(jù)。
根據(jù)分布式森林資源管理系統(tǒng)的功能需求采集多種數(shù)據(jù),并對其進行后期處理。以塔河縣為例,其數(shù)據(jù)主要來源于塔河一類和二類調(diào)查,類型包括基礎(chǔ)的地理數(shù)據(jù)(行政區(qū)劃圖、植被類型、小班分布圖、TM影像等)。建立屬性數(shù)據(jù)庫,將林業(yè)局、林場、林班、小班、面積、坡度、優(yōu)勢樹種等數(shù)據(jù)存儲為.xls或者.dbf格式[6],按照統(tǒng)一的字段與空間屬性進行關(guān)聯(lián)。
通常在GIS中坐標(biāo)系是由基準(zhǔn)面和地圖投影參數(shù)來確定的。而本研究中的黑龍江省行政區(qū)域數(shù)據(jù)的橢球體是WGS84橢球,它是一種地心坐標(biāo)系,而日常生活中使用的是平面坐標(biāo)系,以m為單位,更方便測量和統(tǒng)計,這就需要對其進行投影轉(zhuǎn)換,圖1顯示了投影前后的對比情況。
圖1 投影轉(zhuǎn)換前后對比
對于遙感數(shù)據(jù),需要根據(jù)不同的影像類型采用不同的處理軟件,EOS、NOAA數(shù)據(jù)需要先用ENVI將其轉(zhuǎn)換成Super-Map識別的Tiff通用格式,而對于常用的TM等影像可以直接導(dǎo)入SuperMap DeskPro數(shù)據(jù)集。由于圖像的來源、拍攝條件、成像效果及角度的不同,還需要進行校正與修復(fù),包括對其進行輻射定標(biāo)、大氣校正、太陽高度角校正及幾何校正,同時進行裁切,使其展現(xiàn)出最好的視覺效果進而更有利于目視解譯。
根據(jù)本系統(tǒng)要求建立分布式數(shù)據(jù)庫管理系統(tǒng),建立中心服務(wù)器和數(shù)據(jù)服務(wù)器。中心服務(wù)器存儲與其他服務(wù)器的邏輯聯(lián)系,獲取數(shù)據(jù)源,并最終發(fā)布地圖服務(wù)。這種層次結(jié)構(gòu)能夠方便統(tǒng)一管理及調(diào)度,但是中心服務(wù)器如果發(fā)生故障整個系統(tǒng)將會癱瘓。
在設(shè)計數(shù)據(jù)庫結(jié)構(gòu)時要充分考慮到SuperMap IS.NET平臺的特點、SQL Server 2005的數(shù)據(jù)庫層次、整個系統(tǒng)的功能需求、林業(yè)工作人員的操作習(xí)慣以及網(wǎng)絡(luò)環(huán)境[7]。建立中心數(shù)據(jù)庫,存儲用戶權(quán)限信息及整個系統(tǒng)的工作空間,其中又包含了與其他跨區(qū)域數(shù)據(jù)庫的鏈接信息,然后由SuperMap IS.NET進行GIS處理分析,最終由Web服務(wù)器發(fā)布,用戶客戶端通過桌面瀏覽器接收。其層次結(jié)構(gòu)見圖2。
建立工作空間并打開數(shù)據(jù)源,添加SQL+數(shù)據(jù)源。對于數(shù)據(jù)庫一端要做某些權(quán)限的調(diào)整,使之實現(xiàn)網(wǎng)絡(luò)上的相互訪問。更改SQL Server 2005的服務(wù)配置,使其支持遠程數(shù)據(jù)調(diào)用和服務(wù)。對于本地數(shù)據(jù)庫和局域網(wǎng)內(nèi)數(shù)據(jù)庫可以通過SuperMap DeskPro獲取服務(wù)器名稱和數(shù)據(jù)庫名稱從而直接關(guān)聯(lián)數(shù)據(jù)庫,對于遠程互聯(lián)網(wǎng)上的數(shù)據(jù)庫,輸入IP地址為服務(wù)器名即可。
圖2 系統(tǒng)結(jié)構(gòu)模型
運用 SuperMap IS.NET發(fā)布地圖必須使用 SuperMap Deskpro生成統(tǒng)一的.sxw或者.smw。具體過程成如下:
1)首先建立工作空間并創(chuàng)建數(shù)據(jù)源,存入本地SQL Server 2005數(shù)據(jù)庫中;
2)導(dǎo)入數(shù)據(jù)集。將處理好的各個類型數(shù)據(jù)全部導(dǎo)入數(shù)據(jù)集中,用以解決不同地域不同格式數(shù)據(jù)的多源異構(gòu)問題;
3)制作地圖。根據(jù)屬性表中的各個字段值制作各種林業(yè)資源專題圖,包括林相圖、植被類型分布圖、土地利用類型分布圖、郁閉度分布圖、林種分布圖、火險等級分布圖、齡級分布圖以及優(yōu)勢樹種分布圖等等;
4)地圖緩存。為了提高地圖的顯示速度,需要對當(dāng)前地圖按照設(shè)置的比例尺和緩存范圍生成一系列的緩存圖片,將輸出路徑設(shè)置為.NET快速緩存路徑。緩存機制就會將GIS功能處理后的圖片儲存在服務(wù)器端,當(dāng)用戶再次請求時可以判斷其請求的參數(shù),是否可以直接讀取緩存數(shù)據(jù),這樣在瀏覽此地圖時可以顯著提高運行效率;
5)地圖配置。在SuperMap IS.NET Manager中對地圖路徑進行設(shè)置,由于運用數(shù)據(jù)庫進行存儲,需添加如下語句:
Provider=SQLOLEDB;Driver=SQL Server;SERVER=localhost;Database=mytest1;Caption=mytest1;UID=sa;PWD=sa。
結(jié)合分布式數(shù)據(jù)庫技術(shù)和Ajax網(wǎng)頁異步交互式技術(shù),以SuperMap IS.NET為軟件平臺構(gòu)建高效、合理的系統(tǒng)結(jié)構(gòu)模型(圖2)。
客戶端:包括IE、火狐等常用瀏覽器以及一些桌面應(yīng)用程序。用以提供用戶與服務(wù)端的交互,由用戶自客戶端通過HTTP向Web服務(wù)器發(fā)出請求,經(jīng)過服務(wù)器端的處理響應(yīng)再將結(jié)果返回給客戶端,最終呈現(xiàn)給用戶。該客戶端使用了標(biāo)準(zhǔn)的HTML/JavaScripts語言,無需下載特殊的瀏覽器插件,兼容性良好。
Web服務(wù)器:采用微軟的IIS作為Web服務(wù)器,接受客戶端發(fā)送的用戶請求,如果涉及GIS功能則提交至GIS應(yīng)用服務(wù)器進行處理,并將結(jié)果返回,發(fā)布地圖。
應(yīng)用服務(wù)器:SuperMap IS.NET基于微軟.NET技術(shù),在這一層將GIS服務(wù)器的全部專業(yè)功能與.NET技術(shù)緊密結(jié)合,獨立處理了所有GIS功能需求并返回至Web服務(wù)層。
數(shù)據(jù)服務(wù)器:SuperMap IS.NET支持多種數(shù)據(jù)源形式,為避免文件型數(shù)據(jù)源對數(shù)據(jù)容量大小的限制,本系統(tǒng)使用SQL Server 2005大型關(guān)系數(shù)據(jù)庫來存儲各個地區(qū)海量的GIS空間數(shù)據(jù)和屬性數(shù)據(jù)。
作為網(wǎng)絡(luò)開發(fā),在設(shè)計原則上要注意系統(tǒng)的科學(xué)性、完整性、互操作性、高效性與安全性。而對于分布式系統(tǒng)而言,處理好各類使用者的系統(tǒng)使用權(quán)限,能夠加強整個系統(tǒng)的靈活性與安全性。本系統(tǒng)主要設(shè)置為兩種角色,一種是管理員,另一種是普通林業(yè)工作人員。對于管理員,可以對系統(tǒng)數(shù)據(jù)進行全方位維護,包括數(shù)據(jù)的增加與更新、地圖的制作與發(fā)布,以及權(quán)限的管理。其用戶登錄和管理界面見圖3。
圖3 用戶管理界面
在功能的設(shè)計安排上(圖4),要完全服務(wù)于林業(yè)工作人員,充分發(fā)揮各類數(shù)據(jù)的效用,為森林資源管理提供切實有效的服務(wù)。整個系統(tǒng)在功能上主要分為基本地圖功能和業(yè)務(wù)功能兩大模塊?;镜貓D功能包括地圖的顯示、放大或縮小、漫游、圖層控制、鷹眼等。業(yè)務(wù)功能則是針對林業(yè)資源管理所研發(fā)的功能,對各個縣區(qū)林場的林業(yè)資源進行查詢、疊加分析、緩沖區(qū)分析、量算長度及面積等,并根據(jù)使用者的功能要求,在線制作林業(yè)專題圖、統(tǒng)計分析圖表和專業(yè)報表等,為林業(yè)工作者管理森林資源,進行森林經(jīng)營決策提供及時、準(zhǔn)確、詳盡的科學(xué)依據(jù)。
在此基礎(chǔ)上,根據(jù)系統(tǒng)的結(jié)構(gòu)模型、數(shù)據(jù)類型及功能模型,結(jié)合網(wǎng)絡(luò)開發(fā)的最新技術(shù),運用SuperMap IS.NET為開發(fā)平臺,以Visual Studio 2008為開發(fā)工具,利用其大量的服務(wù)器控件創(chuàng)建分布式森林資源管理系統(tǒng)。
圖4 系統(tǒng)功能模型
本系統(tǒng)可以按區(qū)域進行選擇查詢,以每一個縣區(qū)為基本單位,每個行政區(qū)域內(nèi)還制作了不同的專題圖供查詢。具體的查詢功能包括屬性查詢和地圖查詢??梢园凑諗?shù)據(jù)類型、專題圖類型、位置等字段值和SQL語句查詢符合條件的地圖要素(圖5);同時也可在地圖上進行點選、圓選、框選等查詢,使林業(yè)工作人員獲得有用的屬性信息。SQL查詢的具體步驟:
1)ASPX設(shè)計。在頁面上添加輸入查詢條件的DIV和顯示屬性結(jié)果的DIV,添加相應(yīng)的選擇框和文本框,包括查詢圖層、查詢字段、運算符號、查詢數(shù)值等。
2)C#調(diào)用方法。由于圖層信息需自動載入,需要對MapControl載入的同時加入初始化事件,使得圖層等必要查詢條件得以提取。代碼如下:
MapControl1.AttachClientEvent("oninit","RenderMap-Names");
3)JavaScripts編寫。通過頁面獲得的查詢條件生成完整查詢語句,部分代碼如下:
然后調(diào)用SuperMapIS.NET的getQueryManager()來實現(xiàn)查詢功能,對結(jié)果進行高亮顯示,并在OnQueryComplete()中將查詢結(jié)果屬性信息寫入Aspx頁面定義好的DIV中。
圖5 Sql查詢功能界面
系統(tǒng)的空間分析功能包括緩沖區(qū)分析、疊加分析等。緩沖區(qū)分析主要包括對圖層中的幾何對象和對自定義幾何對象做緩沖區(qū)并查詢。通過調(diào)用SuperMap中的SpatialAnalyst-Manager.BufferQuery()方法實現(xiàn)。在林火發(fā)生時,可通過此項功能查詢較近的道路和河流等,為撲火工作的順利展開提供一定的決策依據(jù)。疊加分析功能可以實現(xiàn)對幾何對象的裁剪、擦除、交集、并集等空間拓撲操作,運用已有圖層對象生成新的幾何對象。比如可將小班作為裁切面對各類要素進行操作,可以獲得每個小班的該專題圖層,這樣所得的地圖更利于使用者建立空間概念,更具直觀性。此功能主要通過SpatialAnalystManager.OverlayAnalyst()方法來實現(xiàn)。
系統(tǒng)的統(tǒng)計分析功能主要分為兩大模塊,一是在地圖上以區(qū)域為單位直接顯示統(tǒng)計圖,另一種是根據(jù)字段值以橫縱坐標(biāo)平面圖的形式反映統(tǒng)計結(jié)果(圖6)。這兩種形式都可以按照要求對各個字段的數(shù)據(jù)進行簡單的統(tǒng)計與分析,對相關(guān)屬性字段值進行對比,描繪出不同形式的統(tǒng)計圖表,以表示并比較各個單位內(nèi)某字段屬性值的總和及其動態(tài),從而使得林業(yè)工作人員獲得最為直觀的圖像信息,尤其是由橫縱坐標(biāo)平面圖的統(tǒng)計信息可以很好地觀察出數(shù)據(jù)變化的趨勢與走向,對今后的工作方向有著更深刻的指導(dǎo)意義。
專題圖功能包含兩個模塊,首先是由管理員利用Super-Map DeskPro按照每個專題的具體要求制作專題地圖并發(fā)布;其次是用戶自己在線生成專題地圖,雖然可以由管理員將所有類型專題圖制作出,但是這樣工作量將會很大,隨之的發(fā)布量也會劇增,不僅浪費了資源,更降低了效率,因此本系統(tǒng)為用戶提供了多種專題圖的在線制作方法,包括單值專題圖、范圍分段專題圖、標(biāo)簽專題圖、點密度專題圖等,其效果圖見圖7。
圖6 統(tǒng)計圖表功能界面
圖7 專題圖功能界面
在制作專題圖時需要獲取記錄集中一些基準(zhǔn)值,這些基準(zhǔn)值多數(shù)是建立在所選字段最大值的基礎(chǔ)上,所以需在選擇字段的同時自動生成這些值??梢栽赟ql Query的OnQuery-Complete(resultSet)添加如下JS代碼:
根據(jù)所顯示的地圖和查詢條件,按照用戶要求,生成各種專題的報表,包括優(yōu)勢樹種、蓄積量報表等,并提供基本的按字段排序功能。為方便用戶下載數(shù)據(jù),可將制作的報表以EXCEL形式打開并保存(圖8)。系統(tǒng)的報表功能同樣是建立在SQL查詢的基礎(chǔ)上,對所需圖層的字段值逐個增加,將每個字段值和所對應(yīng)的所有記錄分別存入新的數(shù)組中。最后再運用EXT框架的GridPanel來生成專題報表,由于GridPanel所需的數(shù)據(jù)格式為Json對象,所以要先將獲得的數(shù)組元素轉(zhuǎn)換為Json。
圖8 系統(tǒng)報表界面
隨著計算機技術(shù)的高速發(fā)展,GIS的應(yīng)用也日趨廣泛,現(xiàn)今在林業(yè)中GIS通常被應(yīng)用于森林資源清查、造林、林火預(yù)測、森林經(jīng)營等多個方面,本研究根據(jù)現(xiàn)今林業(yè)資源管理在Web上應(yīng)用的不足,建立分布式森林資源管理系統(tǒng),對森林資源信息進行信息化、科學(xué)化、規(guī)范化的管理,為決策提供了依據(jù)。本研究以SuperMap IS.NET作為開發(fā)平臺,設(shè)計了分布式系統(tǒng)的總體結(jié)構(gòu),結(jié)合最新的網(wǎng)絡(luò)開發(fā)技術(shù)建立分布式森林資源管理系統(tǒng),對分布式GIS、分布式森林資源數(shù)據(jù)庫的應(yīng)用進行了研究與開發(fā),為今后數(shù)字化林業(yè)管理提供了參考。但由于個人經(jīng)驗的不足及人力和物力的匱乏,本研究沒有對GIS的高級空間分析功能和對遙感影像的解譯進行更深層次的分析與討論,也沒有充分利用SuperMap IS.NET所提供的服務(wù)器集群功能的效用,在運行效率的設(shè)計與研究中也有待于進一步的提高。
[1] 王飛劍,羅義兵,郝香山,等.基于B/S結(jié)構(gòu)的農(nóng)業(yè)空間信息管理系統(tǒng)設(shè)計與實現(xiàn)[J].計算機工程與設(shè)計,2009,30(8):2034-2039.
[2] 蘭樟仁,張東水,戴永聰,等.基于SuperMap的縣級林業(yè)資源管理信息系統(tǒng):以漳浦縣為例[J].福建農(nóng)林大學(xué)學(xué)報:自然科學(xué)版,2006,35(5):504-508.
[3] 張恒,劉群,于洋.基于 GIS和RS的林業(yè)資源管理系統(tǒng)設(shè)計[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2009(10):30-33.
[4] 榮泉.Ajax發(fā)展之我見[J].電腦知識與技術(shù),2010,6(27):7518-7519.
[5] 史學(xué)梅.Ajax技術(shù)在EXT框架與MVC模式整合中的應(yīng)用[J].電腦知識與技術(shù),2010,6(24):6779-6780.
[6] 李堂周.基于GIS寶天曼自然保護區(qū)森林資源管理信息系統(tǒng)FRMIS研建及應(yīng)用[D].鄭州:河南農(nóng)業(yè)大學(xué),2009.
[7] 徐振宇,婁徑,馬眾模,等.基于WebGIS的空間數(shù)據(jù)庫的建立[J].安徽地質(zhì),2003,12(1):62-67.
Design and Implement of Distributed System for Managing Forest Resources Based on SuperMap IS.NET .
/Yu Lizhu,F(xiàn)an Wenyi,Jin Sen,Li Mingze,Mao Xuegang(School of Forestry,Northeast Forestry University,Harbin 150040,P.R.China)//Journal of Northeast Forestry University.-2011,39(6).-119~124
SuperMap IS.NET;Distributed;Forest resource database
S757.3
于麗珠,女,1986年10月生,東北林業(yè)大學(xué)林學(xué)院,碩士研究生。
范文義,東北林業(yè)大學(xué)林學(xué)院,教授。E-mail:fanwy@163.com。
2010年12月24日。
責(zé)任編輯:李金榮。
The current application of GIS to forest resource management was analyzed.The distributed database technology and the asynchronous interactive web technology(Ajax)were also introduced.A scientific,effective and reasonable framework model for web GIS system was set up using the SQL Server 2005 as a database and the SuperMap IS.NET as a secondary development platform.A functional model for the whole system was designed according to the requirements of the application of managing resources for the forestry workers.Taking Heilongjiang Province as an example,some GIS professional software,including ArcMap,SuperMapDeskPro and remote sensing software(ENVI,ERDAS),were used to process data and maps.Moreover,a distributed forest resource management system was established,and its significance in current forest management was discussed.