问题:之前在使用ArcGIS生成混淆矩阵时,遇到了一定的困难,使用ArcMap中的【计算混淆矩阵】模块不够灵活,经过一定的尝试后,整理出了一个可以完全在ArcMap上进行操作的精度验证方法。


文章目录

  • 前言
  • 1.构成样本点
  • 2.将待验证数据和参考数据提取至样本点
  • 3.计算混淆矩阵
  • 4.注意事项



前言

文章主要内容为,使用ArcGIS对分类或其他数据结果,基于混淆矩阵进行精度验证。

1.构成样本点

1)使用ArcMap【数据管理工具】->【采样】模块中的【创建渔网】或【创建随机点】模块,根据自身需要构建一定数量的样本点。

  • 【创建渔网】

模板范围选择研究区范围的矢量图层,【像元宽度】和【像元高度】或【行数】和【列数】根据自身需要选填一组,【创建标注点】需要勾选。

  • 【创建随机点】

【约束要素类】选择研究区范围的矢量图层,根据需要选择【点数】数量。

2)打开样本点的属性表,添加字段Classified和GrndTruth,类型为短整型。

2.将待验证数据和参考数据提取至样本点

分别将待验证数据和参考数据在样本点位置上的值提取至样本点(下文将详细讲述具体操作),并使用属性表中的【字段计算器】分别赋值给Classified(待验证数据)和GrndTruth(参考数据)字段。

样本点位置上的值提取至样本点详细方法:

  • 将栅格值提取至点

使用【Spatial Analyst 工具】->【提取分析】->【多值提取至点】将栅格数据提取至样本点

  • 将矢量值提取至点

1)打开样本点属性表,【表选项】->【连接和关联】->【连接】

2)在“要将哪些内容连接到该图层?”下选择【基于空间位置的另一图层的数据】;图层选择待提取图层;在“每个点都将被指定以下面的所有属性”下选择【落入其中的面】;选择将图层保存到的位置。

3.计算混淆矩阵

将待验证数据和参考数据都提取至样本点后,检查样本点的Classified(待验证数据)和GrndTruth(参考数据)字段是否已经被正确赋值。

使用【Spatial Analyst 工具】->【影像分割和分类】->【计算混淆矩阵】工具,选择样本点,并填写混淆矩阵输出位置完成混淆矩阵计算。

注意:填写混淆矩阵输出位置时需要制定保存格式为.dbf,如:E:\***\confusion_mix.dbf

4.注意事项

由于面要素(矢量)值提取至点时,需要重新保存样本点,所以当需要提取的数据包含矢量和栅格两种类型时,可优先提取矢量数据。

在计算时间序列(多个时间节点)数据的混淆矩阵时,可利用同一样本点位置,通过修改ClassifiedGrndTruth字段达到对不同时间节点进行精度评价的目的。