王劍武,何 歡,謝秉樓,宋 盛,何偉平
(浙江省森林資源監(jiān)測中心,杭州 310020)
林地是森林資源的重要組成部分,是經濟社會可持續(xù)發(fā)展的重要物質基礎和保障。但是國土部門與林業(yè)部門在林地的界定標準、調查方式、調查時間上都存在著較大的差異,兩部門關于林地的調查成果在面積、數(shù)量和空間分布上差異越來越值得關注。近來,“多規(guī)合一”、“不動產登記”等政策越來越要求多部門互補,相互借鑒考量。因此,兩部門成果數(shù)據(jù)相互重疊、各自為政的問題急需解決。應用GIS技術對兩部門的“一張圖”數(shù)據(jù)進行疊加分析,獲取空間分布差異性信息,但是由此帶來的細碎圖斑大大增加,極為不合理。本文利用ArcEngine開發(fā)庫編程實現(xiàn)細碎圖斑的自動歸并,并滿足林地變更調查工作要求。
長期以來,林業(yè)部門與國土部門關于林地的界定都各自主導實施,因此在分類標準、調查方法和調查時間上都存在差異性。其中,分類標準的不同是導致差異性的最大因素。根據(jù)第二次全國土地調查分類標準,對比林業(yè)部門的分類標準,林地部門對林地的定義比國土詳細很多,且類型劃分更為多樣,同時在對林地的界定上存在較大的差異。比如國土部門將定義的果園、茶園等其他園地劃定為非林地類型,而林業(yè)部門則將此類劃定為商品林中的經濟林類型,既為有林地。因此,林業(yè)部門與國土部門對林地的界定存在較大偏差。通過林地變更調查,林業(yè)部門結合國土部門最新“一張圖”數(shù)據(jù),能夠明確鑒別林地屬性,分清林業(yè)部門管理林地與國土部門的爭議地塊。
目前,依據(jù)現(xiàn)有的GIS技術,采用空間分析方法,對全省林地“一張圖”數(shù)據(jù)與國土部門的“一張圖”數(shù)據(jù)進行疊加,按照空間位置關系,將國土部門認定為林地和非林業(yè)用地(園地、草地、耕地、建設用地、未利用地及其他農用地),以及林業(yè)部門認定為林地和非林地的,把二者存在不一致的區(qū)塊認定為爭議林地,對爭議區(qū)塊進行再次鑒別,比如林業(yè)部門查清該地塊是否頒發(fā)林權證,或者進行外業(yè)實地踏查等方式確定其林業(yè)屬性。
按照林業(yè)部門劃定圖斑的要求,面積為666.67 m2以下的圖斑無需區(qū)劃,因此對于出現(xiàn)面積為666.67 m2一下的圖斑需要進行合理歸并,即不允許出現(xiàn)面積666.67 m2以下的圖斑,將面積為666.67 m2以下的圖斑定義為細碎圖斑。
在爭議林地的處理過程中,由于進行空間疊加分析的數(shù)據(jù)源來之兩個不同的部門,數(shù)據(jù)采集的情況都大不相同,因此會出現(xiàn)細碎圖斑的情況,這些圖斑必須進行合理地歸并處理。
細碎圖斑自動歸并方法的開發(fā)環(huán)境使用了微軟公司可視化軟件Microsoft Visual Studio(C#語言),及ArcGIS Engine組件庫(簡稱ArcEngine)進行開發(fā)。Microsoft Visual Studio是目前最流行的Windows平臺應用程序的集成開發(fā)環(huán)境,擁有圖形用戶界面和快速應用程序開發(fā)系統(tǒng),可以輕易的連接數(shù)據(jù)庫,程序員可以方便快速的建立一個應用程序。ArcEngine是ArcGIS的一個開發(fā)組件庫,用于構建定制應用的一個完整的嵌入式的GIS組件庫,利用該組件庫,開發(fā)者能夠將ArcGIS功能集成到一些應用軟件。ArcEngine具有簡潔、靈活、易用和可移植性強等特點。
程序運行時只需指定包含細碎的圖斑文件即可,文件格式為Shapefile,程序界面如圖1所示。
圖1 程序界面
細碎圖斑自動歸并算法流程如圖2所示。
圖2 細碎圖斑自動歸并流程圖
2.2.1 篩選細碎圖斑
檢索全區(qū)域的小班數(shù)據(jù)庫,將面積小于666.67 m2的細碎圖斑篩選出來作為工作池。
IQueryFilter pqueryfilter = new QueryFilter();
pqueryfilter.WhereClause= "面積<1";
m_pfeacur= m_pfeacls.Search(pqueryfilter,false) //獲取面積小于1畝的圖斑指針
2.2.2 細碎圖斑自動歸并
本文提出的算法是:將細碎圖斑自動歸并入相鄰的、同行政代碼的、共享邊界最長的圖斑內,盡可能地恢復到原圖斑內,主要步驟如下:
1)遍歷當前工作池,即循環(huán)檢索面積小于666.67 m2的圖斑庫。
IFeature featureMin=m_pfeacur.NextFeature();
2)檢索某個細碎圖斑相鄰的圖斑。
條件1:為面積大于666.67 m2、相同鄉(xiāng)代碼、相同村代碼、相同林班號以及相同原小班號。
strWhereclause="面積>=1 and XIANG="+
featureMin.get_Value(featureMin.Fields.FindField("XIANG"))+"CUN="+
featureMin.get_Value(featureMin.Fields.FindField("CUN"))+"LIN_BAN="+
featureMin.get_Value(featureMin.Fields.FindField("LIN_BAN"))+"XIAO_BAN="+
featureMin.get_Value(featureMin.Fields.FindField("XIAO_ BAN"));條件字符串
2) 采集站集成。各采集站之間通過單模光纖網絡連接,在中心控制室增設系統(tǒng)服務器,實現(xiàn)了現(xiàn)場質量流量計集中管理與深度智能診斷監(jiān)測。
3)條件2:搜索相同鄉(xiāng)代碼、相同村代碼、相同林班號以及相同原小班號的相鄰圖斑。
4)條件3:搜索面積大于666.67 m2、相同鄉(xiāng)代碼、相同村代碼、相同林班號的相鄰圖斑。
strWhereclause="面積>=1 and XIANG="+
featureMin.get_Value(featureMin.Fields.FindField("XIANG"))+"CUN ="+
featureMin.get_Value(featureMin.Fields.FindField("CUN"))+"LIN_BAN="+
featureMin.get_Value(featureMin.Fields.FindField("LIN_BAN"));
5)條件4:搜索相同鄉(xiāng)代碼、相同村代碼、相同林班號的相鄰圖斑。此條件一定能搜索到滿足要求的圖斑。
6)計算搜索結果中具有最長共享邊界的圖斑。
IFeature feaMaxOK計算結果
7)圖斑歸并:細碎圖斑與并入計算結果圖斑。
IGeometry geoMax=feaMaxOK.Shape;
ITopologicalOperator2 pTopo=geoMax;
geoMax=pTopo.Union(featureMin.ShapeCopy);
feaMaxOK.Shape=geoMax;
2.2.3 圖斑拓撲檢查
細碎圖斑合并入新的圖斑內后需要進行有效的拓撲質量檢查,以滿足幾何圖形的拓撲精度,保證無拓撲錯誤。
浙江省衢州市柯城區(qū)是浙江省衢州市的市轄區(qū),是衢州的經濟、政治、文化、商業(yè)等中心??鲁菂^(qū)位于浙江省西部,錢塘江上游、東靠衢江區(qū)、西臨常山縣、西南與江山市接壤。
在衢州市柯城區(qū)林地變更調查中,由于林業(yè)部門與國土部門的數(shù)據(jù)疊加處理產生了大量的細碎圖斑,并且數(shù)據(jù)的量級發(fā)生了極大的變化。其中原始林地落界圖斑為7 542個,經疊加處理后圖斑為151 934個,細碎圖斑為94 383個,如圖3所示。
圖3 林地變更中各類圖斑數(shù)量圖
利用本文細碎圖斑自動歸并方法,經測算每分鐘可實現(xiàn)752個,全區(qū)細碎圖斑2個多小時即可完成自動歸并。相比人工處理細碎圖斑的方法,存在可設置復雜條件、無需人工介入、高效率、結果還原程度高等優(yōu)點。如果使用高性能計算機運行,效率還可提高。
在實際處理過程中,經過兩個部門的數(shù)據(jù)疊加分析后,數(shù)據(jù)量明顯遞增,以往借助ArcGIS軟件處理的方法無法滿足數(shù)據(jù)處理的要求,而借助本文提供的方法可高效完成數(shù)據(jù)處理,兩者對比見表1。
由此可見,利用ArcGIS無法快速完成細碎的自動歸并,也無法按照項目需求設定專用的歸并方法,來進行圖斑的自動歸并。在浙江省衢州市柯城區(qū)林地變更調查中,采用了本文的研究成果,不僅克服了ArcGIS步驟繁多、用時長的問題,而且無需人工介入,極大的縮短了圖斑的處理時間,提高了工作效率。
表1 ArcGIS與本文方法相比較方法并入相鄰圖斑復雜條件設定按行政區(qū)域設定按最長邊界歸并批量自動歸并拓撲自動檢查效率ArcGIS可行不可行不可行不可行不可行不可行低本文研發(fā)可行可行可行可行可行可行高
綜上,利用ArcEngine組件式擴展,可靈活地把那些人工重復機械操作流程,無縫集成在ArcGIS中,既降低開發(fā)難度,提高了開發(fā)效率,又增強業(yè)務系統(tǒng)的靈活性和開放性[9]。將這些技術應用到林業(yè)實際工作中,可以發(fā)揮技術優(yōu)勢,極大地方便工作,解決實際問題,提升作業(yè)技術水平,發(fā)揮創(chuàng)新潛能。
[1] 林地保護利用規(guī)劃林地落界技術規(guī)程.LY/T 1955—2011中華人名共和國林業(yè)行業(yè)標準[S],2011.
[2] 馮克忠,姜遵鋒,徐楊,等.ArcObjects開發(fā)指南:VB篇[M].北京:電子工業(yè)出版社,2007.
[3] 趙萬鋒,劉南,劉仁義,等.基于ArcObjects的系統(tǒng)開發(fā)技術剖析[J].計算機應用研究,2004,21(3):130-132.
[4] Razavi A H.ArcGIS Developer's Guide for VBA [M].New York:OnWord Press,2002.
[5] ZeilerM.Exploring ArcObjects[M].California:Esri Press,2001.
[6] Chang K T.Programming ArcObjects with VBA:A Task-Oriented Approach [M].London:Taylor & Francis,2004.
[7] 陳信旺,萬泉,陳國瑞,等.林業(yè)與國土部門對林地界定的差異性分析[J].林業(yè)勘察設計(福建),2013(2):1-5.
[8] 陳南祥,董貴明,邱林,等.基于ArcObjects的GIS系統(tǒng)的二次開發(fā)——以濟源市水土保持決策支持系統(tǒng)為例[J].地域研究與開發(fā),2006,25(3):125-128.
[9] 鄔倫.地理信息系統(tǒng)原理方法和應用[M]北京:科學出版社,2000:151-152.
[10] 湯國安.ArcGIS地理信息系統(tǒng)空間分析實驗教程[M].北京:科學出版社,2006:196-197.