Protocolo para la clasificación de la cobertura forestal ...

30
Título de la Publicación: Texto Normal | 1. Protocolo para la clasificación de la cobertura forestal de mosaicos satelitales del sensor LANDSAT

Transcript of Protocolo para la clasificación de la cobertura forestal ...

Page 1: Protocolo para la clasificación de la cobertura forestal ...

Título de la Publicación: Texto Normal | 1.

Protocolo para la clasificación de la cobertura forestal de mosaicos satelitales del sensor LANDSAT

Page 2: Protocolo para la clasificación de la cobertura forestal ...

Publicado por Deutsche Gesellschaft für Internationale Zusammenarbeit (GIZ) GmbH

Domicilios de la empresa

Bonn y Eschborn, Alemania Programa Regional Reducción de Emisiones por Deforestación y Degradación de Bosques en Centroamérica y República Dominicana (REDD/CCAD-GIZ) Agencia de la GIZ Bulevar Orden de Malta, Casa de la Cooperación Alemana Urbanización Santa Elena, Antiguo Cuscatlán, La Libertad El Salvador, C.A. Tel +503 2121-5100 Fax +503 2121-5101 E-Mail [email protected] www.giz.de www.reddccadgiz.org Versión Octubre 2018 Diseño Oscar Rodríguez, Asesor Técnico en Comunicación Estratégica Programa Regional REDD/CCAD-GIZ [email protected] Créditos fotográficos Todas las fotos: Programa Regional REDD/CCAD-GIZ Autores Omar Orellana Díaz Consultor, Especialista en Tecnologías de Información Geográfica Supervisión Abner Jiménez, Especialista Sectorial Programa Regional REDD/CCAD-GIZ [email protected] Componente Monitoreo Forestal La GIZ es responsable del contenido de la presente publicación. El Programa Regional Reducción de Emisiones de la Deforestación y Degradación de Bosques en Centroamérica y República Dominicana (REDD III) es un programa financiado por el Ministerio Federal de Desarrollo Económico y Cooperación de Alemania (BMZ) y ejecutado por la GIZ en coordinación con la Comisión Centroamericana de Ambiente y Desarrollo (CCAD).

Protocolo para la clasificación de la cobertura forestal de mosaicos satelitales del sensor Landsat By Programa Regional Programa Regional Reducción de Emisiones por Deforestación y Degradación de Bosques en Centroamérica y República Dominicana (REDD/CCAD-GIZ) is licensed under a Creative Commons Reconocimiento-NoComercial 4.0 Internacional License Creado a partir de la obra en www.reddccadgiz.org

Page 3: Protocolo para la clasificación de la cobertura forestal ...

TABLA DE CONTENIDO

I. ACRÓNIMOS .......................................................................................................... 3

II. Introducción .............................................................................................................. 4

III. RESUMEN Y DESCRIPCIÓN DEL SCRIP ........................................................ 5

IV. DIAGRANA DE FLUJO DEL PROCESO ........................................................... 6

V. METOLOGÍA PARA LA CLASIFICACIÓN DE LA COBERTURA FORESTAL

7

5.1. Pasos previos al proceso de clasificación .......................................................... 7

5.2. Asignación de muestras para el entrenamiento .................................................. 8

5.2.1. Configurar los campos de las muestras para cada cobertura ...................... 8

5.2.2. Asignar muestras sobre el mosaico a clasificar .......................................... 9

5.2.3. Ver la información de las colecciones de puntos de muestra ................... 10

5.2.4. Mover o borrar un punto de muestra ........................................................ 10

5.2.5. Borrar una colección de puntos de muestra .............................................. 11

5.2.6. Unión de las colecciones de muestras ...................................................... 11

5.3. Nombres de bandas más utilizadas para la clasificación ................................. 12

5.4. Selección de bandas de Landsat 8 y asignación de nombres ........................... 13

5.5. Aplicar la función de selección de bandas y asignar lista de nombres ............ 13

5.6. Creación de relaciones de bandas .................................................................... 13

5.7. Integrar mosaico original con las relaciones de bandas ................................... 14

5.8. Lista de todas las bandas del mosaico a clasificar ........................................... 14

5.9. Crear las regiones de entrenamiento ................................................................ 15

5.10. Entrenar las muestras en base al algoritmo .................................................. 15

5.11. Clasificar el mosaico en base a las muestras entrenadas .............................. 16

5.12. Visualizar la clasificación ............................................................................ 17

5.13. Exportar la clasificación a la nube de Google Drive .................................... 17

5.14. Descargar de la clasificación de la nube de Google drive............................ 19

5.15. Script completo ............................................................................................ 20

Page 4: Protocolo para la clasificación de la cobertura forestal ...

VI. BIBLIOGRAFÍA ................................................................................................. 23

VII. ANEXOS ............................................................................................................. 24

TABLA DE FIGURAS

Figura 1. Ícono de asignación de puntos de muestra ........................................................ 8

Figura 2. Configuración de Campos de los puntos de muestras ....................................... 8

Figura 3. Forma de crear nuevas colecciones de muestras ............................................... 9

Figura 4. Visualización de los puntos de muestra ............................................................ 9

Figura 5. Importación automática de los puntos de muestra al inicio del script ............ 10

Figura 6. Información de las colecciones de puntos de muestra .................................... 10

Figura 7. Forma de borrar o mover un punto ................................................................. 10

Figura 8. Borrar toda la colección de puntos de muestras .............................................. 11

Figura 9. unión de las colecciones de puntos de muestras ............................................. 11

Figura 10. Lista de nombres de las bandas ..................................................................... 12

Figura 11. Función para le selección y renombre de bandas .......................................... 13

Figura 12. Aplicación de función para la selección de bandas del mosaico y asignación

de nuevos nombres ......................................................................................................... 13

Figura 13. Relaciones de bandas .................................................................................... 14

Figura 14. Programación de mosaico multibandas ......................................................... 14

Figura 15 Construcción de listado de nombres de bandas para clasificar. ..................... 14

Figura 16. Configuración de las regiones de entrenamiento .......................................... 15

Figura 17.Configuración del algoritmo de engtrenamiento............................................ 15

Figura 18. Algoritmos de clasificación en GEE ............................................................. 16

Figura 19. Configuración de la clasificación de la cobertura ......................................... 16

Figura 20. Configuración de visualización de la clasificación ....................................... 17

Figura 21. Vista de la clasificación en la ventana de visualización del editor de código17

Figura 22. Programación para la descarga del mosaico libre de nube ........................... 18

Figura 23. Pasos para correr la descarga de la clasificación. ......................................... 18

Figura 24. Ventana de características de exportación del mosaico ................................ 19

Figura 25. Descargar clasificación de la nube de GD y ejemplo de visualización en un

SIG .................................................................................................................................. 19

Page 5: Protocolo para la clasificación de la cobertura forestal ...

I. ACRÓNIMOS

FAO: Organización de las Naciones Unidas para la Alimentación y la Agricultura

GD: Google Drive

GEE: Google Earth Engine

KML: Keyhole Markup Language

LANDSAT: LAND = tierra y SAT = satélite

REDD+ = Reducción de Emisiones por Deforestación y Degradación de los Bosques

SIG: Sistema de Información Geográfica

TIF: Tagged Image Format (formato de imagen)

TOA: Tope de la Atmosfera

Page 6: Protocolo para la clasificación de la cobertura forestal ...

II. INTRODUCCIÓN

El monitoreo de los bosques se ha convertido en un tema clave en los procesos de

elaboración de políticas de desarrollo y ambiente, tanto a niveles nacionales como

internacionales; esto, mediante la recopilación, análisis y divulgación de los datos

relacionados con los bosques y la producción de información y conocimiento a intervalos

regulares que permitan la detección de los cambios y dinámica de las tierras forestales en

el tiempo (FAO, 2012).

El éxito del monitoreo implica generar datos confiables a un bajo costos y con poco

recurso para lograr la sostenibilidad de estos procesos en los países en vías de desarrollo.

Lograr este desafío implica el uso de nuevas técnicas de procesamientos de información

espacial y el uso de nuevas herramientas que requieran menos tiempo y esfuerzo para el

logro de resultados de calidad en tiempo casi real (IDEAM, s. f.).

En respuesta a estas necesidades surge la iniciativa de crear Google Earth Engine (GEE),

una plataforma informática que permite a los usuarios ejecutar análisis geoespaciales en

la infraestructura de Google en tiempo récord. Esta plataforma de seguimiento online y

libre ha puesto a disposición del público colecciones numerosas de imágenes satelitales

actuales e históricas a nivel mundial, almacenando datos satelitales en petabytes (1015

bytes) y permitiendo que las herramientas de alto rendimiento analicen e interpreten ésta

en tiempos reducidos. Por otra parte, la integración de múltiples algoritmos

especializados ha hecho posible, por primera vez en la historia, procesar vastas cantidades

de imágenes satelitales de manera rápida y precisa para obtener productos de calidad con

poco esfuerzo («Google Earth Engine», 2018).

En este manual se detalla el uso de esta potente herramienta para clasificar mosaicos de

imágenes satelitales de Landsat y la aplicación de algoritmos de clasificación para obtener

un mapa de cobertura de la tierra (bosque, no bosque y agua, en este ejemplo); este mapa

es producto de una clasificación supervisada, asignando muestras que el especialista o

interprete debe asignar e ir corriendo el modelo hasta que el mapa se vea confiable y se

adapte a lo que se quiere clasificar.

Page 7: Protocolo para la clasificación de la cobertura forestal ...

III. RESUMEN Y DESCRIPCIÓN DEL SCRIP

El presente manual describe todo el proceso necesario para realizar una clasificación de

la cobertura forestal (bosque y no bosque), mismo que puede ser adaptado para la cantidad

de categorías de cobertura y uso que el usuario quiera obtener, siempre y cuando las

categorías tengan características que permitan de manera espectral ser separadas.

La explicación de este manual en la construcción de este script parte del hecho de que el

usuario ya sabe construir mosaicos libres de nube (siempre se incluye el código de

programación en el script porque se necesita como base para la clasificación, sin embargo,

no se explica dado a que esto se incluye en el manual para la construcción de mosaicos

libres de nube).

Los insumos y requerimientos para este script son los siguientes:

✓ Mosaico libre de nubes (se necesita el límite de área de estudio).

✓ Haber leído el manual de Introducción a Google Earth Engine (GEE).

✓ Haber leído el manual de fundamentos básicos de Java Script.

✓ Haber construido el mosaico a clasificar con el manual para la construcción de

mosaicos libres de nube

La construcción de este script se basa prácticamente en dos secciones (SECCIÓN A y

SECCIÓN B) la primera que es construir el mosaico libre de nubes y la segunda que es

clasificar ese mosaico en tres clases de cobertura (bosque, no bosque, agua). La

SECCIÓN A es repetición y toda la explicación se encuentra en el manual que antes se

menciona, sin embargo, este en resumen hace uso de un límite del área de estudio, una

colección de imágenes del sensor landsat y un algoritmo que construye el manual.

La SECCIÓN B hace uso del mosaico libre de nubes, la asignación manual de muestras

de las tres categorías y un algoritmo de clasificación para obtener una capa de cobertura

forestal que posteriormente es descargada para los fines que el usuario requiera y pueda

hacer cualquier análisis en cualquier SIG.

NOTA: El script completo en formato texto se encuentra al final para copiarlo y pegarlo

en el editor de código del editor de código (los puntos de muestras no están incluidos

usted como usuario debe asignarlas)

Page 8: Protocolo para la clasificación de la cobertura forestal ...

IV. DIAGRANA DE FLUJO DEL PROCESO

Límite del área

de estudio

Colecciones de

imágenes Satélite

Servidores

Internet

Usuario

especialista en

GEE

Algoritmos

especializados

GEE

Mosaico libre

de nubes

Muestra de

cobertura

Clasificación

de la cobertura

forestal

Nube de

Google Drive

Clasificación

descargada utilizada

por otros usuarios de

SIG

Page 9: Protocolo para la clasificación de la cobertura forestal ...

V. METOLOGÍA PARA LA CLASIFICACIÓN DE LA

COBERTURA FORESTAL

5.1. Pasos previos al proceso de clasificación Antes de entrar en lleno en este script se debe conocer en manual para construir

mosaicos libres de nube, donde se hace uso del límite del área de estudio, de una

colección de imágenes y de un algoritmo para construir el mosaico corregido al tope

de la atmósfera. La SECCIÓN A de este script contiene el código necesario, sin

embargo, la explicación parte de que ya se sabe construir. Se agrega aquí la primera

sección de manera informativa.

Page 10: Protocolo para la clasificación de la cobertura forestal ...

5.2. Asignación de muestras para el entrenamiento De manera visual en el mosaico se asignan muestras para las categorías que se quieren

clasificar. Para crear estas muestras se debe dar clic en el símbolo de posición en la

parte superior izquierda de la ventana de visualización. Al dar clic se desplegará una

ventanita con las opciones para configurar esa geometría (punto)

Figura 1. Ícono de asignación de puntos de muestra

5.2.1. Configurar los campos de las muestras para cada cobertura

Al dar clic en el simbolo de configuración del paso anterior se despliega una ventana

con todas la opciones que se deben configurar. Se d ebe asignar el nombre de cada

categoría (Bosque, No_Bosque o Agua), en import as (importar como) se debe

seleccionar la opcion FeauteCollection, después en las propiedades se debe asignar un

nombre (ejemplo: clase, id, cobertura, etc) de columna que contendrá los valores de las

categorías (este nombre debe ser el mismo en todas las categorías que se creen), en la

sección de valor debe asignarse un número con el que se identificará cada categoría (ej.

Bosque = 1, No_bosque = 2, Agua = 3).

Figura 2. Configuración de Campos de los puntos de muestras

Asignar nombre de la categoría

Seleccionar FeauteCollection

Escribir un nombre de las categorías (ej. Clase)

Mover el punto para asignar el color que desea por cada categoría

1

2

3 4 5

5 Asignar un valor con el que se identificará cada categoría

1

2

Page 11: Protocolo para la clasificación de la cobertura forestal ...

Cada vez que se va agregar una categoría debe darse clic en new layer y se configuran

los campos nuevamente para cada una de las que se vaya agregando.

Figura 3. Forma de crear nuevas colecciones de muestras

5.2.2. Asignar muestras sobre el mosaico a clasificar

Una vez configuradas las coberturas dar clic en el símbolo de ubicación y después clic en

la cobertura de la cual quiere asignar muestras, después ir al mosaico y asignar puntos

donde se observa con seguridad que esta presente la cobertura de la cual está asignando

las muestras. Hacer esto para cada categoría.

Figura 4. Visualización de los puntos de muestra

1

2

Page 12: Protocolo para la clasificación de la cobertura forestal ...

5.2.3. Ver la información de las colecciones de puntos de muestra

Cuando se asignan los puntos en la imagen, automáticamente se integra la información

de estos puntos en la parte superior del script

Figura 5. Importación automática de los puntos de muestra al inicio del script

Si da clic en la flechita de cada conjunto de puntos por cobertura, puede ver la información

detallada como se muestra en el caso de bosque a continuación

Figura 6. Información de las colecciones de puntos de muestra

5.2.4. Mover o borrar un punto de muestra

Para mover un punto mal ubicado se debe dar clic en el símbolo de la manito y con esta

manito dar clic en el punto que desea mover, después arrastrarlo al punto exacto donde

quiere que esté. Si se quiere eliminar ese punto entonces con la manito se selecciona ese

punto y a la derecha dar clic en Delete.

Figura 7. Forma de borrar o mover un punto

1

2

3

Page 13: Protocolo para la clasificación de la cobertura forestal ...

5.2.5. Borrar una colección de puntos de muestra

Para borrar una colección de puntos de muestras que no se desean tener en el script se

debe ir al inicio del mismo donde se encuentran todas las colecciones importadas y las

colecciones de puntos de muestra. Después se debe dar clic en la colección de muestras

que se quiere borrar y dar clic en el símbolo de borrado y después clic en Yes en la ventana

que se despliega y le pregunta que si está seguro que quiere borrar

Figura 8. Borrar toda la colección de puntos de muestras

5.2.6. Unión de las colecciones de muestras

Para tener todas las muestras en un solo archivo, es necesario unirlas. Para ello se utiliza

el constructor .merge y se va agregando cada colección de puntos de las coberturas. Dado

a que estas muestras se encuentran importadas de manera automática al inicio del script,

entonces al llamarlo se mostrará en color morado, de no mostrar ese color es por que no

se está escribiendo el nombre correcto de cara conjunto de puntos de muestra.

Figura 9. unión de las colecciones de puntos de muestras

1

2

Page 14: Protocolo para la clasificación de la cobertura forestal ...

5.3. Nombres de bandas más utilizadas para la clasificación Las bandas más utilizadas para las clasificaciones son las siguientes:

1. Azul (Blue)

2. Verde (Green)

3. Rojo (Red)

4. Infrarrojo cercano (NIR)

5. Infrarrojo medio (SWIR-1)

6. Infrarrojo térmico (TIR, TIR-1, TIR-2)

7. Infrarrojo medio2 (SWIR-2)

La correspondencia de estás bandas para Landsat 8 cambia respecto a los Landsat

anteriores como se muestra en la siguiente tabla.

Tabla 1. Correspondencia de bandas entre Landsat 7 y Landsat 8

Fuente: Tomado de « Blog SIG & Territorios», (2017)

Para mantener un orden lógico en el nombre de las bandas, las no y dado a que son 7, las

nombraremos del 1 al 7 anteponiendo el prefijo B.

Figura 10. Lista de nombres de las bandas

Page 15: Protocolo para la clasificación de la cobertura forestal ...

5.4. Selección de bandas de Landsat 8 y asignación de nombres De acuerdo a la sección anterior las 7 bandas utilizadas para mosaicos de Landat 8 en

orden ascendente serán las siguientes: 2, 3, 4, 5, 6, 10 y 7.

La función programada para esta tarea consistirá en tomar una imagen, y devolver las

mima con el listado de bandas anteriores seleccionado y después asignar en el mismo

orden el listado de las 7 bandas del 1 al 7.

Figura 11. Función para le selección y renombre de bandas

5.5. Aplicar la función de selección de bandas y asignar lista de

nombres Una vez teniendo el listado de nombres de bandas y la función para aplicarla, se procede

a llamar el mosaico que contiene todas las bandas para que seleccione las 7 bandas y las

renombre para seguir siendo utilizado en los siguientes pasos de la clasificación.

Figura 12. Aplicación de función para la selección de bandas del mosaico y asignación de nuevos nombres

5.6. Creación de relaciones de bandas Estas relaciones de bandas ayudan a normalizar la clasificación que se hará en los

siguientes pasos, pues este paso cosiste en crear índices que ayudan a los algoritmos a

contar mayor información para tomar la decisión de que cobertura asignar. Por lo general

son relaciones entre las bandas que más relación guardan con la clorofila o con la

cobertura boscosa, en este caso se utilizaran 7 relaciones, sin embargo, pueden utilizarse

muchas más; estas relaciones son: RED- NIR, NIR-SWIR1, NIR-TIR, NIR-SWIR2,

SWIR1- TIR, SWIR1- SWIR2 y TIR- SWIR2

Nombre del nuevo mosaico

Función del paso anterior

Mosaico con todas las bandas

Page 16: Protocolo para la clasificación de la cobertura forestal ...

Figura 13. Relaciones de bandas

5.7. Integrar mosaico original con las relaciones de bandas Este paso consiste en crear un nuevo mosaico multibandas que contenga tanto las bandas

del mosaico (las 7 bandas originales), más las 7 bandas creadas a partir de relaciones de

estas. Es decir, como salida tendremos un mosaico con 14 bandas. Para ir agregando

bandas a un mosaico se utiliza el constructor .addBands y el nombre de la variable que

contiene la banda que quiere agregar entre paréntesis.

Figura 14. Programación de mosaico multibandas

5.8. Lista de todas las bandas del mosaico a clasificar Este paso permite extraer los nombres de las bandas del mosaico multibandas que

contiene bandas del mosaico original (de 7 bandas) más las 7 relaciones de bandas, con

esto se pretende que al momento de aplicar el algoritmo de clasificación éste pueda tomar

decisiones en base a cada una de las 14 bandas por separado.

Figura 15 Construcción de listado de nombres de bandas para clasificar.

Mosaico de relaciones de bandas del paso anterior.

Constructor del listado de bandas con sus nombres

Page 17: Protocolo para la clasificación de la cobertura forestal ...

5.9. Crear las regiones de entrenamiento Consiste en extraer lo valores del mosaico multibandas en base a las clases de los puntos

de muestra. Se utiliza el constructor .sampleRegions, el mosaico, la unión de muestras y

la columna que contiene los valores de las coberturas (clase) y el tamaño de pixel de

salida.

Figura 16. Configuración de las regiones de entrenamiento

5.10. Entrenar las muestras en base al algoritmo En este paso se configura el algoritmo a utilizar para la clasificación, existe una gran

cantidad de algoritmos, sin embargo, los mas utilizados son el CART y el Random Forest.

En este ejemplo se utiliza el CART pero para utilizar el Random Forest (randomForest)

solamente se debe cambiar el nombre le algoritmo .cart por .randomForest y volver a

correr el script.

NOTA: Cada vez que se cambia el algoritmo los resultados tienden a cambiar, por ende,

se debe ir agregando más muestras para que el algoritmo aprenda y corrija la clasificación

cada vez que se corra el script.

Figura 17.Configuración del algoritmo de engtrenamiento

Mosaico multibandas del que se extraerán los valores

Constructor de regiones de muestras

Archivo de muestras para las regiones de entrenamiento

Columna de las muestras que contiene los valores de cada cobertura

Escala o tamaño del pixel de las muestras de entrenamiento

Método o algoritmo de entrenamiento

Constructor de firmas espectrales

Regiones de muestra para entrenar

Categorías a entrenar

Listado de bandas para entrenar

Page 18: Protocolo para la clasificación de la cobertura forestal ...

Para encontrar los nombres correctos de los algoritmos se pueden buscar en documentos

(Docs) escribiendo ee.Classifier y mostrará todos los algoritmos de clasificación. Cabe

destacar que la forma en que se entrenan los algoritmos en unos casos la configuración es

diferente.

Figura 18. Algoritmos de clasificación en GEE

5.11. Clasificar el mosaico en base a las muestras entrenadas Una vez entrenando las muestras en base al algoritmo que se quiere utilizar, se procede

hacer la clasificación. Aquí se utiliza el mosaico, el listado de bandas y las muestras

entrenadas con el algoritmo.

Figura 19. Configuración de la clasificación de la cobertura

Mosaico multibandas a clasificar

Nombres de las bandas sobre las que tomará decisiones para clasificar

Firmas espectrales basadas en el algoritmo de clasificación

Page 19: Protocolo para la clasificación de la cobertura forestal ...

5.12. Visualizar la clasificación Para ver los resultados de la clasificación se utiliza el constructor Map.addLayer, se

configura los valores a mostrar (1 Bosque, 2 No_Bosque, 3 Agua) después los colores en

código y el nombre de salida que mostrará en las capas de la ventana de visualización

Figura 20. Configuración de visualización de la clasificación

Figura 21. Vista de la clasificación en la ventana de visualización del editor de código

5.13. Exportar la clasificación a la nube de Google Drive Para descargar la clasificación, primero es necesario exportarlo a la nube de GD antes de

descargar a nuestra computadora, para ello se utiliza el constructor Export.image.toDrive

mismo que exporta la clasificación en base a los parámetros de salida que se le programen.

Primero se llama la clasificación a descargar, posteriormente se le escribe la descripción

que es el nombre que debe mostrar en las tareas de descarga y después el nombre del

archivo que será el mismo con el que se descargará a la nube de GD, por último se asigna

la escala de descarga (tamaño de pixel) y el máximo de pixeles a descargar, ya que si no

se le escribe este dato, el programa por defecto tiene un límite bajo de cantidad de pixeles

y no permite descargar mosaicos grandes.

Código menor en la clasificación

Código menor en la clasificación

Código color verde

Código color amarillo

Código color azul

Nombre a mostrar en el visor de capas

Archivo de la clasificación a visualizar

Page 20: Protocolo para la clasificación de la cobertura forestal ...

NOTA: Al momento de correr por última vez el script para descargar la clasificación es

necesario que este se vea completo en el visualizador ya que el exportador asume que

solamente debe descargar lo que muestra la pantalla de visualización, para esto si es

necesario desactivar el centrador de objetos si se ha programado; para ello se anteponen

dos plecas “//” y de esta manera ubiquemos el mosaico en la pantalla manual mente con

la manito y correrlo de nuevo para descargarlo tal como deseamos.

Figura 22. Programación para la descarga del mosaico libre de nube

Una vez que se haya programado la sección de descarga o exportación nos mostrará el

archivo en tareas (Tasks) listo para descargar, debemos de dar clic en RUN y

esperar a que termine la descarga para posteriormente ir a la nube de Google drive a

descargar

Figura 23. Pasos para correr la descarga de la clasificación.

Constructor

para exportar

clasificación

Mosaico de

clasificación a

descargar

Configuración de

máximo de pixeles

a descargar en el

mosaico de salida

Escala o tamaño de

pixel del mosaico

Nombre con el que

se exportará la

clasificación a GD

Nombre que

mostrará en las

tareas (donde se

debe correr para

descargar)

v v

2

1

Page 21: Protocolo para la clasificación de la cobertura forestal ...

Una vez dando clic en RUN se nos mostrará una nueva ventana con la información

del mosaico a descargar, donde debemos dar clic en Run y el mosaico empezará a

descargarse. Una vez finalizada la descarga puede ir a la nube de GD y descargar el

archivo que se exportó

Figura 24. Ventana de características de exportación del mosaico

5.14. Descargar de la clasificación de la nube de Google drive GEE exporta a la nube de GD dos archivos y les agrega varios ceros al nombre. Para

asegurar que se descargará toda la información se debe descargar el que más peso en MB

tiene. Al dar clic derecho se despliega una ventana de opciones, clic en descargar

Figura 25. Descargar clasificación de la nube de GD y ejemplo de visualización en un SIG

Vista del check de la

clasificación cuando

se ha exportado

1

2 Visualización de la clasificación en un SIG

Page 22: Protocolo para la clasificación de la cobertura forestal ...

5.15. Script completo

//SECCION A

//Esta sección es la de generación de mosaicos libres de nube

//Ir a Sección 2 para empezar la parte específica de clasificación de cobertura

//CARGAR LOS LÍMITES DEL ÁREA DE ESTUDIO

//Límite de la tabla dinámica de la nube de GD

var limite1 = ee.FeatureCollection("ft:1rpd6kIewFWHrgX84jKwW30jeazmuiQJgXg-Pv759");

//Límite de shapefile como tabla de la nube de GEE

var limite2 = ee.FeatureCollection("users/omarorellanahn/buffer_simplicado_hn_geo");

//VISUALIZAR LOS LÍMITES DEL ÁREA DE ESTUDIO

/*NOTA: Estos dos límites son la misma área geografica, sin embargo se agrega los dos

para mostrar que cualquiera de las dos formas puede ser utilizada*/

//Límite de la nube de Google Drive

Map.addLayer(limite1, {color: 'd63000'},'LIMITE_GD' ,false, 0.5);

//Límite de la nube de Google Earth Engine

Map.addLayer(limite2, {color: '6dd646'},'LIMITE_GEE',false, 0.5);

//LLAMAR COLLECCIONES DE IMÁGENES

//Landsat 5

var Landsat_5_1= ee.ImageCollection ("LANDSAT/LT5_L1T");

var Landsat_5_2= ee.ImageCollection ("LANDSAT/LT05/C01/T1");

var Landsat_5_3= ee.ImageCollection ("LANDSAT/LT05/C01/T1_TOA");

var Landsat_5_4= ee.ImageCollection ("LANDSAT/LT05/C01/T1_SR");

//Landsat 7

var Landsat_7_1= ee.ImageCollection ("LANDSAT/LE7_L1T");

var Landsat_7_2= ee.ImageCollection ("LANDSAT/LE07/C01/T1");

var Landsat_7_3= ee.ImageCollection ("LANDSAT/LE07/C01/T1_TOA");

var Landsat_7_4= ee.ImageCollection ("LANDSAT/LE07/C01/T1_SR");

//Landsat 8

var Landsat_8_1= ee.ImageCollection ("LANDSAT/LC8_L1T");

var Landsat_8_2= ee.ImageCollection ("LANDSAT/LC08/C01/T1");

var Landsat_8_3= ee.ImageCollection ("LANDSAT/LC08/C01/T1_TOA");

var Landsat_8_4= ee.ImageCollection ("LANDSAT/LC08/C01/T1_SR");

//FILTRAR LA COLECCIÓN DE IMAGENES

/*Filtros, primero hace un filtro por la fecha, segundo se hace con el límite

y tercero que seleccione solo las imágenes con un porcentaje de nubosidad menor a 30%*/

var Filtro2017_l8 = Landsat_8_2.filterDate('2016-01-01', '2018-10-14')

.filterBounds(limite1)

.filterMetadata('CLOUD_COVER', 'less_than', 30);

//IMPRIMIR EL RESULTADO DEL FILTRO

print(Filtro2017_l8);

//APLICAR ALGORITMO PARA CONSTRUIR EL MOSAICO CORREGIDO AL TOPE DE

LA ATMOSFERA

/*Aplicación de algoritmo para construcción de mosaico

eligiendo los pixeles con valores concentrados al percentil 50,

con un porcentaje de nubosidad del pixel de 10 y que elija máximo 40 imágenes para construirlo

*/

var m2017_l8 = ee.Algorithms.Landsat.simpleComposite(Filtro2017_l8, 50, 5, 40);

Page 23: Protocolo para la clasificación de la cobertura forestal ...

//CORTAR EL MOSAICO CON EL LÍMITE DEL ÁREA DE ESTUDIO

var m2017_l8_cortado = m2017_l8.clip(limite1);

//VISUALIZAR EL MOSAICO

//con una combinación de bandas en inflrarojo

Map.addLayer(m2017_l8_cortado,{'bands': ['B5', 'B6', 'B4'], 'min': 0, 'max':

128},'Mosaico_2012',false);

//CENTRAR EL ÁREA DE ESTUDIO

/*Para que cada vez que corra el script aunque esten en otro lugar pueda mosatrar su área de

estudio*/

Map.centerObject(limite1, 7);

//DESCARGAR EL MOSAICO

/*Para descargar una image o un mosaico en formato tif priero se exporta a Google Drive

de la siguiente manera*/

/*Export.image.toDrive

({image: m2017_l8_cortado.select(['B5', 'B6', 'B4']),

description: 'Mosaico_2017',

fileNamePrefix: 'Mosaico_2017_L8',

scale:30,

maxPixels: 1e12,});*/

//SECCION B

/*Aquí inician los pasos para el protocolo de clasificación asumiendo que ya se ha ledido el

protocolo*/

//de generación de mosaicos libres de nube

//UNIÓN DE MUESTRAS

//se utiliza el constructor .merge y se agrega una por una cada categoría

var muestras = Bosque.merge(No_Bosque).merge(Agua);

//RENOMBRAR Y SELECCIONAR BANDAS DE IMÁGENES NECESARIAS PARA LA

CLASIFICACIÓN

//Nomre de las bandas más utilizadas para la clasificación

var nombres_bandas = ['B1', 'B2', 'B3', 'B4', 'B5', 'B6', 'B7' ];

//Selección de las bandas de Landsat 8

/*Dado aque Landsat 8 cuenta con una banda aerosol (B1) la vamos a excluir y hacerla como

Landsat 7*/

var L8 = function(image) {return image.select(['B2','B3','B4', 'B5', 'B6', 'B10','B7' ],

nombres_bandas);};

//Aplicar la función de seleccion de bandas y asignación de nombres

var m2017 = L8(m2017_l8_cortado);

//CREAR RELACIONES DE BANDAS PARA MEJORAR LA FUTURA CLASIFICACIÓN

/*Relacciones de bandas para construir nuevas bandas con algunas normalizaciones que

permiten resultados más precisos en las clasificaciones dado a que el algoritmo tiene

más información para aprender y decidir que cobertura asignar a cada pixel*/

var rat34_17 = m2017.select("B3").divide(m2017.select("B4"));

var rat45_17 = m2017.select("B4").divide(m2017.select("B5"));

var rat46_17 = m2017.select("B4").divide(m2017.select("B6"));

var rat47_17 = m2017.select("B4").divide(m2017.select("B7"));

var rat56_17 = m2017.select("B5").divide(m2017.select("B6"));

Page 24: Protocolo para la clasificación de la cobertura forestal ...

var rat57_17 = m2017.select("B5").divide(m2017.select("B7"));

var rat67_17 = m2017.select("B6").divide(m2017.select("B7"));

//CREAR MOSAICO MULTIBANDAS

/*Creacion de un mosaico que integra las bandas originales de la imagen con bandas

renombradas más todas las bandas generadas por las relaciones de bandas*/

var m2017_RB = m2017.addBands(rat34_17)

.addBands(rat45_17)

.addBands(rat46_17)

.addBands(rat47_17)

.addBands(rat56_17)

.addBands(rat57_17)

.addBands(rat67_17);

//LISTA DE RECONOCIMIENTO DE NOMBRES DE LAS BANDAS DEL MOSAICO

/*Esta sección permite extraer los nombres de las bandas para que en pasos posteriores el

algoritmo toe decisiones en base a los valores de cada una de las bandas por separado*/

var bands= m2017_RB.bandNames();

//REGIONES DE MUESTRA

// Superponer los puntos de muestras en el mosaico para hacer el entrenamiento.

var entrenamiento = m2017_RB.sampleRegions({

collection: muestras,

properties: ['clase'],

scale: 30

});

// Entrene a un clasificador CART con parámetros predeterminados.

var entrenando = ee.Classifier.cart().train(entrenamiento, 'clase', bands);

// Clasifica la imagen con las mismas bandas utilizadas para el entrenamiento.

var clasificacion = m2017_RB.select(bands).classify(entrenando);

//VISUALIZACIÓN DE LA CLASIFICACIÓN

Map.addLayer(clasificacion, {min: 1, max: 3, palette: ['34a726', 'fff046', '153dff']},

'classification');

//DESCARGA DE LA CLASIFICACIÓN

/*Para descargar un mosaico o clasificación primero se exporta a google drive

y despues de esta nube a nuestro computador*/

Export.image.toDrive

({image: clasificacion,

description: 'clasificacion',

fileNamePrefix: 'clasificacion2017',

scale:30,

maxPixels: 1e12,});

Page 25: Protocolo para la clasificación de la cobertura forestal ...

VI. BIBLIOGRAFÍA

FAO. (2012). Directrices voluntarias sobre monitoreo forestal nacional. Recuperado de

http://www.fao.org/forestry/38632-0b89fc0547b243713e7e5c6178c57a27.pdf

Google Earth Engine. (2018). Recuperado 17 de octubre de 2018, de

https://earthengine.google.com

IDEAM. (s. f.). Programa de Monitoreo y Seguimiento a los Bosques y Áreas Forestales

PMSB. Recuperado de

https://www.wavespartnership.org/sites/waves/files/documents/WAVES_Progra

ma-de-MonitoreoySeguimiento-a-los-Bosquesy%C3%A1reas-forestales-PMSB-

26%20sep.pdf

Utilizar las imágenes Landsat (gratuitas) en tu SIG | Blog SIG & Territorios. (2017).

Recuperado 20 de octubre de 2018, de

https://www.sigterritoires.fr/index.php/es/utilizar-las-imagenes-landsat-

gratuitas-en-tu-sig/

Page 26: Protocolo para la clasificación de la cobertura forestal ...

VII. ANEXOS

Función Descripción

Colecciones

ee.FeatureCollection

FeatureCollections se puede construir a partir de

los siguientes argumentos:

- Una cadena: se asume que es el nombre de una

colección.

- Una geometría única.

- Una sola característica.

- Una lista de características.

- Un objeto computado: reinterpretado como

una colección.

ee.Image

Un objeto para representar una imagen de GEE.

Este constructor acepta una variedad de

argumentos:

- Una cadena: un ID de activo de EarthEngine,

- Una cadena y un número - un ID y versión de

activo de EarthEngine,

- Un número o EEArray: crea una imagen

constante,

- Una lista: crea una imagen fuera de cada

elemento de la lista y las combina en una sola

imagen,

- Una ee.Image: devuelve el argumento,

- Nada: da como resultado una imagen

transparente vacía.

Geoproceso

.clip Recorta una imagen en una Geometría o

Característica.

.select Devuelve la colección de imágenes con las

bandas seleccionadas.

.merge

Fusiona dos colecciones en una sola. El

resultado tiene todos los elementos que estaban

en cualquier colección.

.randomColumn

Agrega una columna de números

pseudoaleatorios deterministas a una colección.

Los números son números de coma flotante de

precisión doble en el rango de 0.0 (inclusive) a

1.0 (exclusivo).

Filtros

.filter Aplicar un filtro a esta colección.

.filterDate Atajo para filtrar una colección por un rango de

fechas

.filterBounds

Atajo para filtrar una colección por

geometría. Los elementos de la colección con

una huella que no se interseca con los límites se

excluirán cuando se evalúe la colección.

ee.Filter.neq El filtro a metadatos no es igual al valor dado.

ee.Filter.and Combina dos o más filtros utilizando booleano

AND.

Page 27: Protocolo para la clasificación de la cobertura forestal ...

Función Descripción

.filterMetadata

Atajos para filtrar una colección por

metadatos. Esto es equivalente a this.filter

(ee.Filter.metadata (...)).

Operaciones

.sum

Reduce una colección de imágenes calculando

la suma de todos los valores en cada píxel en la

pila de todas las bandas coincidentes. Las

bandas se emparejan por nombre.

.divede Divide el primer valor por el segundo,

devolviendo 0 para la división por 0.

.mean

Reduce una colección de imágenes calculando

la media de todos los valores en cada píxel en la

pila de todas las bandas coincidentes.

.min Sobre una base de elementos, selecciona el

mínimo de los valores primero y segundo.

.multiply Sobre una base de elementos, multiplica el

primer valor por el segundo.

Algoritmos

ee.Algorithms.Terrain Calcula la pendiente, el aspecto y una

sombreada simple desde un DEM de terreno.

ee.Algorithms.Landsat.simpleComposite

Calcula un compuesto Landsat TOA a partir de

una colección de escenas en bruto Landsat.

Aplica la calibración estándar de TOA y luego

asigna una puntuación de nube a cada píxel

usando el algoritmo SimpleLandsatCloudScore.

Selecciona el rango más bajo posible de

puntajes de nube en cada punto y luego calcula

los valores de percentil por banda a partir de los

píxeles aceptados. Este algoritmo también

utiliza el algoritmo LandsatPathRowLimit para

seleccionar solo las escenas menos nubladas en

regiones donde hay más de max.

Clasficador

.Classifier.randomForest Crea un clasificador de Rifle Serial vacío, que

usa el algoritmo de bosque aleatorio.

.train

Entrena al Clusterer en una colección de

características, utilizando las propiedades

numéricas especificadas de cada característica

como datos de entrenamiento. La geometría de

las características se ignora.

.setOutputMode

Establece el modo de salida. El modo de salida

puede ser:

- CLASIFICACIÓN (predeterminado): la salida

es el número de clase.

- REGRESIÓN: La salida es el resultado de una

regresión estándar.

- PROBABILIDAD: La salida es la

probabilidad de que la clasificación sea

correcta.

No todos los tipos de clasificadores admiten los

modos REGRESSION y PROBABILITY.

Page 28: Protocolo para la clasificación de la cobertura forestal ...

Función Descripción

.classify Clasifica cada característica en una colección.

Diccionarios

.rename Renombrar elementos en un diccionario.

.map Mapea un algoritmo sobre una colección.

Operadores

.eq Sobre una base de elementos, devuelve 1 si el

primer valor es igual al segundo.

.gte Sobre una base de elementos, devuelve 1 si el

primer valor es mayor o igual que el segundo.

.lte En términos de elementos, devuelve 1 si el

primer valor es menor o igual que el segundo.

.and

Devuelve un 1 en cada posición de bit para el

cual los bits correspondientes de ambos

operandos son 1.

.not Invierte los valores de su operando.

.set Establecer un valor en un diccionario.

Análisis Espacial de Imágenes

.updateMask

Actualiza la máscara de una imagen en todas las

posiciones donde la máscara existente no es

cero. La imagen de salida conserva los

metadatos y la huella de la imagen de entrada.

.mask

Crea un subconjunto dividiendo cada posición

en una matriz de entrada que es paralela a un

elemento distinto de cero de la matriz de

máscara dada

.expression

Evalúa una expresión aritmética en una imagen,

posiblemente involucrando imágenes

adicionales.

.addBands

Devuelve una imagen que contiene todas las

bandas copiadas desde la primera entrada y

bandas seleccionadas desde la segunda entrada,

opcionalmente sobrescribiendo las bandas en la

primera imagen con el mismo nombre. La nueva

imagen tiene los metadatos y la huella de la

primera imagen de entrada.

.bandNames Devuelve una lista que contiene los nombres de

las bandas de una imagen.

.reducerRegions

Aplique un reductor sobre el área de cada

característica en la colección dada.

El reductor debe tener el mismo número de

entradas que la imagen de entrada tiene bandas.

.sampleRegions

Muestra los píxeles de una imagen en una o más

regiones, devolviéndolos como

FeatureCollection. Cada función de salida

tendrá 1 propiedad por banda en la imagen de

entrada, así como las propiedades especificadas

copiadas de la función de entrada. Tenga en

cuenta que las geometrías se ajustarán a los

centros de píxeles.

Page 29: Protocolo para la clasificación de la cobertura forestal ...

Función Descripción

.normalizedDifference

Calcula la diferencia normalizada entre dos

bandas. Si las bandas a usar no están

especificadas, usa las dos primeras bandas. La

diferencia normalizada se calcula como (primer

- segundo) / (primer + segundo).

Imprimir

print

Imprime en la ventana de la consola los

resultados de una operación o presental la

visualización de los metadatos de una colección

en específico.

Visualización de mapa

Map.addLayer Agrega un objeto al visor de EE dado al mapa

como una capa.

Map.centerObject Centra la vista del mapa en un objeto dado.

Descarga

Export.image.toDrive

Crea una tarea por lotes para exportar una

imagen como ráster a la unidad de Google

Drive.

Page 30: Protocolo para la clasificación de la cobertura forestal ...