争议林地中细碎图斑自动归并的研究
2017-03-12王剑武谢秉楼何伟平
王剑武,何 欢,谢秉楼,宋 盛,何伟平
(浙江省森林资源监测中心,杭州 310020)
前言
林地是森林资源的重要组成部分,是经济社会可持续发展的重要物质基础和保障。但是国土部门与林业部门在林地的界定标准、调查方式、调查时间上都存在着较大的差异,两部门关于林地的调查成果在面积、数量和空间分布上差异越来越值得关注。近来,“多规合一”、“不动产登记”等政策越来越要求多部门互补,相互借鉴考量。因此,两部门成果数据相互重叠、各自为政的问题急需解决。应用GIS技术对两部门的“一张图”数据进行叠加分析,获取空间分布差异性信息,但是由此带来的细碎图斑大大增加,极为不合理。本文利用ArcEngine开发库编程实现细碎图斑的自动归并,并满足林地变更调查工作要求。
1 争议林地
1.1 林地界定差异性分析
长期以来,林业部门与国土部门关于林地的界定都各自主导实施,因此在分类标准、调查方法和调查时间上都存在差异性。其中,分类标准的不同是导致差异性的最大因素。根据第二次全国土地调查分类标准,对比林业部门的分类标准,林地部门对林地的定义比国土详细很多,且类型划分更为多样,同时在对林地的界定上存在较大的差异。比如国土部门将定义的果园、茶园等其他园地划定为非林地类型,而林业部门则将此类划定为商品林中的经济林类型,既为有林地。因此,林业部门与国土部门对林地的界定存在较大偏差。通过林地变更调查,林业部门结合国土部门最新“一张图”数据,能够明确鉴别林地属性,分清林业部门管理林地与国土部门的争议地块。
1.2 争议林地
目前,依据现有的GIS技术,采用空间分析方法,对全省林地“一张图”数据与国土部门的“一张图”数据进行叠加,按照空间位置关系,将国土部门认定为林地和非林业用地(园地、草地、耕地、建设用地、未利用地及其他农用地),以及林业部门认定为林地和非林地的,把二者存在不一致的区块认定为争议林地,对争议区块进行再次鉴别,比如林业部门查清该地块是否颁发林权证,或者进行外业实地踏查等方式确定其林业属性。
1.3 细碎图斑
按照林业部门划定图斑的要求,面积为666.67 m2以下的图斑无需区划,因此对于出现面积为666.67 m2一下的图斑需要进行合理归并,即不允许出现面积666.67 m2以下的图斑,将面积为666.67 m2以下的图斑定义为细碎图斑。
在争议林地的处理过程中,由于进行空间叠加分析的数据源来之两个不同的部门,数据采集的情况都大不相同,因此会出现细碎图斑的情况,这些图斑必须进行合理地归并处理。
2 细碎图斑自动归并
2.1 程序简介及开发环境
细碎图斑自动归并方法的开发环境使用了微软公司可视化软件Microsoft Visual Studio(C#语言),及ArcGIS Engine组件库(简称ArcEngine)进行开发。Microsoft Visual Studio是目前最流行的Windows平台应用程序的集成开发环境,拥有图形用户界面和快速应用程序开发系统,可以轻易的连接数据库,程序员可以方便快速的建立一个应用程序。ArcEngine是ArcGIS的一个开发组件库,用于构建定制应用的一个完整的嵌入式的GIS组件库,利用该组件库,开发者能够将ArcGIS功能集成到一些应用软件。ArcEngine具有简洁、灵活、易用和可移植性强等特点。
程序运行时只需指定包含细碎的图斑文件即可,文件格式为Shapefile,程序界面如图1所示。
图1 程序界面
2.2 算法流程
细碎图斑自动归并算法流程如图2所示。
图2 细碎图斑自动归并流程图
2.2.1 筛选细碎图斑
检索全区域的小班数据库,将面积小于666.67 m2的细碎图斑筛选出来作为工作池。
IQueryFilter pqueryfilter = new QueryFilter();
pqueryfilter.WhereClause= "面积<1";
m_pfeacur= m_pfeacls.Search(pqueryfilter,false) //获取面积小于1亩的图斑指针
2.2.2 细碎图斑自动归并
本文提出的算法是:将细碎图斑自动归并入相邻的、同行政代码的、共享边界最长的图斑内,尽可能地恢复到原图斑内,主要步骤如下:
1)遍历当前工作池,即循环检索面积小于666.67 m2的图斑库。
IFeature featureMin=m_pfeacur.NextFeature();
2)检索某个细碎图斑相邻的图斑。
条件1:为面积大于666.67 m2、相同乡代码、相同村代码、相同林班号以及相同原小班号。
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) 采集站集成。各采集站之间通过单模光纤网络连接,在中心控制室增设系统服务器,实现了现场质量流量计集中管理与深度智能诊断监测。
3)条件2:搜索相同乡代码、相同村代码、相同林班号以及相同原小班号的相邻图斑。
4)条件3:搜索面积大于666.67 m2、相同乡代码、相同村代码、相同林班号的相邻图斑。
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:搜索相同乡代码、相同村代码、相同林班号的相邻图斑。此条件一定能搜索到满足要求的图斑。
6)计算搜索结果中具有最长共享边界的图斑。
IFeature feaMaxOK计算结果
7)图斑归并:细碎图斑与并入计算结果图斑。
IGeometry geoMax=feaMaxOK.Shape;
ITopologicalOperator2 pTopo=geoMax;
geoMax=pTopo.Union(featureMin.ShapeCopy);
feaMaxOK.Shape=geoMax;
2.2.3 图斑拓扑检查
细碎图斑合并入新的图斑内后需要进行有效的拓扑质量检查,以满足几何图形的拓扑精度,保证无拓扑错误。
3 应用实例
浙江省衢州市柯城区是浙江省衢州市的市辖区,是衢州的经济、政治、文化、商业等中心。柯城区位于浙江省西部,钱塘江上游、东靠衢江区、西临常山县、西南与江山市接壤。
在衢州市柯城区林地变更调查中,由于林业部门与国土部门的数据叠加处理产生了大量的细碎图斑,并且数据的量级发生了极大的变化。其中原始林地落界图斑为7 542个,经叠加处理后图斑为151 934个,细碎图斑为94 383个,如图3所示。
图3 林地变更中各类图斑数量图
利用本文细碎图斑自动归并方法,经测算每分钟可实现752个,全区细碎图斑2个多小时即可完成自动归并。相比人工处理细碎图斑的方法,存在可设置复杂条件、无需人工介入、高效率、结果还原程度高等优点。如果使用高性能计算机运行,效率还可提高。
4 结论与分析
在实际处理过程中,经过两个部门的数据叠加分析后,数据量明显递增,以往借助ArcGIS软件处理的方法无法满足数据处理的要求,而借助本文提供的方法可高效完成数据处理,两者对比见表1。
由此可见,利用ArcGIS无法快速完成细碎的自动归并,也无法按照项目需求设定专用的归并方法,来进行图斑的自动归并。在浙江省衢州市柯城区林地变更调查中,采用了本文的研究成果,不仅克服了ArcGIS步骤繁多、用时长的问题,而且无需人工介入,极大的缩短了图斑的处理时间,提高了工作效率。
表1 ArcGIS与本文方法相比较方法并入相邻图斑复杂条件设定按行政区域设定按最长边界归并批量自动归并拓扑自动检查效率ArcGIS可行不可行不可行不可行不可行不可行低本文研发可行可行可行可行可行可行高
综上,利用ArcEngine组件式扩展,可灵活地把那些人工重复机械操作流程,无缝集成在ArcGIS中,既降低开发难度,提高了开发效率,又增强业务系统的灵活性和开放性[9]。将这些技术应用到林业实际工作中,可以发挥技术优势,极大地方便工作,解决实际问题,提升作业技术水平,发挥创新潜能。
[1] 林地保护利用规划林地落界技术规程.LY/T 1955—2011中华人名共和国林业行业标准[S],2011.
[2] 冯克忠,姜遵锋,徐杨,等.ArcObjects开发指南:VB篇[M].北京:电子工业出版社,2007.
[3] 赵万锋,刘南,刘仁义,等.基于ArcObjects的系统开发技术剖析[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] 陈信旺,万泉,陈国瑞,等.林业与国土部门对林地界定的差异性分析[J].林业勘察设计(福建),2013(2):1-5.
[8] 陈南祥,董贵明,邱林,等.基于ArcObjects的GIS系统的二次开发——以济源市水土保持决策支持系统为例[J].地域研究与开发,2006,25(3):125-128.
[9] 邬伦.地理信息系统原理方法和应用[M]北京:科学出版社,2000:151-152.
[10] 汤国安.ArcGIS地理信息系统空间分析实验教程[M].北京:科学出版社,2006:196-197.