Рассчитать NDVI для коллекции Landsat - PullRequest
0 голосов
/ 03 октября 2018

Я пытаюсь вычислить ndvi для всей коллекции Landsat.Сначала я удаляю облака, а затем пытаюсь вычислить индекс ndvi следующим образом.К сожалению, я не получаю никаких результатов, у кого-нибудь есть идеи, почему код не работает?

Спасибо

Код:

// Function to cloud mask Landsat 8.
var maskL8SR = function(image) {

// Bits 3 and 5 are cloud shadow and cloud, respectively.
var cloudShadowBitMask = ee.Number(2).pow(3).int();
var cloudsBitMask = ee.Number(2).pow(5).int();

// Get the QA band.
var qa = image.select('pixel_qa');

// Both flags should be set to zero, indicating clear conditions.
var mask = qa.bitwiseAnd(cloudShadowBitMask).eq(0).and(
            qa.bitwiseAnd(cloudsBitMask).eq(0));
   return image

// Scale the data to reflectance and temperature.
   .select(['B4', 'B5'], ['Red', 'NIR']).multiply(0.0001)
   .updateMask(mask);
};


var lst8 = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR')
    .filterDate('2013-04-07', '2018-05-01')
    .filterBounds(geometry)  
    .map(maskL8SR)
    .map(addNDVI_l8).select('NDVI');

lst8 = lst8.map(addNDVI_l8);
lst8 = lst8.filterBounds(geometry);

1 Ответ

0 голосов
/ 23 октября 2018

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, на который стоит обратить внимание.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...