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 |
// 🌍 **Visualización Optimizada de NDVI en España 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 colección Sentinel-2 (Menos imágenes para mayor velocidad) var s2 = ee.ImageCollection('COPERNICUS/S2') .filterBounds(spain) .filterDate('2023-06-01', '2023-08-31') // Verano: Mayor diferencia en vegetación .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 10)) // Menos del 10% de nubes .map(computeNDVI) .select('NDVI'); // Tomar la mediana para reducir ruido var ndviMedian = s2.median(); // Aplicar máscara para ocultar valores no válidos var ndviMasked = ndviMedian.updateMask(ndviMedian.gt(0)); // Definir paleta de colores para NDVI var ndviPalette = [ 'red', 'orange', 'yellow', 'lightgreen', 'green', 'darkgreen' ]; // Mostrar NDVI en el mapa Map.addLayer(ndviMasked, {min: 0, max: 1, palette: ndviPalette}, 'NDVI Verano 2023'); // 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 = ndviMasked.reduceRegion({ reducer: ee.Reducer.mean(), geometry: point, scale: 30 // Aumentado para reducir carga }); 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); |
