Прежде всего, я создаю две диаграммы, первая называется «plotNDVI», а вторая - «диаграмма». У меня проблемы с обеими диаграммами в части экспорта на диск или в облако (я пытался преобразовать эти элементы как ee.Element, ee.Feature).
После решения этой проблемы идея заключается в том,преобразовать информацию этих диаграмм в JSON (вместо того, чтобы загружать CSV-файл в корзину или диск). Это потому, что легко использовать информацию таким способом в APP ENGINE.
Есть способ экспортировать информацию в формате JSON, или необходимо создать CSV, а затем использовать этот файл для создания моегособственные графики?.
//geometry is a random polygon over the map
var polygon = ee.Geometry.Polygon([
[[-5, 40], [-6, 40], [-6, 40.5], [-5, 40.5], [-5, 40.5]]
]);
//ESTABLECER LAS FECHAS
var f_0 = '2019-01-01';
var f_f = '2019-06-30';
// Create image collection of S-2 imagery
//////////////////////////////////////////////////////////////////////////////////
var S2 = ee.ImageCollection('COPERNICUS/S2')
//filter start and end date
.filterDate(f_0, f_f)
//filter according to drawn boundary
.filterBounds(polygon);
//Function to mask cloud from built-in quality band
//information on cloud
//////////////////////////////////////////////////////////////////////////////////
var maskcloud1 = function(image) {
var QA60 = image.select(['QA60']);
return image.updateMask(QA60.lt(1));
};
//Function to calculate and add an NDVI band
//////////////////////////////////////////////////////////////////////////////////
var addNDVI = function(image) {
return image.addBands(image.normalizedDifference(['B8', 'B4']));
};
// Add NDVI band to image collection
//////////////////////////////////////////////////////////////////////////////////
var S2 = S2.map(addNDVI);
// Extract NDVI band and create NDVI median composite image
//////////////////////////////////////////////////////////////////////////////////
var NDVI = S2.select(['nd']);
var NDVImed = NDVI.median();
// Create a time series chart.
//////////////////////////////////////////////////////////////////////////////////
var plotNDVI = ui.Chart.image.seriesByRegion(S2, geometry,ee.Reducer.mean(),
'nd',500,'system:time_start', 'system:index')
.setChartType('LineChart').setOptions({
title: 'NDVI short-term time series',
hAxis: {title: 'Date'},
vAxis: {title: 'NDVI'}
});
// Display.
//////////////////////////////////////////////////////////////////////////////////
console.log(plotNDVI);
var test = ee.Element(plotNDVI)
// Export the FeatureCollection.
Export.table.toCloudStorage({
collection: test,
description:'chartCloudStorageExample',
bucket: 'maps-agrodatai',
fileNamePrefix: 'experimento_charts',
fileFormat: 'CSV'
});
//cargar la imagen de hansen
//////////////////////////////////////////////////////////////////////////////////
var hansen = ee.Image('UMD/hansen/global_forest_change_2018_v1_6');
//cargar las capas de hansen de interes
//////////////////////////////////////////////////////////////////////////////////
var lossImage = hansen.select(['loss']);
var areaImage = lossImage.multiply(ee.Image.pixelArea());
//sumar los valores de perdida forestal en el polygon.
//////////////////////////////////////////////////////////////////////////////////
var stats = areaImage.reduceRegion({
reducer: ee.Reducer.sum(),
geometry: geometry,
scale: 30,
maxPixels: 1e15
});
//Exptraer la informacion de perdida para hacer el calculo temporal
//generación de la información anual
//////////////////////////////////////////////////////////////////////////////////
var lossAreaImage = lossImage.multiply(ee.Image.pixelArea());
var lossYear = hansen.select(['lossyear']);
var lossByYear = lossAreaImage.addBands(lossYear).reduceRegion({
reducer: ee.Reducer.sum().group({
groupField: 1
}),
geometry: polygon,
scale: 30,
maxPixels: 1e9
});
//el año es el key, y loss area es el valor
//////////////////////////////////////////////////////////////////////////////////
var statsFormatted = ee.List(lossByYear.get('groups'))
.map(function(el) {
var d = ee.Dictionary(el);
return [ee.Number(d.get('group')).format("20%02d"), d.get('sum')];
});
var statsDictionary = ee.Dictionary(statsFormatted.flatten());
//Making a chart
//////////////////////////////////////////////////////////////////////////////////
var chart = ui.Chart.array.values({
array: statsDictionary.values(),
axis: 0,
xLabels: statsDictionary.keys()
}).setChartType('ColumnChart')
.setOptions({
title: 'Yearly Forest Loss',
hAxis: {title: 'Year', format: '####'},
vAxis: {title: 'Area (square meters)'},
legend: { position: "none" },
lineWidth: 1,
pointSize: 3
});
//Mostrar la informacion
//////////////////////////////////////////////////////////////////////////////////
print(chart);
// Export the FeatureCollection.
Export.table.toCloudStorage({
collection: ee.Element(chart),
description:'chartCloudStorageExample',
bucket: 'maps-agrodatai',
fileNamePrefix: 'experimento_charts',
fileFormat: 'CSV'
});