问题描述
假设我们有以下代码用于无监督分类。我的目标是确定整个地区的水体。如何掩盖其他类(集群),并仅在结果中映射一个集群(水体):
// 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();