• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar al pie de página
logo web Geoinnova

Geoinnova

Consultoría y Formación en SIG y Medio Ambiente

  • Geoinnova
    • Asociación
    • Equipo
    • Visor de proyectos Geoinnova
    • Geolibrería
    • Alianzas Estratégicas
  • Consultoría
    • Consultoría y Desarrollo en Sistemas de Información Geográfica
    • Consultora Ambiental
    • Turismo sostenible
    • Planificación urbana y ordenación del territorio
    • Planes Urbanos de Actuación Municipal – PUAM
    • Geomarketing
  • Servicios
    • Planero Web
    • QElectricGIS
    • Plugins
  • Formación
    • Todos los cursos
    • Webinars
    • Máster y Diplomas
    • Cursos de ArcGIS
    • Cursos de QGIS
    • Cursos de Teledetección
    • Cursos de Medioambiente
  • Medio Ambiente
    • Consultora Ambiental
    • Estudios ambientales para proyectos de energías renovables
    • Estudios de Impacto e Integración Paisajística
    • Evaluación Ambiental Estratégica de planes y programas
    • Estudio de Impacto Ambiental para proyectos
    • Cálculo huella de carbono
    • Educación Ambiental
    • Cursos de Medioambiente
  • Coworking
  • Blog
    • SIG
    • Medio Ambiente
    • Teledetección
    • Programación y Desarrollo SIG
    • Corporativo
  • Contacto
    • Soporte de Clientes – Tickets
Teledetección

Mi primer script con Google Earth Engine

13/05/2021 4 comentarios

¿Todavía no has probado a hacer un script con Google Earth Engine? Que la programación no te asuste. Con sencillos pasos a realizar y algunas nociones de trabajo del entorno de Earth Engine puedes consultar imágenes satélite, datos climáticos, Modelos Digitales de Elevación, variables socioeconómicas o incluso subir a la nube tus propios datos para procesarlos y representarlos en el visor de GEE.

Para que veas lo fácil que puede ser construir un sencillo script, aquí tienes los pasos a dar a la hora de consultar y representar tus imágenes con escuetas líneas de código. En cinco minutos puedes montar tu primer script con Google Earth Engine.

Script Google Earth Engine
Script Google Earth Engine

Lo primero que necesitarás será activar el acceso a la plataforma GEE desde tu cuenta de Google. El acceso es gratuito y en unas horas te darán acceso a la plataforma. Solo deberás rellenar un sencillo formulario exponiendo tus inquietudes y perspectivas con el uso de la herramienta.

Una vez tengas acceso al entorno de Earth Engine, podrás visualizar su interfaz. Desde el editor de scripts, situado en la zona superior, podrás plantear el código necesario para adquirir, procesar y visualizar las imágenes mientras observas los resultados en el visor o en la consola, situados abajo y a la derecha de la vista. Puedes representar imágenes, generar gráficas, componer timelapses, exportar datos o visualizar propiedades de las imágenes desde la consola y el visor.

Consola Google Earth Engine
Consola Google Earth Engine

Lo primero que tendrás que hacer será generar una variable que permita llamar a una colección de datos o imágenes en las que estás interesado y esté disponible en Earth Engine. Por ejemplo, datos de imágenes satélite de Sentinel 2 corregidas atmosféricamente. Conseguirás acceder a esta información utilizando la colección «COPERNICUS/S2_SR».

var ColeccionSentinel = ee.ImageCollection("COPERNICUS/S2_SR")

Ten en cuenta que diariamente se generan múltiples imágenes, por lo que puedes aplicar filtros de búsqueda basados en fechas, límites geográficos, cobertura de nubes y otros atributos específicos de la colección. Así reducirás el número de resultados y podrás acotar exactamente a aquello que deseas. Digitalizando desde el visor, una zona geográfica de interés, conseguirás filtrar la zona de trabajo a representar.

Delimitación de AOI en Google Earth Engine
Delimitación de AOI en Google Earth Engine

Fechas y cobertura de nubes son los parámetros más limitantes utilizados habitualmente para aplicar filtros. Puedes ampliar tu código de script de la siguiente manera.

var ColeccionSentinel = ee.ImageCollection("COPERNICUS/S2_SR");
   .filterBounds (geometry)
   .filterDate ('2020-08-01' ,'2020-08-30')
   .filterMetadata ('CLOUDY_PIXEL_PERCENTAGE', 'Less_Than', 10);

Cuando filtres y accedas al conjunto de datos podrás gestionar los resultados para hacer algo específico con ese volumen de datos. Puedes seleccionar una imagen concreta u obtener una imagen compuesta como combinación de todos los resultados. Por ejemplo, puedes crear una nueva variable que te permita seleccionar la primera imagen disponible de del periodo temporal establecido.

var ZonaAOI = ColeccionSentinel.first();

A partir de tu resultado, será necesario analizar datos o representarlos de forma directa en el visor de Google Earth Engine. Entre las miles de opciones, puedes tratar de componer un índice multiespectral. Por ejemplo, un índice de vegetación NDVI, que te ayude a realzar la presencia de masas vegetales frente a zonas desnudas o masas de agua trabajando las bandas del infrarrojo (NIR) y el rojo visible. Una nueva variable y el juego de bandas clave crearán el indicador buscado.

var NDVI = ZonaAOI.normalizedDifference (['B8', 'B4']);

Si quieres representar adecuadamente los datos del índice de vegetación deberás trabajar la simbología. De esta forma podrás vincular colores a resultados. A partir de una nueva variable, e incorporando una paleta de colores conseguirás rampear tus resultados entre los valores máximos y mínimos deseados.

var SimbologiaNDVI  = {min:0, max: 1, opacity: 1,
    palette: ['#0000ff','F1B555','99B718','66A000','3E8601','056201','023B01','011D01']};

O si lo que quieres es hacer una simple representación RGB por combinación de bandas, deberás indicar el orden de las mismas para generar ese filtro temático. Por ejemplo, puedes simbolizar tu índice NDVI a la vez que representas una combinación de bandas analíticas basadas en el infrarrojo cercano para seguir trabajando aspectos forestales o cultivos agrícolas.

Imagenes-satelite-Google-Earth-Engine
Imagenes satelite Google Earth Engine

Ahora solo te queda visualizar los datos en el visor de Google Earth Engine. Para eso deberás parametrizar la representación incorporando las variables a mostrar, la simbología a emplear, bandas de trabajo,e incluso asignarle un nombre a las capas temáticas que se mostrarán en el visor.

Map.addLayer (ZonaAOI, {
   max: 6500.0, 
   min: 0.0, 
   gamma: 1.0, 
   bands: ['B8', 'B4', 'B3']},
   'Filtro NIR para vegetacion');
Map.addLayer (NDVI, SimbologiaNDVI, 'Índice NDVI');

Desde la zona superior del editor de scripts de Earth Engine, puedes correr el script con la opción RUN y visualizar tus datos en la vista interpretando resultados.

Script-NDVI-vegetación-Google-Earth-Engine
Script NDVI vegetación Google-Earth Engine
Script RGB Earth Engine
Script RGB Earth Engine

Con un poco más de soltura puedes trabajar infinidad de opciones. Desde elaborar gráficas hasta hacer reclasificaciones supervisadas o paneles interactivos para comparar datos temporales.

Apúntate a nuestra newsletter semanal

"*" señala los campos obligatorios

Consentimiento*
Este campo es un campo de validación y debe quedar sin cambios.

Información legal

Cumplimos el RGPD (Reglamenteo General de Protección de Datos) y esta en la primera información que debes saber. Responsable: Asociación Geoinnova. Finalidad: Apuntarte en nuestra base de datos para poder enviarte nuestra newsletter y cualquier otra información de interes. Legitimidad: Nos das tu consentimiento para comunicarnos contigo. Derechos: Tienes derecho a acceder, rectificar, limitar y suprimir tus datos. Para una información más ampliada entra a nuestra política de privacidad.

Artículos relacionados

Interpolar celdas vacias cloudcompare
Interpolar celdas vacías de un ráster creado a partir de LiDAR con CloudCompare
24/02/2023
Composición RGB (VV,VH,VV) luego de realizar la corrección topográfica.
Correcciones radiométrica y geográfica en imágenes Radar
13/02/2023
Pansharpening en SNAP. Mejora tus imágenes satelitales usando la banda pancromática.
16/12/2022

Roberto Matellanes Ferreras

Licenciado en Ciencias Ambientales con experiencia como responsable en la elaboración de cartografía nacional vinculada al Inventario Español del Patrimonio Natural y de la Biodiversidad en el Ministerio de Agricultura, Alimentación y Medio Ambiente, incluyendo la elaboración y gestión de la distribución de especies de flora y fauna así como hábitat y espacios naturales protegidos. Técnico de Evaluaciones de Impacto Ambiental en proyectos de repercusión ambiental para empresas y organismos públicos como Dragados, Canal de Isabel II, Eptisa, FCC, Isolux y diversas Confederaciones Hidrográficas.

Interacciones con los lectores

Comentarios

  1. Lucas dice

    30/03/2022 a las 13:27

    Hola Roberto, cómo andas? te consulto: se puede agregar un filtro para que solo queden imagenes de ndvi con valores mayores a por ejemplo: 0.3.
    Muchas gracias!

    Responder
    • Roberto dice

      30/03/2022 a las 20:19

      Hola Lucas!!
      Pues no sé bien si he entendido lo que quieres hacer. Creo que a lo que te refieres es a disponer de las partes de la imagen que te advierta de las superficies que realmente tienen una vegetación importante y filtrar a partir de 0.3, ¿no?
      Para eso puedes reclasificar la imagen y que te muestre el rango o los rangos de valor de interés. Puedes hacer tantos intervalos como quieras. Sería algo tal que así:

      var Clasificacion = NDVI
      .where (NDVI.lte(0), 1) //y discriminas la zona acuatica
      .where (NDVI.gt(0).and (NDVI.lte(0.3)), 2) // y discriminas zona sin vegetación
      .where (NDVI.gt(0.3), 3); // y discriminas la vegetacion que buscas

      Responder
  2. Jorge Castillo dice

    06/08/2021 a las 16:15

    Cordial saludo:
    Gracias por compartir sus conocimientos excelente explicación.

    Podría por favor indicarme como se obtienen los valores mínimos, máximos y el gamma cuando se va a visualizar una imagen, son arbitrarios, he visto que son diferentes en las imágenes Landsat y Sentinel.

    Éxitos

    Responder
    • Roberto dice

      11/08/2021 a las 19:47

      Los valores maximos y mínimos dependen de la imagen y el satélite. Landsat por ejemplo tiene un rango de 0 a 1 y Sentinel puede llegar a los 5000-7000. Cada imagen tiene unos valores de píxel diferentes que son los que permiten calibrar visualmente la imagen. Puedes determinar el valor máximo y el valor mínimo haciendo una impresión de la imagen en la consola y viendo los valores max y min desde sus atributos con «print (variable)». Pero no necesariamente tienes que coger esos valores. Puedes modificarlos para conseguir mayor o menor contraste en la imagen y darle más brillo, por ejemplo, cuando se trata de imágenes más oscuras o que territorialmente tienen elementos más oscuros con escaso contraste entre elementos, como un bosque.

      Responder

¿Quieres comentarnos algo? Adelante! Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Footer

Menú Legal

  • Aviso Legal
  • Política de privacidad
  • Política de cookies
  • Términos y condiciones

Otras páginas de interes

  • Promociones y descuentos en formación
  • Formación bonificada FUNDAE

Contacto

Calle Luis Morondo Urra nº 8 Bajo A
31006 Pamplona (Navarra)
info@geoinnova.org
+34 948 117 137

Horario de atención

Lunes a Viernes - 09:00 a 14:00 y de 16:00 a 19:00.
Fines de semana y Festivos - Exclusivamente por mail.
Horario de Verano (01 de julio al 30 de agosto): De lunes a viernes de 8 a 15h.

Síguenos en Redes Sociales

Apúntate a nuestra newsletter

"*" señala los campos obligatorios

Consentimiento*
Este campo es un campo de validación y debe quedar sin cambios.

Entidad adherida a Confianza Online Certificado de inscripción en el Registro de huella de carbono, compensación y proyectos de absorción Logo Plazox

© 2023 · Desarrollada por Geoinnova en colaboración con OikosMSP

Gestionar el Consentimiento de las Cookies
Utilizamos tecnologías como las cookies para almacenar y/o acceder a la información del dispositivo. Lo hacemos para mejorar la experiencia de navegación y para mostrar anuncios personalizados. El consentimiento a estas tecnologías nos permitirá procesar datos como el comportamiento de navegación o las identificaciones únicas en este sitio. No consentir o retirar el consentimiento, puede afectar negativamente a ciertas características y funciones.
Funcional Siempre activo
El almacenamiento o acceso técnico es estrictamente necesario para el propósito legítimo de permitir el uso de un servicio específico explícitamente solicitado por el abonado o usuario, o con el único propósito de llevar a cabo la transmisión de una comunicación a través de una red de comunicaciones electrónicas.
Preferencias
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario.
Estadísticas
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos. El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos anónimos. Sin una requerimiento, el cumplimiento voluntario por parte de su proveedor de servicios de Internet, o los registros adicionales de un tercero, la información almacenada o recuperada sólo para este propósito no se puede utilizar para identificarlo.
Marketing
El almacenamiento o acceso técnico es necesario para crear perfiles de usuario para enviar publicidad, o para rastrear al usuario en un sitio web o en varios sitios web con fines de marketing similares.
Administrar opciones Gestionar los servicios Gestionar proveedores Leer más sobre estos propósitos
Preferencias
{title} {title} {title}