PIE-Engine 教程:水稻面积提取5—精度评定(宿迁市)

我们首先加载我们之前所分类后的结果,然后利用一个函数进行设添加属性,将type的分类分成1,2,3,然后将三者结合在一起,

sampleRegions(collection,properties,scale,projection,tileScale,geometries)

从Image中随机采样,返回结果是一个FeatureCollection,FeatureCollection下的每一个Feature中存储采样点的相应波段的信息

方法参数:

- image(Image)

Image实例。

- collection(FeatureCollection)

样本点,需要包括分类字段

- properties(List)

采样保留字段集合

- scale(Float)

图像采样比例尺

- projection(String)

未启用

- tileScale(Float)

未启用

- geometries(Boolean)

未启用

返回值:Image

errorMatrix(actual,predicted,order)

通过比较FeatureCollection的两列(一列包含实际值,另一列包含预测值),计算FeatureCollection的二维错误矩阵,其中数值从0开始。矩阵的轴0(行)对应于实际值,轴1(列)对应于预测值。

方法参数:

- featureCollection(FeatureCollection)

FeatureCollection实例

- actual(String)

包含实际值的属性的名称。

- predicted(String)

包含预测值的属性的名称。

- order(List)

未启用

返回值:ConfusionMatrix

acc()

混合矩阵的精确度计算结果

方法参数:

- ConfusionMatrix(Object)

混合矩阵对象

返回值:Number

kappa()

返回混合矩阵的kappa系数

方法参数:

- ConfusionMatrix(Object)

混合矩阵对象

返回值:Number

代码:

/**
 * @Name    :   基于 PIE Engine Studio 的水稻自动提取
 * @Author  :   武汉大学VHR队
 * @Desc    :   淮安市水稻提取 - 精度评价
 * @Source  :   航天宏图第四届 “航天宏图杯”PIE软件二次开发大赛云开发组三等奖获奖作品
 */

//5.精度评价
//导入验证样本
var isa = pie.FeatureCollection('user/pieadmin/saas/06/ivali_sa');
var forest = pie.FeatureCollection('user/pieadmin/saas/06/vali_forest');
var water = pie.FeatureCollection('user/pieadmin/saas/06/vali_water');
var rice = pie.FeatureCollection('user/pieadmin/saas/06/vali_rice');

//给验证样本添加属性type,1为水稻,2为其他地物
var rice = rice.map(function(feature) { return feature.set("type", "1") })
var forest = forest.map(function(feature) { return feature.set("type", "2") })
var isa = isa.map(function(feature) { return feature.set("type", "2") })
var water = water.map(function(feature) { return feature.set("type", "2") })
var norice = water.merge(forest).merge(isa);
var sample = rice.merge(norice);

//选择用于淮安市精度评价的图像
var image = pie.Image('user/pieadmin/saas/06/result_0724_acc').select('B1').rename('predict');


//支持向量机结果的路径:'user/pieadmin/saas/06/svmrice_acc'
//随机森林结果的路径:'user/pieadmin/saas/06/rfrice_acc'
//阈值筛选后最终结果路径:'user/pieadmin/saas/06/result_0724_acc'   

//获得验证样本
var validation = image.sampleRegions(sample, ["type"], 30);

//混淆矩阵计算
var class_11 = validation.filter(pie.Filter.eq('type', 1)).filter(pie.Filter.eq('predict', 1)).size();
var class_12 = validation.filter(pie.Filter.eq('type', 1)).filter(pie.Filter.eq('predict', 2)).size();
var class_21 = validation.filter(pie.Filter.eq('type', 2)).filter(pie.Filter.eq('predict', 1)).size();
var class_22 = validation.filter(pie.Filter.eq('type', 2)).filter(pie.Filter.eq('predict', 2)).size();
var sum = validation.filter(pie.Filter.eq('type', 2).and(pie.Filter.eq('predict', 2))).size()

//print(sum)
print(class_11);
print(class_21);
print(class_12);
print(sum);

//精度评价,输出OA,KAPPA
var errorM = validation.errorMatrix("type", "predict");
print(errorM);
print(errorM.acc());
print(errorM.kappa());

猜你喜欢

转载自blog.csdn.net/qq_31988139/article/details/127039897