// COMPARADOR DE IMÁGENES DEL AMAZONAS CON SENTINEL 1, 2, 3 Y 5P // http://www.gisandbeers.com/comparativa-imagenes-del-amazonas-tras-los-incendios/ //////////// SENTINEL 2 //////////// function MascaraNubesS(image) { var qa = image.select('QA60'); var RecorteNubesMascaraS = 1 << 10; var RecorteCirrosMascaraS = 1 << 11; var MascaraS = qa.bitwiseAnd(RecorteNubesMascaraS).eq(0) .and(qa.bitwiseAnd(RecorteCirrosMascaraS).eq(0)); return image.updateMask(MascaraS);} var PreIncendio = ee.ImageCollection('COPERNICUS/S2') // Mejor respuesta visual con productos de nivel 2A frente 1C .filterDate('2019-07-01', '2019-07-31') .map(MascaraNubesS); var medianPreIncendio = PreIncendio.reduce(ee.Reducer.median()); //Mejor respuesta visual frente a .mosaic() var Incendio = ee.ImageCollection('COPERNICUS/S2') // Mejor respuesta visual con productos de nivel 2A frente 1C .filterDate('2019-08-01', '2019-08-31') .map(MascaraNubesS); var mosaicIncendio = Incendio.mosaic(); // Mejor respuesta visual frente a .median() var FalsoColor = {min: 500.0, max: 3000.0, bands: ['B11_median', 'B8_median', 'B2_median'],}; //Composición RGB 11,8,2 (SWIR,NIR,BLUE) var FalsoColor2 = {min: 500.0, max: 3000.0, bands: ['B11', 'B8', 'B2'],}; //Composición RGB 11,8,2 (SWIR,NIR,BLUE) //////////// INDICE NBR //////////// var NBRIncendio= mosaicIncendio.normalizedDifference (['B8','B12']); // Basado en NBR=(NIR–SWIR)/(NIR+SWIR) var NBRPreIncendio= medianPreIncendio.normalizedDifference (['B8_median','B12_median']); // Basado en NBR=(NIR–SWIR)/(NIR+SWIR) var IndiceSeveridad = NBRPreIncendio.subtract(NBRIncendio); // Diferencia entre momentos temporales var SimbolPreNBR = {max: 0.4,min: -0.1, palette: ['#7F0010', '#D99143', '#C04529', '#E02E20', '#EC6521', '#F6D53B']}; var SimbolPostNBR = {max: 0.4, min: -0.1, palette: ['#7F0010', '#D99143', '#C04529', '#E02E20', '#EC6521', '#F6D53B']}; var SimbolSeveridad = {max: 1.0, min: -0.4, palette: ['011301', '011D01', '012E01', '023B01', '004C00', '056201', '207401', '3E8601', '529400', '74A901', '99B718', 'FCD163', 'F1B555', 'DF923D', 'CE7E45', '66A000']}; //////////// INDICE NDVI //////////// var NDVIIncendio= mosaicIncendio.normalizedDifference (['B8','B4']); // Basado en NDVI=(NIR–RED)/(NIR+RED) var NDVIPreIncendio= medianPreIncendio.normalizedDifference (['B8_median','B4_median']); // Basado en NDVI=(NIR–RED)/(NIR+RED) var SimbolNDVI= {max: 1.0, min: 0, palette: ['CE7E45', 'DF923D', 'F1B555', 'FCD163', '99B718', '74A901', '66A000', '529400', '3E8601', '207401', '056201', '004C00', '023B01', '012E01', '011D01', '011301']}; //////////// SENTINEL 3 //////////// var Sentinel3Septiembre = ee.ImageCollection('COPERNICUS/S3/OLCI') .filterDate ('2019-07-01' ,'2019-07-31'); var Sentinel3SeptiembreMedian = Sentinel3Septiembre.reduce(ee.Reducer.median()); var Sentinel3Agosto = ee.ImageCollection('COPERNICUS/S3/OLCI') .filterDate ('2019-08-01' ,'2019-08-31'); var Sentinel3AgostoMedian = Sentinel3Agosto.reduce(ee.Reducer.median()); var SimbolSentinel3 = {min: 20, max: 100, gamma: 1.0, bands: ['Oa08_radiance_median','Oa06_radiance_median','Oa04_radiance_median']}; //////////// SENTINEL 5P //////////// var Sentinel5PSeptiembre = ee.ImageCollection("COPERNICUS/S5P/NRTI/L3_CO") .select('CO_column_number_density') .filterDate('2019-07-01', '2019-07-31'); var Sentinel5PSeptiembreMean = Sentinel5PSeptiembre.reduce(ee.Reducer.mean()); var Sentinel5PAgosto = ee.ImageCollection("COPERNICUS/S5P/NRTI/L3_CO") .select('CO_column_number_density') .filterDate('2019-08-01', '2019-08-31'); var Sentinel5PAgostoMean = Sentinel5PAgosto.reduce(ee.Reducer.mean()); var Monoxido = {min: 0.0, max: 0.06, palette: ["black", "blue", "purple", "cyan", "green", "yellow", "red"]}; //////////// SENTINEL 1 //////////// var Radar = ee.ImageCollection('COPERNICUS/S1_GRD') .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VH')) .filter(ee.Filter.eq('instrumentMode', 'IW')).select('VH') .map(function(image) {var edge = image.lt(-30.0); var maskedImage = image.mask().and(edge.not()); return image.updateMask(maskedImage);}); var OrbitaDescenso = Radar.filter(ee.Filter.eq('orbitProperties_pass', 'DESCENDING')); // No hay series ascendentes completas para la fecha var RadarPreFuego = ee.Filter.date('2019-07-01', '2019-07-31'); var RadarFuego = ee.Filter.date('2019-08-01', '2019-08-31'); var RadarAgosto = ee.Image.cat(OrbitaDescenso.filter(RadarFuego).mean()); var RadarSeptiembre = ee.Image.cat(OrbitaDescenso.filter(RadarPreFuego).mean()); var RadarColor = {min: -25, max: 5}; //////////// COMPARADOR SENTINEL SEPTIEMBRE-AGOSTO 2019 //////////// Map.addLayer (Sentinel3SeptiembreMedian, SimbolSentinel3, 'Sentinel 3 - Septiembre'); Map.addLayer(Sentinel5PSeptiembreMean, Monoxido, 'Sentinel 5P - Monoxido Carbono Septiembre'); Map.addLayer(RadarSeptiembre, RadarColor, 'Sentinel 1 - Radar Septiembre'); Map.addLayer (NBRPreIncendio, SimbolPreNBR, 'NBR Septiembre'); Map.addLayer (NDVIPreIncendio, SimbolNDVI, 'NDVI Septiembre'); Map.addLayer(medianPreIncendio, FalsoColor,'Sentinel 2 - Septiembre'); var Comparador = ui.Map(); Comparador.addLayer (Sentinel3AgostoMedian, SimbolSentinel3, 'Sentinel 3 - Agosto'); Comparador.addLayer (Sentinel5PAgostoMean, Monoxido, 'Sentinel 5P - Monoxido Carbono Agosto'); Comparador.addLayer (RadarAgosto, RadarColor, 'Sentinel 1 - Radar Agosto'); Comparador.addLayer (IndiceSeveridad, SimbolSeveridad, 'Índice severidad de incendio'); Comparador.addLayer (NBRIncendio, SimbolPostNBR, 'NBR Agosto'); Comparador.addLayer (NDVIIncendio, SimbolNDVI, 'NDVI Agosto'); Comparador.addLayer (Incendio, FalsoColor2,'Sentinel 2 - Agosto'); var SWIPE = ui.Map.Linker([ui.root.widgets().get(0), Comparador]); var SWIPE2 = ui.SplitPanel({ firstPanel: SWIPE.get(0), secondPanel: SWIPE.get(1), orientation: 'horizontal', // Cambio a horizontal o vertical wipe: true, style: {stretch: 'both'}}); ui.root.widgets().reset([SWIPE2]); Map.setCenter(-58.161,-19.819, 10);