Извлечь индекс растительности по точкам за сбор в GEE - PullRequest
0 голосов
/ 17 октября 2019

Как я могу извлечь индексные точки растительности по коллекциям, адаптировав этот красивый код @Rodrigo E. Principe:

Извлечение значений пикселей по точкам и преобразование в таблицу в Google Earth Engine

Я пытаюсь извлечь все значения, которые приводят к сбою в GEE, так что только NDVI или EVI могут работать нормально.

1 Ответ

0 голосов
/ 18 октября 2019

Я мог бы сделать с учебником https://developers.google.com/earth-engine/tutorial_api_06

 // Dataset do sensor LS8
var dataset = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA')
                  //.filterDate('2014-04-01', '2015-03-31')
                  //.filterDate('2015-04-01', '2016-03-31')
                  //.filterDate('2016-04-01', '2017-03-31')
                  //.filterDate('2017-04-01', '2018-03-31')
                  .filterDate('2018-04-01', '2019-03-31')
                  .select('B5', 'B4')
                  .filterBounds(aoi6010)
                  //.map(maskL8)
                  .filter(ee.Filter.lt('CLOUD_COVER', 20));
//print (dataset);



Map.centerObject(aoi6010, 12);
//Map.addLayer(dataset);
//Map.addLayer(p601814,{color: 'FF0000'}, 'PONTOS');

var addNDVI = function(image) {
  var ndvi = image.normalizedDifference(['B5', 'B4']).rename('NDVI');
  return image.addBands(ndvi);
};

var withNDVI = dataset.map(addNDVI);

print (withNDVI);

// Empty Collection to fill
var ft = ee.FeatureCollection(ee.List([]))

var fill = function(img, ini) {
  // type cast
  var inift = ee.FeatureCollection(ini)

  // gets the values for the points in the current img
  var ft2 = img.reduceRegions(p601018, ee.Reducer.first(),30)

  // gets the date of the img
  var date = img.date().format()

  // writes the date in each feature
  var ft3 = ft2.map(function(f){return f.set("date", date)})

  // merges the FeatureCollections
  return inift.merge(ft3)
}

// Iterates over the ImageCollection
var newft = ee.FeatureCollection(withNDVI.iterate(fill, ft))
...