基于eCognition的面向对象地貌类型分类教程

基于eCognition的面向对象地貌类型分类教程

这个学期上了数字高程模型与数字地形分析(DEM and DTA)这门课,期末汇报的时候想把整门课程的内容综合运用起来,于是便想到了用DEM来做一个地貌分类。

查阅了一些文献和网上教程发现现有的网上的易康教程都是针对面向对象的影像地物分类,而地貌分类只有文献中有提及,还未有较为详细的教程。想到可以把DEM理解为遥感影像,其他用于分类的地形因子可以理解为遥感影像的其他波段,再用影像分类的方法,选取适当的样本和监督分类方法后便能实现地貌的分类。本实验以广东省作为研究区域,进行山地、平原、丘陵、台地四种地貌的分类。

实验软件

用到的软件有:

  • eCognition
  • ArcGIS Pro
  • Matlab

地形因子的提取

参照《面向对象的安徽省基本地貌类型划分方法》这篇文章,选取了坡度、坡度变率、全累计曲率3个微观地形因子和平均高程、地形起伏度、地表切割深度3个宏观地因子,这些地形因子将与DEM进行波段合成,一起作为分类影像输入到易康中。

各个因子的提取网上教程都有,下面主要介绍地形起伏度的提取。

地形起伏度提取通常的做法是通过移动窗口法,将窗口内的最大高程减去最小高程,得到的便是地形起伏度,在进行地形因子的提取的过程中,邻域分析的窗口大小的确定是关键。首先借助文章寻找起伏度最佳窗口、使用arcpy求取地形起伏度的最佳统计单元中的python代码进行地形起伏度不同窗口大小的批量计算。

接着使用下方的matlab代码通过均值变点法求取了最合适窗口大小:

%读取单元起伏度,共18个数据
num = xlsread("C:\Users\86135\Desktop\DEM\均值\qfd.xlsx",'C2:C49');%单元面积起伏度
cell = xlsread("C:\Users\86135\Desktop\DEM\均值\qfd.xlsx",'B2:B49');%格网大小

%计算总体平均值、方差
S = 0,xall = 0;
xall= mean(num);
for i = 1:48
    S = S + (num(i)-xall)^2
end

%计算均值变点法差值

%为保证后面下标统一,创建数组长度为18
A = zeros(1,48),B = zeros(1,48);%A为分割左侧总方差,B为分割右侧总方差
x1 = zeros(1,48),x2 = zeros(1,48);%x1为分割左侧平均值,x2为分割右侧平均值
vari = zeros(1,18),diff = zeros(1,18);%vari为两侧方差和,diff为总方差与每组方差和的差值
for i = 2:48
    x1(i) = mean (num(1:i-1)),x2(i) = mean (num(i:18));
    for j = 1:i-1
        A(i) = A(i) + (num(j)-x1(i))^2
    end
    for k = i:48
        B(i) = B(i) + (num(k)-x2(i))^2
    end
    vari(i) = A(i) + B(i);
    diff(i) = S - vari(i);
end

scatter(cell,diff),hold on,plot(cell,diff);
xlabel('格网大小'),ylabel('S-Si'),axis([3 37 0 130]);

观察折线图,最适窗口大小为21
在这里插入图片描述

其他地形因子的提取网上都能找到相应的教程,各个地形因子的提取结果如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

样本制作

在进行分类前首先要进行训练样本的制作,通过直接目视解译很难得到足够数量的训练样本,本实验的样本选取来自“中国1:100万地貌类型空间分布数据”,数据下载自https://www.resdc.cn/data.aspx?DATAID=124

首先在ArcGIS Pro中打开分类数据,属性表中不同的ID代表了不同的地貌类型。
在这里插入图片描述
在这里插入图片描述

使用工具【创建随机点】创建1000个点作为训练样本和验证样本。
在这里插入图片描述

使用工具【子集要素】对上面得到的随机点进行分割,分割为训练样本和验证样本。在这里插入图片描述

使用工具【值提取到点】将地貌分类数据的值赋值给每个点,这样每个点就具有了这个空间位置上的地貌类型的属性,可以作为样本进行影像分类和精度验证。
在这里插入图片描述

由于原始的地貌分布数据提供的ID值为数字,原始的地貌分类数据的值为数字ID,每个ID代表了相应的地貌类型,由于精力有限,将地貌分类体系简化为山地、平原、丘陵、台地四类。通过【计算字段】添加一个“classname”字段,该字段代表了该样本点所属的地貌类型。在这里插入图片描述

样本导入

易康跟ENVI在样本导入上差别较大,如果需要将在其他软件选取的样本导入到易康中,需要进行一系列的操作。

首先,在process tree中添加进程【chessboard segmentation】,以训练样本作为thematic layer,点击execute,object size设置为999999。chessboard segementation工具的作用是将图像分割为棋盘式的对象。而thematic layer的作用是在分割的时候对矢量图层进行单独分割,object size设置为999999的目的是使得分割对象无限大,无法生成分割对象,只有样本的矢量图层进行了分割。
在这里插入图片描述
在这里插入图片描述

添加进程【assign class by thematic layer】,使用训练样本作为thematic layer,thematic layer name选择为classname,class mode设置为create new class,对上方得到的分割结果进行地物类别的标记。
在这里插入图片描述

添加进程【classified image objects to samples】,将上方标记后的class转换为sample。在这里插入图片描述
在这里插入图片描述

使用classification-sample-creat TTA mask from sample将sample转换为TTA mask。在这里插入图片描述

使用classification-sample-save TTA mask导出样本。在这里插入图片描述

易康中导入影像

打开易康后,分别导入前面提取得到的地形因子和DEM数据作为image layer,最重要的一个地方是一定要在“Nodata”中设置好Nodata value,前面的地形因子提取已经将非广东省的背景区域设置为了-999,因此设置-999作为Nodata Value。

接着导入将训练样本和验证样本导入thematic layer中。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

影像分割

在process tree中添加进程【multiresolution segmentation】,借鉴了参考文献中的参数,分割尺度选择为150,thematic layer全部设置为No,得到分割结果。
在这里插入图片描述
在这里插入图片描述

影像分类

首先进行训练样本的导入,点击classification-sample-load TTA mask,导入的TTA mask文件格式为png,随着继续导入跟上方png文件对应的csv文件,在弹出的窗口中选择否,接着将TTA MASK转换为sample。在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

导入训练样本后,添加进程【classifier】进行监督分类,分类方法我们选择了“SVM”,首先在“operation”中选择“train”。

在这里插入图片描述

在configuration中输入配置文件的名字。
在这里插入图片描述

在Feature中选择所需要的对象的分类特征,在这里我们只选用了各个波段的均值。
在这里插入图片描述

点击execute,然后再次点开该进程,将“operation”修改为“Apply”,点击execute后得到分类结果。在这里插入图片描述
在这里插入图片描述

精度评价

按照同样的方法导入验证样本,导入后,在tools-accuracy assessment中,选择【Error Matrix based on TTA Mask】,生成混淆矩阵以进行精度评价。在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

结果制图

在ArcGIS Pro中打开分类结果,根据属性表,设置合适的符号系统,并在“布局”中添加指北针、比例尺、图例等要素,完成制图。
在这里插入图片描述

在这里插入图片描述

参考文献

[1] 李婧晗, 江岭, 左颖,等. 面向对象的安徽省基本地貌类型划分方法[J]. 地理与地理信息科学, 2018, v.34(05):3+86-91.
[2] 王玲, 吕新. 基于DEM的新疆地势起伏度分析[J]. 测绘科学, 2009, 34(1):4.
[3] 田丹, 刘爱利, 丁浒,等. 地貌形态类型面向对象分类法的改进[J]. 地理与地理信息科学, 2016, 32(2):6.

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值