我的问题代码如下:
var image = ee.Image(sent2
.filterBounds(geometry2)
.filterDate('2016-01-01', '2016-03-31')
.sort("CLOUD_COVERAGE_ASSESSMENT")
.first());
// print the image to the console.
print("A Sentinel-2 scene:", image);
剪裁研究区域的几何图形
var image1=image.clip(geometry2)
//merging the feature collection collected
var newfc = forest.merge(gram2).merge(baresoil).merge(wheat2).merge(mustard2);
var bands = [ 'B8', 'B4', 'B3'];
var training = image1.select(bands).sampleRegions({collection: newfc, properties: ['landcover'], scale: 10});
使用 CART 训练分类器
var classifier = ee.Classifier.cart().train({features: training, classProperty: 'landcover', inputProperties: bands});
运行分类
var classified = image1.select(bands).classify(classifier);
Map.addLayer(classified, {min: 0, max: 4, palette: '0D5D07','B47610','F7C537','7CE72E','EFF60E']},'classification');
//0 森林 1 裸土 2 克 3 小麦 4 芥末
var PIXEL_SCALE = 10; // Meters. Resolution of most sentinel bands
var PIXEL_AREA = PIXEL_SCALE * PIXEL_SCALE; // Square meters.
计算我们多边形中每个分类的像素数
var regionCoverHistogram = image1.select('classifier') .reduceRegion(ee.Reducer.frequencyHistogram(), geometry2, PIXEL_SCALE);
print('classified class pixel count within region', regionCoverHistogram);
var wheatPixelCount =ee.Dictionary(regionCoverHistogram.get('wheat2')).get(wheat2.toString());
var wheatArea = ee.Number(wheatPixelCount).multiply(PIXEL_AREA);
print('Wheat Area (sq meters) in region', wheatArea);
显示错误如下:
区域字典中的分类类像素计数(错误)Image.select:模式“分类器”与任何波段都不匹配。区域中的小麦面积(平方米)编号(错误)Image.select:模式“分类器”与任何波段都不匹配。