基于C#+GDAL角规控制检尺样地布点方法的研究

2020-06-17 01:14梁志强刘陆
防护林科技 2020年2期
关键词:布点图斑区划

梁志强,刘陆

(黑龙江省林业监测规划院,黑龙江 哈尔滨 150080)

1 GDAL技术

GDAL(Geospatial Data Abstraction Library,地理空间数据抽象库)是一个在X/MIT许可协议下的开源空间数据(栅格数据和矢量数据)转换库[1],包括读取、写入、转换、处理各种栅格和矢量数据格式。它利用抽象数据模型来表达所支持的各种文件格式。它还有一系列命令行工具来进行数据的转换和处理。

GDAL提供多种栅格数据的支持,包括GeoTiff(tiff)、Erdas Imagine(img)、ASCII DEM(dem)等格式。

OGR(OGR Simple Features Library)是GDAL的项目的一个分支,提供对矢量数据读写操作。包括ESRI ShapeFiles、S-57、SDTS、PostGIS、Oracle Spatial、Mapinfo等格式。其体系结构包括Geometry(几何图形)、Spatial Reference(空间参考)、Feature(要素)、Feature Definition(要素定义)、Layer(图层)、Data Source(数据源)、Drivers(驱动)。

2 图斑区划及样地布设

2.1 二类调查内业图斑区划

二类调查图斑区划采用最接近调查年度的高清遥感影像进行区划,林业调查基于影像假彩色拉伸方式进行制作,二类调查人员可参考以往调查数据及经营管理档案,根据高清卫星遥感影像的色调、灰阶、形态、纹理等特征的差别,建立目视解译标志[2],对地类、树种、起源、郁闭度等信息进行准确判读,从而减少野外调查的工作量,提高图斑面积调查精度。在区划的过程中,需要在区划图斑的属性信息中填写遥感判读地类,判读的有林地分布和求算的面积等信息直接影响角规样地布设的个数和分布(图1)。

2.2 样地布设方法

角规样地布点采用机械布点方法,其目的是减少人为因素的影响,按照二类调查技术规程和调查总体范围内有林地的分布和面积,布设满足要求的样点个数。布设方法是设置一个起始点(最好是公里网交叉点,便于导航定位)和横纵坐标的间隔距离,从起始点开始按间隔距离在调查总体范围内进行机械布点,布点完成后,将有林地范围的点进行个数统计,如果初步布设的样地个数无法满足规程要求,则重新调整起始点或者间隔距离,重复上述操作,直到满足规程要求为止,并计算样点坐标、排号及输出矢量文件。

3 控制样地布点方法的设计与实现

3.1 GDAL的调用

在VS开发环境中调用GDAL开源类库Gdal_csharp.dll、Org_csharp.dll,在C#代码中实现GDAL注册和相应函数的使用。读取矢量文件的代码如图2所示。

3.2 布点工具的设计与实现

3.2.1 读取Shape信息 读取图斑区划矢量范围的包络线(最小外侧矩形区域图框范围)及空间投影信息,获取矩形区域的四角坐标,用于控制布点范围,并将左上角横纵坐标值按千位数取值,作为样地布点的起始点,以米为单位设置点间距。

3.2.2 生成图框范围布点图 创建与图斑区划矢量相同空间投影的图框范围布点图层,根据起始点、间隔距离、四角坐标生成点状图斑,保证生成的点都在图框范围内。

3.2.3 生成总体范围布点图 通过GDAL的图层求交集分析方法pLayer1.Intersection(pLayer2, pResultLayer, p, null, null),将区划图斑图层与图框范围布点图进行相交操作[3],获得共同区域的点状图斑,相交结果中会含有图斑图层的地类信息,并输出总体范围布点图矢量。

3.2.4 生成有林地范围布点图 将总体范围布点图中的有林地进行筛选,并输出有林地范围布点图。实现代码为pResultLayer = pODS.ExecuteSQL("select * from " + layerName1 + " where b_z_dl='有林地'", null, null)。

3.2.5 有林地范围数据统计 对有林地范围布点图进行统计,计算有林地面积和有林地布点个数,调查人员通过统计布点结果进行分析或者重新布点。实现代码为pResultLayer = pODS.ExecuteSQL("select sum(b_xbmj) as mjh,count(*) as gs from "+ layerName1 + " where b_z_dl='有林地'", null, null)。

3.2.6 界面设计 通过C#编码实现系统界面如图3所示。

3.2.7 布点图 将系统生成的各阶段矢量成果,使用地理信息系统软件,进行制图,展示图框范围布点、调查总体范围布点、有林地范围布点等情况(图4)。

4 小结

文章介绍了GDAL技术、数据准备阶段的二类调查图斑区划与角规控制检尺样地的布设原理,以软件研发的形式,在VS集成开发环境下,采用C#语言调用GDAL类库,实现对图斑区划矢量的读取、生成点状矢量、筛选面状与点状交集、数据统计、输出等功能。通过规范、统一、高效的方式实现控制样地的布设,改变传统布设方法的低效率。

猜你喜欢
布点图斑区划
地理国情监测中异形图斑的处理方法
新安县有序开展卫星遥感监测图斑核查工作
基于C#编程的按位置及属性值自动合并图斑方法探究
南充市滑坡灾害易发性区划与评价
北极地区潜艇破冰上浮风险评估建模与区划仿真
土地利用图斑自动检测算法研究
新时代城市土壤环境监测点位布设应用的研究分析
社区治理如何密织服务网——成都安公社区划了“五条线”
对自然地理区划方法的认识与思考
大气环境监测的布点方法及优化