Skip to content

Ejecicicos en español sobre Jupyter Notebook mediante el paquete de Python, ipyleaflet, y ipywidgets: "geemap", para el mapeo interactivo en Google Earth Engine-GGE, de incendios forestales.

License

Notifications You must be signed in to change notification settings

Alexanderariza/FOREST-FIRES-ON-GEE-GEEMAP

Repository files navigation

FOREST FIRES ON JUPYTER Notebooks-geemap

Logo Head
Logo UNSPIDER
.


Ejecicicos en español sobre Jupyter Notebook y geemap para el monitoreo de incendios forestales

Incendios Forestales en GEE mediante el paquete geemap

Aplicaciones en Google Earth Engine para el monitoreo y manejo de Incendios Forestales.

1. Descripción

La siguiente es una colección de scripts básicos, explicados en español para el procesamiento digital de imágenes en Google Earth Engine (GGE), con el fin de poder trabajar con datos de forma masiva en la nube mediante software de código abierto, como alternativa alos software propietarios de escritorio. Todos los desarrollos descritos a continuación son parte del trabajo desarrollado dentro de la estancia científica en UNSPIDER (oficina de Bonn -Alemania), Febrero de 2020. Este repositorio es una colección de ejemplos earthengine en Jupyter Notebook en Python. Tambien se pueden ver las capas de datos de Earth Engine de forma interactiva en las notebooks Jupyter sin tener que instalar QGIS. En estos ejemplos se están utilizando varios paquetes de Python, incluidos Earth Engine Python API, folium, ipyleaflet y geemap. El paquete geemap Python se basa en los paquetes folium e ipyleaflet e implementa varios métodos para interactuar con las capas de datos de Earth Engine, como Map.addLayer, Map.setCenter, Map.centerObject y Map.setOptions.

Ejercicios básicos de procesamiento digital en Jupyter Notebook

Esta colección se basa en cuadernos Jupyter o Jupyter Notebook, que permiten un alto nivel de aprendizaje interactivo, ya que el código, su descripción y la visualización se combinan en un solo lugar. Si no ha trabajado antes con los Cuadernos Jupyter, puede consultar el módulo Introducción a Python y Project Jupyter para obtener una breve introducción a los cuadernos Jupyter y sus beneficios.

Material organizado por el Alexander Ariza, como apoyo al portal de conocimiento de la oficina de UNSPIDER, 2020.

ÍNDICE GENERAL

A continuación podrá encontrar los siguientes contenidos:

I - INTRODUCCIÓN

II - INSTALACIÓN DE PAQUETES Y LIBRERÍAS

II - PROCESOS Y HERRAMIENTAS BÁSICAS

III - CASOS DE ESTUDIO

NOTA: El contenido de estos cuadernos esta orientado a definir algunas funciones generales para cargar, explorar, procesar y visualizar los conjuntos de datos.

Material organizado por el Alexander Ariza, como apoyo al portal de conocimiento de la oficina de UNSPIDER, 2020.

Logo Head

1. INTRODUCCIÓN

¿Que es Jupyter?

El Proyecto Jupyter es una organización sin ánimo de lucro creado por Fernando Pérez , Brian Granger para "desarrollar software de código abierto, mediante estándares abiertos y servicios para computación interactiva en docenas de lenguajes de programación".

"El nombre del **proyecto Jupyter o Project Jupyter** es una referencia a los tres lenguajes de programación principales soportados por Jupyter, que son `Julia`, `Python` y `R`".

A continuación, veremos una breve descripción del entorno de Jupyter, con énfasis en Jupyter Notebook, para el desarrollo de ejercicios de PDI en GEE y el paquete geemap.

Project Jupyter

Project Jupyter ofrece diferentes herramientas para facilitar la informática interactiva, ya sea con una aplicación basada en la web (Jupyter Notebooks), un entorno de desarrollo interactivo (JupyterLab) o mediante un JupyterHub que lleva la informática interactiva a grupos de usuarios.

"Project Jupyter es una plataforma web que permite desarrollar software de código abierto, estándares abiertos y servicios para computación interactiva en docenas de lenguajes de programación."

Instalando Jupyter con pip

Los usuarios experimentados de Python pueden instalar Jupyter usando el pip del administrador de paquetes de Python. #Asi se hace con Python 3: python3 -m pip install --upgrade pip python3 -m pip install jupyter #Para ejecutar el cuaderno, ejecuta el mismo comando que con la terminal de Anaconda: jupyter notebook

Interfax de Jupyter notebooks

Esta es la descripción general de la Interfax Jupyter Notebook, en donde encontraras entre otras opciones:

  • Tablero de control de Notebook
  • Creando un nuevo notebook
  • Notebook editor (UI)
  • Menu
  • Barra de herramientas
  • Notebook areas y celdas
  • Tipo de celdas
  • Code
  • Markdown

Interfax de usuario del editor de Notebook (GUI)

Atajos en Notebook

Obtenga una descripción general de los accesos directos presionando 'H' o vaya a la ayuda: Help/Keyboard shortcuts

Atajos más comunes:

Presionando la tecla shift más una de las siguientes teclas, podrá ir a los comandos más comunes:

  • Esc - Cambiar a modo de comando
  • B - Insertar debajo
  • A - Insertar encima
  • M - Cambiar celda actual a Markdown
  • Y - Cambiar celda actual a code
  • DD - Borrar celda
  • Enter - Regresar al modo de edición
  • Esc + F - Encontrar y reemplazar su código
  • Shift + Down / Upwards - Seleccione multiples celdas
  • Shift + M - Unir multiples celdas

Celdas mágicas

Los comandos mágicos pueden hacer tu vida mucho más fácil, ya que solo tienes un comando en lugar de una función completa o varias líneas de código.
, e.g:

Ir a un Comando de extensión o vinculo (ejemplo:cargar nueva ventana)

Algunos ejemplos de celdas mágicas

Descripción general: %lsmagic Ver y aparecer variables de entorno: %env Instalar y enumerar bibliotecas: !pip install numpy !pip list | grep pandas Escribir el contenido de una celda en un archivo Python: %%writefile hello_world.py

print('Hola Mundo')

Cargar un archivo Python: %pycat hello_world.py Obtener el tiempo de ejecución: %%time

tmpList = [] for i in range(100): tmpList.append(i+i)

print(tmpList)

Mostrar gráficos de matplotlib en línea: %matplotlib inline

Compartir tus Jupyter Notebooks

  • nbviewer - Una forma sencilla de compartir cuadernos Jupyter, es simplemente pegando la ubicación de GitHub de su computadora portátil Jupyter allí y se muestra muy bien.
  • GitHub - GitHub ofrece una representación interna de los cuadernos Jupyter. Existen algunas limitaciones y retrasos en el tiempo de la representación adecuada. Por lo tanto, sugeriríamos usar nbviewer para compartir cuadernos Jupyter bien representados.

Reproducción de Jupyter Notebooks

Binder le permite abrir cuadernos alojados en un repositorio de Git en un entorno ejecutable, haciendo que el código sea reproducible inmediatamente por cualquier persona, en cualquier lugar.

Binder crea una imagen de Docker del repositorio donde se alojan los cuadernos.

Otros recursos disponibles

2. INSTALACIÓN DEL PAQUETE "Geemap"

Logo CO

Introducción

geemap está destinado a estudiantes e investigadores, a quienes les gustaría utilizar el ecosistema Python de diversas bibliotecas y herramientas para explorar Google Earth Engine. También está diseñado para usuarios de GEE existentes que deseen realizar la transición de la API de JavaScript de GEE a la API de Python. Para ello, se explicara el módulo de conversión automatizado de JavaScript a Python del paquete geemap desarrollado por el Profesor Qiusheng Wu, lo que puede reducir en gran medida el tiempo necesario para convertir los JavaScripts GEE existentes en scripts Python y portátiles Jupyter.

Instalación

Logo conda-force.


geemap también está disponible en conda-forge. Si tiene instalado Anaconda o Miniconda en su computadora, puede crear un entorno conda Python para instalar geemap.

3. USO DEL PAQUETE "Geemap"

A continuación, se describen las funciones mas generales dispuestas en el paquete geemap:

a) Creando un mapa interactivo con el paquete "geemap" para GEE.

b) Principales funciones con el paquete "geemap" para GEE.

4. CONVERSIÓN AUTOMÁTICA DE GEE - Javascripts a Python y Jupyter

Los siguientes ejemplos requieren el paquete geemap, que puede instalarse utilizando pip install geemap. Consulte la sección de Instalación para más información.

Inicie un cuaderno interactivo con Google Colab. Tenga en cuenta que la conversión no siempre funciona a la perfección. Es posible que aún se necesiten cambios manuales adicionales. ui y chart no son compatibles. El código fuente de este módulo de conversión automatizado se puede encontrar en github del Profesor Wu, Q en conversion.py..

Logo UNSPIDER

5. Mapa Interactivo Usando la API geemap en Python 3

Logo CO

Para el siguiente ejercicio, puede iniciar un cuaderno interactivo con Google Colab. Tenga en cuenta que Google Colab actualmente no es compatible con ipyleaflet. Por lo tanto, debe usar import geemap.eefolium en lugar de import geemap. Por otra parte puede si tiene instalado Anaconda, puede correrlo directamente sobre su Jupyter Notebook o en Jupyter Viewer.

Cree un mapa interactivo:

Cree un mapa interactivo de una zona de interés, puede utilizar la herramienta BoundingBox para extraer las coordenadas.

6. ÍNDICE DE ÁREA QUEMADA (NBR) DE MODIS EN AUSTRALIA

Logo CO

Índice Normalizado de Área Quemada (NBR)

El índice Normalizado de Área Quemada (NBR) es un índice diseñado para resaltar áreas quemadas en grandes zonas de incendio. La fórmula es similar a NDVI, excepto que combina el uso de longitudes de onda de infrarrojo cercano (NIR) e infrarrojo de onda corta (SWIR).

Comparación con el NDVI

Puede realizar una comparación entre la respuesta generada por el índice normalizado de área quemada NBR y el Índice de Vegetación NDVI:

NBR

Creditos

EL anterior recopillatorio esta organizado por el Alexander Ariza, como apoyo al portal de conocimiento de la oficina de UNSPIDER, (2020). Incluye colaboraciones del proyecto giswqs descrito y creado en github por el Profesor Wu, Q, del Departamento de Geografía de la Universidad de Tennessee, 2020. Asi como, capacitaciones del programa Copuernicus de la ESA, a traves del programa de capacitacion de EUMETSAT.

Referencias

Para soportar este trabajo, por favor considere citar los siguientes articulos:

  • Wu, Q. (2020). geemap: A Python package for interactive mapping with Google Earth Engine. The Journal of Open Source Software. https://doi.org/10.21105/joss.02305
  • Wu, Q., Lane, C. R., Li, X., Zhao, K., Zhou, Y., Clinton, N., DeVries, B., Golden, H. E., & Lang, M. W. (2019). Integrating LiDAR data and multi-temporal aerial imagery to map wetland inundation dynamics using Google Earth Engine. Remote Sensing of Environment, 228, 1-13. https://doi.org/10.1016/j.rse.2019.04.015 (pdf | source code)

Logo down

Material organizado por el Alexander Ariza, como apoyo al portal de conocimiento de la oficina de UNSPIDER, (2020) .

About

Ejecicicos en español sobre Jupyter Notebook mediante el paquete de Python, ipyleaflet, y ipywidgets: "geemap", para el mapeo interactivo en Google Earth Engine-GGE, de incendios forestales.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published