許水燕,沈明霞,何瑞銀,張 瑜,劉龍申,叢靜華
(1.南京農(nóng)業(yè)大學(xué) 工學(xué)院,江蘇 南京 210031;2.南京森林公安高等??茖W(xué)校,江蘇南京 210046)
森林資源是我國自然資源的重要組成部分,是林業(yè)生產(chǎn)、經(jīng)濟建設(shè)的物質(zhì)基礎(chǔ),是人民生活的物資財富,也是良好生態(tài)環(huán)境的重要保障。但每年頻繁發(fā)生的森林火災(zāi),給森林資源和生態(tài)環(huán)境帶來了嚴(yán)重危害,并造成了巨大的經(jīng)濟損失。林火監(jiān)測系統(tǒng)是減少火災(zāi)危害有效的方法。監(jiān)測點的選址是森林防火監(jiān)測系統(tǒng)的重要部分,合理布局監(jiān)測點既可節(jié)約成本,又可最大范圍地監(jiān)測森林的覆蓋面積。
根據(jù)區(qū)域地理環(huán)境的特點,綜合考慮資源配置、市場潛力、交通條件、地形特征、環(huán)境影響等因素,在區(qū)域范圍內(nèi)選擇最佳位置,是GIS的一個典型應(yīng)用領(lǐng)域。GIS技術(shù)在監(jiān)測點選址決策中發(fā)揮重要的作用,成為選址的可視性分析平臺。目前主要是利用ESRI的ArcGIS Desktop軟件平臺來進行山頂點的提取和可視性分析,而利用ArcEngine的COM和.NET組件來開發(fā)監(jiān)測點的選址功能比較少。以Microsoft Visual Studio 2005為系統(tǒng)開發(fā)平臺,采用C#.NET語言和ArcEngine開發(fā)組件,研究了森林山頂點的提取和可視性分析并計算盲區(qū)的面積,并以白狼林場為例研發(fā)了選址功能軟件。
森林防火監(jiān)測系統(tǒng)中監(jiān)測點的選址關(guān)系著監(jiān)測點可視性的覆蓋范圍和成本的投入。通常,為了在森林選擇一個視野開闊、覆蓋面積大的監(jiān)測點,把監(jiān)測點建設(shè)在山頂上,并通過空間分析中的地形分析生成森林的數(shù)字高程模型進行可視性分析。本研究的地形圖是內(nèi)蒙古興安盟白狼林場的DEM數(shù)據(jù),采用C#.NET作為開發(fā)前端,基于ArcEngine來進行設(shè)計開發(fā),來說明GIS開發(fā)中ArcEngine開發(fā)的系統(tǒng)設(shè)計與實現(xiàn)。利用 ArcEngine提供的 COM.NET和C#.NET的API開發(fā)森林監(jiān)測點的選址功能軟件,系統(tǒng)的總體設(shè)計如圖1所示。
由于DEM蘊涵了豐富的地性信息,為準(zhǔn)確、快速獲取山頂點信息提供了良好的數(shù)據(jù)基礎(chǔ)。以柵格窗口分析的局部高差比較法為基本算法,通過對山頂點形態(tài)特征的分析,并基于GIS柵格數(shù)據(jù)鄰域分析功能從DEM數(shù)據(jù)中提取山頂點。利用ArcEngine進行山頂點提取的流程如圖2所示。
圖1 系統(tǒng)的總體設(shè)計框架
圖2 山頂點提取的流程
鄰域統(tǒng)計是一個鄰域函數(shù),即輸出柵格數(shù)據(jù)集中每個位置的值都是輸入數(shù)據(jù)中相應(yīng)位置下指定的鄰域單元的函數(shù)。山頂點指在特定鄰域分析范圍內(nèi),該點的海拔都比周圍點高的區(qū)域。最大值柵格矩陣數(shù)據(jù)pRaster是利用鄰域分析求矩形窗口最大值的方法,而矩形窗口大小由白狼地貌形態(tài)設(shè)定為11×11。根據(jù) ArcEngine提供 的 接 口INeighborhoodOp對白狼林業(yè)局的DEM進行鄰域統(tǒng)計,代碼如下:ESRI.ArcGIS.SpatialAnalyst.IN-eighborhoodOp pNbrOP=newRasterNeighborhoodOp-Class();IRasterNeighborhood pNbr=newRaster-NeighborhoodClass();pNbr.SetRectangle(11,11, esriGeoAnalysisUnitsEnum. esriUnitsMap );IGeoDataset pOutput = pNbrOP. FocalStatistics((IGeoDataset) DEM, esriGeoAnalysisStatisticsE-num.esriGeoAnalysisStatsMaximum,pNbr,false)。
因為山頂點是區(qū)域內(nèi)海拔最高點,故山頂點的位置就在鄰域分析后獲得最大值柵格矩陣數(shù)據(jù)pRaster與DEM相減所得到的差值為零的格網(wǎng)。利用ArcEngine的柵格的數(shù)學(xué)運算功能IMathOp接口中的Minus來計算差值為零的網(wǎng)格故代碼如下:IMathOp pMapthOP=new RasterMathOpsClass();IGeoDataset pOutputRaster = pMapthOP. Minus((IGeoDataset)pRaster,(IGeoDataset)DEM)。
重分類是基于原有數(shù)值,對原有數(shù)值重新進行分類整理從而得到一組新值并輸出。對經(jīng)過柵格計算出來所得到的數(shù)據(jù)pRaster1進行重新分類。代碼如下:ESRI.ArcGIS.SpatialAnalystTools.Reclassify re=new ESRI.ArcGIS.SpatialAnalystTools.Reclassify();re.in_ raster=pRaster1;re.reclass_ field=Value;re.missing_ values=false;re.out_raster=@ ″E:Re.img″。
由于會出現(xiàn)局部區(qū)域地勢相對平坦,所以在鄰域分析中會出現(xiàn)連片最高點分布從而出現(xiàn)偽頂點,此時需要把柵格轉(zhuǎn)為面要素進行處理,只留下中心點作為山頂點。把重分類得到的柵格數(shù)據(jù)pRaster2利用ConversionTools接口的 RasterToPoint轉(zhuǎn)化為面要素。
ESRI.ArcGIS. ConversionTools. RasterToPoint RatoPoint=new ESRI.ArcGIS.ConversionTools.RasterToPoint();RatoPoint.in_raster=pRaster2;RatoPoint.out_ point_ features= @″E: peak.shp″。
經(jīng)過前面的分析之后所得到的白狼林業(yè)局的山頂點如圖3所示。
圖3 白狼林業(yè)局山頂點的提取結(jié)果
可視性分析是研究從單個或者多個監(jiān)測點所能看到的地形范圍或者與其它目標(biāo)點間可見與否,是以監(jiān)測點為源頭發(fā)出射線的高程與對應(yīng)地面高程的比較。本文討論基于規(guī)則網(wǎng)格模型 (RSG),并利用點對點的視線 (line of sight,LOS)的計算和基于LOS的可視域計算進行可視性分析。
LOS是指從監(jiān)測點O開始并通過目標(biāo)點 T的射線。如果目標(biāo)點可視,則這兩點通視。山上每個點可被表示為三維向量 (X,Y,Z),其中 (X,Y)是經(jīng)緯度坐標(biāo),Z是其對應(yīng)的高程。于是,判斷O和T是否通視的依據(jù)為:OT線段上的任一點向量坐標(biāo) m≡ (mX,mY,mZ) =pO+t(pD-pO),0<t<1高于對應(yīng)的高程點,其中pO為監(jiān)測點向量坐標(biāo),pT為目標(biāo)點的向量坐標(biāo)。如圖4所示,山上有監(jiān)測點O和A,B,C,D,T 5個目標(biāo)點,根據(jù)判斷法則,山形上加粗的區(qū)域都是從監(jiān)測點可視的,即D點和T點均可視的,而從A點到D點下面的所有區(qū)域都是不可視的,即B點和C點均不可視的。
圖4 觀察點和目標(biāo)點的可視性
可視域分析是以一個山頂點為監(jiān)測點,研究某一區(qū)域通視情況的地形分析。視域計算的原理是:以監(jiān)測點為中心,以一定的方位線,通視的地方繪線,不通視的地方斷開。視域的大小根據(jù)監(jiān)測范圍內(nèi)的所有點與監(jiān)測點的視線來計算。如果從監(jiān)測點到目標(biāo)所建立的視線中間有高程大于這兩點所建立的視線表示目標(biāo)無法觀測到,基于 DEM的可視域分析是根據(jù)監(jiān)測點、監(jiān)測范圍和山體高程,計算出在監(jiān)測點向四周瞭望所能夠看到的最大范圍。利用ArcEngine三維分析的接口ViewShed進行編程,代碼如下:ESRI.ArcGIS.Analyst3DTools.Viewshed pviewshed1=new ESRI.ArcGIS.Analyst3DTools.Viewshed();pviewshed1.in_observer_features=@ ″D: MyShapeFile.shp″;//觀 察 點 文 件pviewshed1.in_raster=@ ″D: maskcut.img″;pviewshed1.out_raster=@ ″D: viewshed.img″;pviewshed1.z_factor=0.2。
圖5為內(nèi)蒙古白狼林業(yè)局的局部DEM數(shù)據(jù)經(jīng)過可視域分析后的結(jié)果圖。圖5中小三角形符號代表觀察點,白色區(qū)域代表觀察點的可視部分,黑色區(qū)域則為不可視部分即盲區(qū)。
圖5 可視域的分析結(jié)果
經(jīng)過可視域分析后所得到的柵格數(shù)據(jù)viewshed.img,viewshed文件屬性里面有字段COUNT,COUNT代表著種類的柵格單元總數(shù),而柵格面積S等于柵格單元數(shù)C乘以一個柵格單元的面積A。若可視部分的柵格單元總數(shù)為C1,不可視部分的柵格單元總數(shù)為C2,可視部分的面積為S1,不可視部分的面積為 S2,可視區(qū)域的覆蓋率F1,不可視區(qū)域的覆蓋率F2,則:
基于ArcEngine開發(fā)的森林防火監(jiān)測系統(tǒng)監(jiān)測點的選址軟件,以內(nèi)蒙古興安盟白狼林業(yè)局電子地圖為例的主界面如圖6所示。
系統(tǒng)的GIS基本功能包括電子地圖的打開、圖層加載、放大、縮小、漫游、保存、全圖顯示、比例控制顯示、查詢、距離、面積量測、查找、圖層控制顯示區(qū)等基本操作。
圖6 主界面的功能
點擊山頂點提取按鈕可以提取DEM數(shù)據(jù)的山頂點。點擊區(qū)域選擇按鈕可以提取出在MapControl控件中利用鼠標(biāo)點擊兩個點作為半徑的圓區(qū)域內(nèi)的山頂點并閃爍顯示,并把這些山頂點按海拔從大到小把相關(guān)信息的經(jīng)緯度、高程和山名等顯示在Listview1列表中。
點擊Listview1列表中任何一個山頂點,則GroupBox控件的觀察點信息會顯示對應(yīng)山頂點的經(jīng)緯度和海拔信息,并會在MapControl控件中用紅色圓點標(biāo)注出這個山頂點。
圖7 可視的分析界面
可視分析后的界面如圖7所示。由于考慮到系統(tǒng)用到的云臺的觀察范圍是15 km,所以本課題研究的是以一個觀察點為圓心和半徑為15 km的圓區(qū)域的可視與不可視區(qū)域,并分別計算出該區(qū)域內(nèi)盲區(qū)和可見部分的表面積。點擊區(qū)域裁剪按鈕先裁剪出來以觀察點為中心的15 km范圍內(nèi)的區(qū)域,再點擊可視分析按鈕就能在MapControl控件中看到區(qū)域范圍內(nèi)的盲區(qū)部分和可見部分2種不同顏色。再點擊查看結(jié)果按鈕就可以看到Listview2列表中顯示出可見部分和不可見部分各自的面積和覆蓋率。
利用ArcEngine組件和C#.NET開發(fā)語言研發(fā)了監(jiān)測點的選址功能軟件,與應(yīng)用傳統(tǒng)的選址方法相比,節(jié)省了因大量的實地考察而耗費巨大的人力、物力和財力。選擇在內(nèi)蒙古白狼林場進行了初步試驗,試驗結(jié)果表明:系統(tǒng)利用GIS柵格數(shù)據(jù)鄰域分析方法可以快速準(zhǔn)確地從DEM數(shù)據(jù)中提取山頂點,通過可視性分析計算出盲區(qū)的面積,合理布局監(jiān)測點。課題組將繼續(xù)研究選址軟件的三維可視化功能,從而更加直觀、準(zhǔn)確的布局監(jiān)測點。
[1]鄔倫,劉瑜,張晶,等.地理信息系統(tǒng):原理、方法和應(yīng)用 [M].北京:科學(xué)出版社,2001.
[2]Lee J,Snyder P K,F(xiàn)isher P F.Modeling the Effect of Data Errors on Feature Extraction from Digital Elevation Models[J].Photogrammetric Engineering and Remote Sensing,1992,58(10):1461-1467.
[3]Andrea B C,Vicente T R,Valentino S,et al.Geomorphometric Analysis for Characterizing Landforms in Morelos State [J].Geomorphology,2005,67:407- 422.
[4]Toriwaki J,F(xiàn)ukumura T.Extraction of Structural Information from Grey Pictures [J]. ComputerGraphics and Image Processing,1978(7):30-51.
[5]Wood J.The Geomorphological Characterization of Digital Elevation Models [D].Leilester:University of Leicester,1996.
[6]Peucker T K,Douglas D H.Detection of Surface Specific Point by Local Parallel Processing of Discrete Terrain Elevation Data[J].Computer Graphics and Imagine Processing,1975(4):375-387.
[7]李淑貞,姚玲.GIS在城市生活垃圾衛(wèi)生填埋場選址中的應(yīng)用 [J].地理空間信息,2006,4(3):35-36.
[8]劉瑩.ArcGIS Engine的開發(fā)與應(yīng)用研究 [J].城市勘測,2006,(2):37-39.
[9]湯國安.ArcGIS地理信息系統(tǒng)空間分析試驗教程 [M].北京:科學(xué)出版社,2006:304-307.