GEE имеет встроенную функцию для вычисления NDVI
выбор изображения
var image = ee.Image(
l8.filterBounds(point)
.filterDate('2015-01-01', '2015-12-31')
.sort('CLOUD_COVER')
.first()
);
вычисление ndvi
var ndvi = image.normalizedDifference(['B5', 'B4']).rename('NDVI');
отображение изображения
Map.centerObject(image, 9);
var ndviParams = {min: -1, max: 1, palette: ['blue', 'white', 'green']};
Map.addLayer(ndvi, ndviParams, 'NDVI image');
без функции
var nir = image.select('B5');
var red = image.select('B4');
var ndvi = nir.subtract(red).divide(nir.add(red)).rename('NDVI');
над коллекцией
var addNDVI = function(image) {
var ndvi = image.normalizedDifference(['B5', 'B4']).rename('NDVI');
return image.addBands(ndvi);
};
var withNDVI = l8.map(addNDVI);
Все эти примеры взяты из очень хорошего учебника , написанного GEE, на который стоит обратить внимание.