Quiero exportar como un CSV los valores medios de NDVI para los subdistritos contenidos dentro de la característica NAME_3 de mi shapefile. Actualmente tengo el siguiente código, pero no estoy pudiendo exportarlo con una columna por año (entre 1994 y 2011):
var shp4 = ee.FeatureCollection('users/dermont/GADMVGrassSimplify');
Map.addLayer(shp4, {}, 'Mi Polígono');
var districts = shp4.filter(filter);
var districtsindo = shp4.select('NAME_3');
var startYear = 1994
var endYear = 2011
var means = ee.Image(
ee.List.sequence(startYear, endYear)
.iterate(
function(year, acc) {
return ee.Image(acc).addBands(
yearlyMeans(ee.Number(year))
)
},
ee.Image([])
)
)
var ndviPerdistrict = means.reduceRegions({
collection: districtsindo,
reducer: ee.Reducer.mean().forEachBand(means),
scale: 30
})
function removegeo(feature) {
feature = feature.setGeometry(null);
return feature
}
var ndvi_district = ndviPerdistrict.map(removegeo);
var columns = ['distrito'].concat(sequence(startYear, endYear))
Export.table.toDrive({
collection: ndvi_district,
description: 'ndviPorParroquia',
selectors: columns
})
function yearlyMeans(year) {
var startDate = ee.Date.fromYMD(year, 1, 1)
var endDate = startDate.advance(1, 'year')
var landsat = ee.ImageCollection(ee.ImageCollection("LANDSAT/LT05/C02/T2_TOA"))
.filterBounds(districtsindo)
.filterDate(startDate, endDate)
var addNDVI = function(image) {
return image
.normalizedDifference(['B4', 'B3'])
.rename(year.format('%d')) // Renombrar banda de NDVI al año actual
}
return landsat.map(addNDVI).mean()
}
// Crear secuencia del lado del cliente
function sequence(from, to) {
return Array.apply(null, {length: to - from + 1})
.map(function (_, i) {
return i + from
})
}