土地勘测定界中三调数据与二调数据面积量算方法研究与实现
2023-08-01陈盼芳
陈盼芳
摘要:土地勘測定界工作中,针对已开工建设的项目,要求对项目区内的各地块地类对应的第三次全国国土调查土地的地类与第二次全国土地调查土地的地类进行对比分析。第三次全国国土调查数据采用的技术方法、地类代码、图斑表达方式等与第二次全国土地调查数据有很大的差异,为保障两者数据对比分析的准确性,该文从地类代码对比、地物表达方式归并方面进行研究,改进三调数据、二调数据土地分类面积的量算方法,提高勘测定界工作中土地分类面积量算的准确性,采用Visual C#编程语言、GDAL开发库实现面积计算功能。
关键词:土地勘测定界 面积量算 三调数据 二调数据 Visual C# GDAL开发库
中图分类号:P271 文献标识码:AResearch and Implementation of the Area Measurement Method for the Third and Second National Land Survey Data in Land Survey and Demarcation
CHEN Panfang
(Guizhou Provincial First Institute of Surveying and Mapping, Guiyang, Guizhou Province, 550025 China)
Abstract: In the work of land survey and demarcation, for projects that have already started construction, it is required to conduct a comparative analysis of the land types of the third national land survey and the land types of the second national land survey corresponding to the land types of each plot within the project area. The technical methods, land category codes and patch expression methods used in the third national land survey data are significantly different from those used in the second national land survey data. To ensure the accuracy of the comparative analysis of the two data, this article conducts research from the aspects of the comparison of land category codes and merging of land feature expression, improves the measurement method of land classification area in the third and second national land survey data, improves the accuracy of the measurement of land classification area in the work of survey and demarcation, and uses the Visual C# programming language and GDAL development library to implement the function of area calculation.
Key Words: Land survey and delimitation; Area measurement; The third national land survey Data; The second national land survey Data; Visual C#; GDAL development library
国土空间用途管制规定,建设用地报批时,对于已开工建设的项目,在土地勘测定界工作中,需要追述项目区内各地块土地在前几年中的利用情况,了解项目开展进程及土地分类变化情况。目前土地利用分类面积量算采用的是国家已批准使用的第三次全国国土调查数据(以下简称“三调数据”)。三调数据启用不到2年时间,追述前几年数据时需要追述至第二次全国土地调查数据(以下简称“二调数据”)。二调数据采用点、线、面的矢量表达方式反映零星地物、线状地物、地类图斑,记录其各自的权属、坐落、面积等属性。三调数据只采用面的矢量表达方式反映地类图斑,记录地类的权属、坐落、面积等属性,将零星地物、线状地物均进行了面化处理。三调技术规程中针对地类的定义,与二调中地类的定义也有很大的改动。因此,在土地勘测定界工作中,对项目区内各地块图斑对应三调地类和二调地类对比分析时,需要对二调数据中的零星地物、线状地物进行技术处理,同时需要将二调中的土地利用分类和三调中的土地利用分类进行拆分及归并,方能准确地分析各地块的土地利用变化情况,满足建设用地报批使用[1-3]。该文作者同时参加了二调、三调工作,结合贵州省二调数据中零星地物的特殊性,研究了能准确量算二调、三调数据面积的方法,采用Visual C#编程语言、GDAL开发库研发了一套土地勘测定界面积量算工具,完全满足贵州省建设用地报批工作需要。
1 二调数据库数据表达形式
二调数据库的矢量数据采用点、线、面三种矢量数据表现形式,分別表达零星地物、线状地物、地类图斑三种地物,同时分别记录了各类土地的权属、坐落、面积、性质等属性。三者之间除空间拓扑关系关联外,还设置了相应的属性结构进行关联,作为索引关联的属性结构是权属单位代码。地类图斑设置了线状地物面积、零星地物面积记录与图斑空间、属性关联的线状地物及零星地物面积,作为面积扣除使用[4]。
二调数据采用的土地利用现状分类为《土地利用现状分类》(GB/T 21010-2007)定义的分类。该分类采用一级、二级两个层次的分类体系,一级类有12个,二级类有57个。第二次全国土地调查时,将调查区域分为农村部分和城镇部分两个区域。在农村部分的土地调查时,对土地利用现状分类中的05(商服用地)、06(工矿仓储用地)、07(住宅用地)、08(公共管理与公共服务用地)、09(特殊用地)五个一级类及103、121两个二级类归并至201(城市)、202(建制镇)、203(村庄)、204(采矿用地)、205(风景名胜及特殊用地)进行调查,土地勘测定界采用的二调数据主要采用农村部分的二调数据。
2 三调数据库数据表达形式
三调数据库的矢量数据取消了点、线两种矢量数据表达方式,只保留了面的矢量数据,也就是说,取消了零星地物、线状地物两类地物,将零星地物、线状地物均进行了面状化,只保留了地类图斑,面状化的零星地物、线状地物全部绘制在地类图斑中[5]。
三调数据采用的土地利用现状分类是采用《第三次全国国土调查技术规程》中的工作分类。工作分类同样采用了一级、二级两个层次的分类体系,一级类有13个,二级类有73个。
3 量算方法思路
3.1 二调数据面积量算
二调数据的矢量数据有零星地物、线状地物、地类图斑三个矢量文件,其各自属性结构分别记录了完整各项属性。提取项目区范围内的零星地物、线状地物、地类图斑时,需要采用用地范围线将二调数据进行裁剪,只保留项目区内的零星地物、线状地物、地类图斑文件。地类图斑扣除线状地物、零星地物面积时,是根据空间拓扑关系以及零星地物、线状地物所在的图斑编号关联扣除。用地范围线不规则的因素,导致裁剪后的地类图斑文件内出现相同地类图斑编号[6],如果直接进行面积扣除会导致最终计算的面积出现错误。贵州省属于喀斯特地区,在数据调查时,部分地类的零星地物的面积是采用占用图斑面积的比例进行计算面积,如耕地中的裸岩石砾地、灌木林地等。在地类图斑裁剪后,其对应的零星地物面积也应随着地类图斑范围的变化重新计算零星地物面积。鉴于此,需要对裁剪后的零星地物、线状地物、地类图斑重新进行地类图斑编号重算、面积重算等技术处理。
3.1.1 地类图斑处理
地类图斑处理主要是对项目区内的地类图斑的图斑编号进行重新编订。为保证图斑编号的唯一性,采用流水号方式,对图斑的“图斑编号”属性以阿拉伯数字从1开始连续编号赋值。
当地类图斑的地类为耕地时,需要对地类图斑中“扣除地类面积”重新赋值,取地类图斑的矢量面积和地类图斑的“扣除地类系数”属性值的积作为“扣除地类面积”的属性值。当地类图斑的地类为非耕地时,其“扣除地类面积”的值均赋为0。
3.1.2 线状地物处理
线状地物中地类图斑的“扣除图斑编号1”“扣除图斑编号2”记录的是原始调查数据中所在地类图斑的编号。地类图斑的“图斑编号”重新编订后,需要对线状地物中这两个属性结构的值进行重新赋予。重新赋值采用的方法主要是利用地类图斑、线状地物的空间拓扑关系,读取地类图斑的图斑编号,按照线状地物中“扣除比例”的值,对“扣除图斑编号1”“扣除图斑编号2”进行重新赋值。线状地物中“线状地物面积”属性结构的属性值采用其矢量长度和“宽度”属性结构中的值相乘的积进行赋值。
3.1.3 零星地物处理
零星地物中的“坐落图斑编号”记录的是原始调查数据中所在地类图斑的编号。地类图斑的“图斑编号”重新编订后,需要对零星地物的该属性进行重新赋值。当零星地物所在图斑地类为耕地,零星地物的地类为裸岩石砾地、林地、园地、草地时;零星地物所在图斑地类为裸岩石砾地、林地、园地、草地,零星地物地类为耕地时,记录的面积均为按占地类图斑面积比例的方式进行记录的。遇到这种情况时,需要读取零星地物所在图斑中“图斑面积”、“零星地物面积”两个属性结构的属性值,求取相应的比例,再乘以该图斑的矢量面积作为零星地物的面积。
3.2三调数据面积量算
三调数据取消了零星地物、线状地物,只保留了地类图斑矢量数据,只需要处理耕地中的田坎面积即可。田坎面积在地类图斑中是以“扣除地类面积”进行记录,处理该值时与二调数据中的处理方式一致,取地类图斑的矢量面积和“扣除地类系数”的积作为“扣除地类面积”。
3.3 土地利用分类对照表
三调数据与二调数据采用的土地利用现状分类不一致,为保证在对比分析两个数据时地类的准确性,需建立一个土地利用分类对照表。对照表部分内容见表1所示。
4 面积量算工具实现
二调数据库、三调数据库的矢量数据均采用ArcGIS软件自带空间数据开发格式文件Shape文件,故该文介绍的工具实现方法采用GDAL开发库对二调数据、三调数据进行裁剪及属性的操作,满足工具设计功能需要。工具共设计了图斑裁剪、权属单位提取、二调数据处理、三调数据处理、面积量算五大功能,各项功能下设计了相应的子功能。
按照前面介绍的思路,工具主要采用Visual C#编程语言,加载C#版GDAL开发库实现工具的研发。采用Visual C#2013建立一个工程,在工程中调用C#版GDAL的gdal_csharp.dll、gdalconst_csharp.dll、ogr_csharp.dll、osr_csharp.dll四个动态库,四个动态库的嵌入互操作类型值均设置为“True”,再加载Aspose.cells开发库,逐步实现本文研究的内容。工程界面如图1所示。同时,为后续面积量算中过程数据使用方便,建立一个Access文件,文件内设置权属单位、二调地类图斑、三调地类图斑、线状地物、零星地物、面积汇总六个表格。
4.1图斑裁剪
图斑裁剪功能主要用GDAL开发库中的Geometry对象的Intersection方法对图形进行裁剪。图形裁剪后,得到的线、面对象的几何长度和面积不会自动变化,需要给裁剪出来的Shape文件分别建立相应的属性字段,再重新计算几何并将值赋予属性字段中。线文件创建的字段为“lineLength”,字段类型为double类型;面文件创建的字段为“tb_Area”,字段类型为double类型。创建字段采用Layer的CreateField方法,几何重算采用Geometry对象的GetBoundary、GetArea方法实现。
4.2 权属单位提取
权属单位提取功能主要是分别读取零星地物、线状地物、地类图斑的权属单位代码、权属单位名称、权属单位代码1、权属单位名称1、权属单位代码2、权属单位名称2等属性。读取到的属性值采用Microsoft.Jet.OleDb接口技术保存至前面创建的Access文件中的权属单位表格中。
4.3 二调数据处理
二调数据处理是按照第四节的思路对零星地物、线状地物、地类图斑数据进行空间、属性的双重处理,保证最后数据的准确性[7]。空间关系的判断采用Geometry对象的Intersects、Touches、Crosses、Within方法判断零星地物是否在地类图斑内、线状地物是否沿着地类图斑边沿经过。属性值的读取与赋值采用Feature对象的SetField、GetFieldAsString、GetFieldAsDouble方法实现。各地物处理后对应的属性分别保存至前面创建的Access文件中零星地物、线状地物、二调地类图斑表格中。
4.4 三调数据处理
三调数据的处理相对比较简单,只对图斑面积进行几何计算、田土坎面積扣除处理即可,最后将处理完成的相关属性保存至前面创建的Access文件中三调地类图斑表格中。
4.5 面积量算
面积量算功能是将二调数据、三调数据中的需要扣除的面积在各自的地类图斑面积中进行重新计算,将最终的图斑地类面积、权属单位代码、权属单位名称、权属性质、地类代码、地类名称汇总至保存至前面创建的Access文件中面积汇总表格中,用于输出相关面积表册使用。
4.6表格输出
表格输出采用Aspose.cells开发库,输出Excel格式的三调土地分类面积汇总表、二调土地分类面积汇总表(需要追述二调数据时)、三调数据与二调数据对照表等表格,满足土地勘测定界工作需要。三调土地分类面积汇总表如2所示。
4.7 部分代码
实现工具的全部功能,需要编写非常的代码,本文截取了几何重算的部分代码。
List
if (fieldNameList.Contains("tb_area") != true)
OriginMapGDAL.CreateFields(Result_Layer, "TB_Area", OSGeo.OGR.FieldType.OFTString, 0, 50);//创建面积字段
Feature p_Feature;
while ((p_Feature = Result_Layer.GetNextFeature()) != null)
{
OSGeo.OGR.Geometry geoPolygon = p_Feature.GetGeometryRef();
if (geoPolygon == null)
continue;
double polyArea = geoPolygon.GetArea();
int fieldIndex = p_Feature.GetFieldIndex("TB_Area");
p_Feature.SetField(fieldIndex, polyArea.ToString("f8"));
Result_Layer.SetFeature(p_Feature);
p_Feature.Dispose();
}///end while
Result_Layer.SyncToDisk();
Result_Layer.Dispose();
clipMapLayer.Dispose();
5 結语
该文通过对土地勘测工作在土地分类面积量算时需要追述二调数据时研究了一套适合贵州省土地勘测定界工作需要的面积量算方法,采用Visual C#编程语言、GDAL开发库实现了面积量算功能,并在部分项目中投入使用。该方法解决了靠人工进行追述二调数据的低效率,提高了工作效率,保证了成果质量,可在今后的土地勘测定界工作中推广使用。
参考文献
[1]李湘梅.基于ArcEngine的图斑椭球面积计算及精度分析[D].昆明:昆明理工大学,2020.
[2]袁浩.全国第三次国土调查县级数据库建设[D].长春:长春工程学院,2020.
[3]战强.空间治理视角下的“三区三线”划定研究[D].哈尔滨:哈尔滨工业大学,2019.
[4]李犁,周朝阳.基于MAPGIS的1:1万土地利用数据库建设与管理[J].信息记录材料,2022,23(2):160-163.
[5]张浩.基于迎风面指数计算的河谷型城市通风廊道识别方法研究[D].重庆:重庆大学,2021.
[6]颜振宇.对不同形态空间矢量数据一致性转换方法探讨[J].地理空间信息,2022,20(10):142-146.
[7]黄日斌.城市信息模型在建设项目规划审批中的应用研究[D].南宁:广西大学,2021.