今天分享一下如何在GEE中计算整年影像的可用数量。
在阅读文献的过程中,发现在使用GEE处理影像时,都会说明某年到某年有多少景影像,处理了多少景。并显示出来
GEE调用代码如下:
var geometry = ee.FeatureCollection("users/lilei655123/shanxi");
Map.centerObject(geometry,7)
var styling = {color:"red",fillColor:"00000000"};
Map.addLayer(geometry.style(styling),{},"geometry")
var start='2020-01-1';
var end='2020-12-31';
var DateBand = function(image){
var date1 = image.date().format('YYYYMMdd');
var date = ee.Number.parse(date1);
var DateBand = ee.Image.constant(date).uint32().rename('date')
DateBand = DateBand.updateMask(image.select('B1').mask())
return image.addBands(DateBand);
};
//获取图像
var imgs = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR')
.filterDate(start, end)
.filter(ee.Filter.lt('CLOUD_COVER',5))
.filterBounds(geometry)
.map(DateBand)
.sort('Date')
//获取唯一属性的编号--在本例中,它是图像日期。
var composite= imgs.select('date').reduce(ee.Reducer.countDistinct())
var viz = {min:0, max:30, palette:['0000FF','FDFF92','FF2700','d600ff']};
Map.addLayer(composite,viz, '图像的数量')
var clearL8_date = function(image) {
var qa = image.select('pixel_qa');
var cloud = qa.bitwiseAnd(1 << 5)
.or(qa.bitwiseAnd(1 << 7))
.or(qa.bitwiseAnd(1 << 3))
.or(qa.bitwiseAnd(1 << 4))
var clear=cloud.not().rename('clear')
var date1 = image.date().format('YYYYMMdd');
var date = ee.Number.parse(date1);
var DateBand = ee.Image.constant(date).uint32().rename('date')
DateBand = DateBand.updateMask(image.select('B1').mask())
return clear.multiply(DateBand)
};
var img3=imgs.map(clearL8_date)
var composite2= img3.reduce(ee.Reducer.countDistinct()).subtract(1)
print(composite2)
Map.addLayer(composite2,viz,'无重叠的图像数目')
显示效果:
感谢关注,欢迎转发!
声明:仅供学习使用!如果对你有帮助的话记得给小编点个赞