var roi = table.filter(ee.Filter.eq('city','beijing'));
var dataset = ee.ImageCollection('MODIS/061/MOD13Q1')
.filter(ee.Filter.date('2018-01-01', '2018-05-01'))
.median()
.clip(roi);
var ndvi = dataset.select('NDVI');
var ndviVis = {
min: 0,
max: 8000,
palette: [
'ffffff', 'ce7e45', 'df923d', 'f1b555', 'fcd163', '99b718', '74a901',
'66a000', '529400', '3e8601', '207401', '056201', '004c00', '023b01',
'012e01', '011d01', '011301'
],
};
Map.centerObject(roi,9);
Map.addLayer(ndvi, ndviVis, 'NDVI');
var kernel = ee.Kernel.square({radius: 3, units: 'pixels'});
var neighborhoodMean = ndvi.reduceNeighborhood({
reducer: ee.Reducer.mean(),
kernel: kernel
});
var neighborhoodStdDev = ndvi.reduceNeighborhood({
reducer: ee.Reducer.stdDev(),
kernel: kernel
}).rename('NDVI_StdDev');
var gaussianKernel = ee.Kernel.gaussian({
radius: 3,
sigma: 2,
units: 'pixels',
normalize: true
});
var weightedMean = ndvi.convolve(gaussianKernel).rename('NDVI_WeightedMean');
Map.addLayer(neighborhoodMean, ndviVis, 'Neighborhood Mean NDVI');
Map.addLayer(neighborhoodStdDev, ndviVis, 'NDVI_StdDev');
Map.addLayer(weightedMean, ndviVis, 'NDVI_WeightedMean');