Desde esta entrada veremos una forma simple de llegar a visualizar la cara de Lionel Messi utilizando imágenes Sentinel 2, y un poco de código escrito dentro de la plataforma Google Earth Engine.
Cabe aclarar, que éste es el resultado de una idea del Ing. Agr. Carlos Faricelli, el cual creo una prescripción en formato vectorial con la cara del capitán de la selección argentina durante el mundial 2022, Lionel Messi.
A su vez, el responsable de materializar la idea en el campo fue el Ing. Agr. Maximiliano Spinazzé utilizando su sembradora Ascanelli equipada con tecnología de la firma Precision Planting.
A continuación el código explicado punto por punto. Para su uso, debes crearte una cuenta en la plataforma de forma gratuita e ir copiando cada parte del mismo. Si lo deseas, puede hacerlo en su totalidad el cual encontrarás al final de esta misma entrada.
En primer lugar llamaremos a nuestro entorno de trabajo al vector del lote con el cual trabajaremos. Será el límite de nuestro espacio en el terreno y se corresponde con una fracción del lote total.
Lo importaremos de una carpeta del usuario de la FCA UNC con el siguiente código:
var lote = ee.FeatureCollection('users/Agro/Lote_LioMessi');
En segundo lugar, llamaremos a las bandas espectrales de la escena sobre la cual calcularemos el índice de vegetación. Se trata de una escena del Satélite Sentinel 2 correspondiente al día 14/01/2023 y cuyo ID se visualiza en el siguiente código. A la misma, aplicaremos una función de acceso directo para calcular el índice de vegetación de diferencia normalizada (NDVI), utilizando las bandas 4 (Rojo) y 8 (Infrarrojo Cercano) del mencionado sensor.
var caradelionel = ee.Image('COPERNICUS/S2_SR_HARMONIZED/20230114T140709_20230114T142129_T20HLK')
.normalizedDifference(['B8', 'B4']);
En tercer lugar definiremos los colores y parámetros con los cuáles representaremos los valores del índice calculado anteriormente.
Se trata de una paleta definida por un usuario de la comunidad, que parte del rojo hasta el verde, pasando por el amarillo, en 10 pasos.
Los parámetros de visualización nos permiten representar todos los valores comprendidos entre el mínimo: 0.23 y el máximo: 0.75, cercanos a los de la escena, calculados ya anteriormente y tomados en este caso de forma arbitraria para simplificar el código.
var paleta = require('users/gena/packages:palettes').colorbrewer.RdYlGn[10];
var visParam = {
min: 0.23,
max: 0.75,
palette: paleta
};
Por último encontraremos 4 líneas:
Las dos primeras agregarán al entorno de visualización de la plataforma el índice calculado, cortado mediante el vector citado en la primera línea de este código, y el perímetro del lote correspondiente a dicho vector.
En la tercera linea, definimos la opción de visualización tipo Satélite del mapa y por último centramos la visualización en el perímetro del lote con un zoom de 16.
Map.addLayer(caradelionel.clip(lote), visParam, "Cara de Lio");
Map.addLayer(lote,{},"Perímetro de Lote", false);
Map.setOptions('SATELLITE');
Map.centerObject(lote, 16);
Dando click en “Run” podemos ejecutar el script para visualizar el resultado.
A continuación el código completo!
var lote = ee.FeatureCollection('users/Agro/Lote_LioMessi');
var caradelionel = ee.Image('COPERNICUS/S2_SR_HARMONIZED/20230114T140709_20230114T142129_T20HLK')
.normalizedDifference(['B8', 'B4']);
var paleta = require('users/gena/packages:palettes').colorbrewer.RdYlGn[10];
var visParam = {
min: 0.23,
max: 0.75,
palette: paleta
};
Map.addLayer(caradelionel.clip(lote), visParam, "Cara de Lio");
Map.addLayer(lote,{},"Perímetro de Lote", false);
Map.setOptions('SATELLITE');
Map.centerObject(lote, 16);