1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
// ❄️ **Visualización del NDVI en España durante el Invierno con Sentinel-2** 🌱 // Definir el área de estudio: España var spain = ee.FeatureCollection("FAO/GAUL/2015/level0") .filter(ee.Filter.eq('ADM0_NAME', 'Spain')); // Función para calcular NDVI function computeNDVI(image) { var ndvi = image.normalizedDifference(['B8', 'B4']).rename('NDVI'); return image.addBands(ndvi); } // Filtrar imágenes Sentinel-2 para el invierno (Diciembre - Febrero) var s2_winter = ee.ImageCollection('COPERNICUS/S2') .filterBounds(spain) .filterDate('2023-12-01', '2024-02-28') // Invierno .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 15)) // Menos del 15% de nubes .map(computeNDVI) .select('NDVI'); // Calcular la mediana para evitar anomalías var ndviWinterMedian = s2_winter.median(); // Aplicar máscara para ocultar valores no válidos var ndviWinterMasked = ndviWinterMedian.updateMask(ndviWinterMedian.gt(0)); // Definir una paleta de colores más fría para el NDVI invernal var ndviWinterPalette = [ '#000080', // Azul oscuro - Sin vegetación '#0033CC', // Azul medio - Baja vegetación '#0080FF', // Azul claro - Vegetación muy escasa '#00CC99', // Verde azulado - Vegetación escasa '#33CC33', // Verde medio - Vegetación moderada '#008000', // Verde oscuro - Vegetación densa '#004D00' // Verde muy oscuro - Bosques densos ]; // Mostrar NDVI en el mapa Map.addLayer(ndviWinterMasked, {min: 0, max: 1, palette: ndviWinterPalette}, 'NDVI Invierno 2023-24'); // Centrar el mapa en España Map.setCenter(-3.7038, 40.4168, 6); // 🔎 **Inspector de NDVI en clics del usuario** var inspector = ui.Panel([ui.Label('Haz clic en un punto para ver su NDVI.')]); Map.onClick(function(coords) { var point = ee.Geometry.Point([coords.lon, coords.lat]); var sample = ndviWinterMasked.reduceRegion({ reducer: ee.Reducer.mean(), geometry: point, scale: 30 // Aumento del valor para mejorar rendimiento }); sample.evaluate(function(result) { inspector.widgets().set(0, ui.Label( 'NDVI en (' + coords.lon.toFixed(3) + ', ' + coords.lat.toFixed(3) + '): ' + (result.NDVI ? result.NDVI.toFixed(3) : 'No disponible') )); }); }); ui.root.insert(1, inspector); |
