如何仅显示Goole Earth Engine无人监督分类中的一个集群

问题描述

假设我们有以下代码用于无监督分类。我的目标是确定整个地区的水体。如何掩盖其他类(集群),并仅在结果中映射一个集群(水体):

// Load a pre-computed Landsat composite for input

var input = ee.Image('LANDSAT/LE7_TOA_1YEAR/2001');

// Define a region in which to generate a sample of the input.

var region = ee.Geometry.Rectangle(29.7,30,32.5,31.7);

// display the sample region.

Map.setCenter(31.5,31.0,8);

Map.addLayer(ee.Image().paint(region,2),{},'region');

// Make the training dataset.


var training = input.sample({
  region: region,scale: 30,numPixels: 5000
});

// Instantiate the clusterer and train it.

var clusterer = ee.Clusterer.wekaKMeans(5).train(training);

// Cluster the input using the trained clusterer.

var result = input.cluster(clusterer);

// display the clusters with random colors.

Map.addLayer(result.randomVisualizer(),'clusters');

解决方法

我只需要簇(0),所以我可以使用下面的代码屏蔽其余的类:

// showing only one cluster.
var subset = result.select("cluster").eq(0).selfMask();

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...