SlideShare a Scribd company logo
1 of 7
Download to read offline
Sección 2. Umbralización, Máscaras
y Remapeo de Imágenes
Capitulo 2
cartografiadigital2023@gmail.com
Managua, Nicaragua
Fecha: 9/12/2023
Cartografía Digital: Tu Espacio de conocimientos de SIG
En esta sección, exploramos cómo usar
operadores lógicos para categorizar los valores
de bandas o índices de imágenes, creando así
imágenes categorizadas. Utilizamos la
implementación de umbrales, que implica
utilizar un valor umbral junto con operadores
lógicos para dividir la variabilidad de las
imágenes en categorías. Por ejemplo, podemos
utilizar esta técnica para identificar áreas de
vegetación en un mapa de NDVI, simplificando
la información para comprender mejor la
distribución de la vegetación en la superficie
terrestre. Esto puede ser útil para análisis como
la proporción de vegetación en una ciudad.
Sección 2. Umbralización, Máscaras
y Remapeo de Imágenes
DRAFT
(2023)
Inspecciona la imagen. Podemos observar que las áreas con vegetación son de un tono verde oscuro, mientras que las
ubicaciones sin vegetación son blancas y el agua aparece en rosa. Si utilizamos la herramienta Inspector para consultar
nuestra imagen, veremos que los parques y otras áreas forestales tienen un NDVI superior a aproximadamente 0.5. Por lo tanto,
tendría sentido definir las áreas con valores de NDVI superiores a 0.5 como forestales y aquellas por debajo de ese umbral como
no forestales.
Ahora definamos ese valor como un umbral y úsalo para categorizar nuestras áreas con vegetación.
El método "gt" pertenece a la familia de operadores booleanos, es decir, "gt" es una función que realiza una prueba en cada píxel
y devuelve el valor 1 si la prueba es verdadera y 0 en caso contrario. Aquí, para cada píxel en la imagen, se verifica si el valor de
NDVI es mayor que 0.5. Cuando se cumple esta condición, la capa "seaVeg" recibe el valor 1. Cuando la condición es falsa, recibe
el valor 0.
Utiliza la herramienta Inspector para explorar esta nueva capa. Si haces clic en una ubicación verde, el NDVI debería ser mayor
que 0.5. Si haces clic en un píxel blanco, el valor de NDVI debería ser igual o inferior a 0.5.
Otros operadores en esta familia booleana incluyen "menor que" (lt), "menor o igual que" (lte), "igual a" (eq), "no igual a" (neq),
"mayor o igual que" (gte) y otros.
// Crear una imagen de NDVI utilizando Sentinel 2.
var puntoSFO = ee.Geometry.Point(-122.2040, 47.6221);
var imagenColeccion = ee.ImageCollection('COPERNICUS/S2')
.filterBounds(puntoSFO)
.filterDate('2020-08-15', '2020-10-01');
var imagenSeattle = imagenColeccion.first();
var ndviSeattle = imagenSeattle.normalizedDifference(['B8', 'B4']);
// Mostrar el NDVI en el mapa.
Map.centerObject(puntoSFO, 10);
var paletaVegetacion = ['red', 'white', 'green'];
Map.addLayer(ndviSeattle, {
min: -1,
max: 1,
palette: paletaVegetacion
}, 'NDVI Ciudad');
// Mostrar el valor del NDVI en la consola.
print('NDVI Ciudad', ndviSeattle);
// Implement a threshold.
var seaVeg = ndviSeattle.gt(0.5);
// Map the threshold.
Map.addLayer(seaVeg,
{
min: 0,
max: 1,
palette: ['white', 'green']
},
'No bosque vs. Bosque');
Script traducido y ajustado
Sección 2. Umbralización, Máscaras
y Remapeo de Imágenes
DRAFT
(2023)
Creando Categorizaciones Complejas con .where
// Implementar .where.
// Crear una imagen inicial con todos los valores = 1.
var seaWhere = ee.Image(1)
// Utilizar clip para limitar el tamaño de la nueva
imagen.
.clip(ndviSeattle.geometry());
// Establecer todos los valores de NDVI menores
que -0.1 a 0.
seaWhere =
seaWhere.updateMask(ndviSeattle.lte(-0.1).not()).re
name("Water");
// Establecer todos los valores de NDVI mayores que
0.5 a 2.
seaWhere = seaWhere.where(ndviSeattle.gte(0.5),
2).rename("Forest");
// Agregar nuestra capa dividida en tres clases al
mapa.
Map.addLayer(seaWhere, {
min: 0,
max: 2,
palette: ['blue', 'white', 'green']
}, 'Agua, Sin bosque, Bosque');
Un mapa binario que clasifica el NDVI es muy útil. Sin embargo, existen
situaciones en las que puede ser necesario dividir su imagen en más de dos
categorías. Earth Engine proporciona una herramienta, el método "where", que
evalúa condicionalmente verdadero o falso en cada píxel según el resultado de
una prueba.
Esto es análogo a una declaración "if" comúnmente vista en otros lenguajes de
programación. Sin embargo, al programar para Earth Engine, evitamos el uso
de la declaración "if" en JavaScript, lo cual es importante destacar. Las
instrucciones "if" en JavaScript no se calculan en los servidores de Google y
pueden generar problemas graves al ejecutar su código. En efecto, los
servidores intentan enviar toda la información a ser ejecutada a su propio
navegador de computadora, que no está preparado para tareas tan enormes.
En su lugar, utilizamos la cláusula "where" para lógica condicional.
Supongamos que, en lugar de simplemente dividir las áreas forestales de las no
forestales en nuestro NDVI, deseamos dividir la imagen en áreas probables de
agua, no forestales y forestales. Podemos utilizar "where" y umbrales de -0.1 y 0.5
para lograrlo. Comenzaremos creando una imagen utilizando "ee.Image". Luego
recortamos la nueva imagen para que cubra la misma área que nuestra capa
"ndviSeattle".
Sección 2. Umbralización, Máscaras y Remapeo de Imágenes
Script traducido y ajustado
DRAFT
(2023)
Puedes utilizar la herramienta Inspector para
observar que el área negra está enmascarada y
que el área blanca tiene un valor constante de 1.
Esto significa que los valores de datos están
asignados y disponibles para el análisis solo
dentro del área blanca.
Ocultando Valores Específicos en una Imagen
El enmascaramiento de una imagen es una técnica
que permite eliminar áreas específicas de una
imagen, aquellas que están cubiertas por la
máscara, evitando que se muestren o analicen. En
Earth Engine, tienes la capacidad de visualizar la
máscara actual y modificarla según tus
necesidades.
Sección 2. Umbralización, Máscaras y Remapeo de Imágenes
Script traducido y ajustado
// Aplicar enmascaramiento.
// Ver la máscara actual de la capa seaVeg.
Map.centerObject(puntoSFO, 9);
Map.addLayer(seaVeg.mask(), {}, 'Máscara de seaVeg');
DRAFT
(2023)
Ahora, supongamos que solo queremos mostrar y realizar análisis en las áreas
forestales. Vamos a enmascarar las áreas no forestales de nuestra imagen.
Primero, creamos una máscara binaria utilizando el método "equals" (eq).
Al crear una máscara, estableces los valores que deseas ver y analizar como
un número mayor que 0. La idea es configurar los valores no deseados para
que tengan el valor 0. Los píxeles que tenían valores de 0 quedan
enmascarados (en la práctica, no aparecen en la pantalla en absoluto) una
vez que utilizamos el método "updateMask" para agregar estos valores a la
máscara existente.
Desactiva todas las demás capas. Puedes observar cómo la capa
"maskedVeg" ahora ha enmascarado todas las áreas no forestales.
Mapea la máscara actualizada para la capa y podrás comprender por qué se
ha realizado esta acción
Script traducido y ajustado
// Ver la máscara actual de la capa seaVeg.
Map.centerObject(puntoSFO, 9);
Map.addLayer(seaVeg.mask(), {}, 'Máscara de
seaVeg');
// Crear una máscara binaria de áreas no forestales.
var mascarNoBosque = seaVeg.eq(1);
// Actualizar la máscara de seaVeg con la máscara no
forestal.
var seaVegEnmascarado =
seaVeg.updateMask(mascarNoBosque);
// Mapear la capa de vegetación enmascarada.
Map.addLayer(seaVegEnmascarado,
{
min: 0,
max: 1,
palette: ['green']
},
'Capa de Bosque Enmascarado');
// Mostrar el valor del NDVI en la consola.
print('NDVI enmascarado', seaVegEnmascarado);
Sección 2. Umbralización, Máscaras y Remapeo de Imágenes
DRAFT
(2023)
Reasignación de Valores en una Imagen
La reasignación toma valores específicos en una imagen y les asigna un valor diferente. Esto
es especialmente útil para conjuntos de datos categóricos, incluidos aquellos de los que
leíste en el Capítulo F1.2 y aquellos que hemos creado anteriormente en este capítulo.
Utilicemos el método de reasignación para cambiar los valores de nuestra capa "seaWhere".
Ten en cuenta que, dado que estamos cambiando el valor intermedio para que sea el más
grande, también deberemos ajustar nuestra paleta de colores.
Usa el inspector para comparar los valores entre nuestro "seaWhere" original (mostrado
como Agua, No Bosque, Bosque) y el "seaRemap", marcado como "Valores Reasignados".
Haz clic en un área boscosa y deberías ver que los "Valores Reasignados" deberían ser 10 en
lugar de 2.
Script traducido y ajustado
// Implementar reasignación.
// Reasignar los valores de la capa
seaWhere.
var seaRemap = seaWhere.remap([0, 1, 2],
// Valores existentes.
[9, 11, 10]); // Valores reasignados.
Map.addLayer(seaRemap,
{
min: 9,
max: 11,
palette: ['azul', 'verde', 'blanco']
},
'Valores Reasignados');
Sección 2. Umbralización, Máscaras y Remapeo de Imágenes
DRAFT
(2023)

More Related Content

Similar to Capitulo 2 - Google Earth Engine - Imagenes

Similar to Capitulo 2 - Google Earth Engine - Imagenes (20)

Entregable3
Entregable3Entregable3
Entregable3
 
Georeferenciación y clasificación del suelo
Georeferenciación y clasificación del sueloGeoreferenciación y clasificación del suelo
Georeferenciación y clasificación del suelo
 
10_Trucos_ArcGIS_Mapas_c.pdf
10_Trucos_ArcGIS_Mapas_c.pdf10_Trucos_ArcGIS_Mapas_c.pdf
10_Trucos_ArcGIS_Mapas_c.pdf
 
Java 3 d manual
Java 3 d manualJava 3 d manual
Java 3 d manual
 
Manual de prácticas de fotointerpretacion
Manual de prácticas de fotointerpretacionManual de prácticas de fotointerpretacion
Manual de prácticas de fotointerpretacion
 
Xxx
XxxXxx
Xxx
 
Taller UMA
Taller UMATaller UMA
Taller UMA
 
Proyecto 3 dsm
Proyecto 3 dsmProyecto 3 dsm
Proyecto 3 dsm
 
Proyecto 3 dsm
Proyecto 3 dsmProyecto 3 dsm
Proyecto 3 dsm
 
Referencia de usuario
Referencia de usuarioReferencia de usuario
Referencia de usuario
 
3ds max 6
3ds max 63ds max 6
3ds max 6
 
3ds max 6
3ds max 63ds max 6
3ds max 6
 
Canvas
CanvasCanvas
Canvas
 
Proyecto de reneya terminado
Proyecto de reneya terminadoProyecto de reneya terminado
Proyecto de reneya terminado
 
Proyecto de reneya terminado
Proyecto de reneya terminadoProyecto de reneya terminado
Proyecto de reneya terminado
 
Colegio nacional nicolás esguerra
Colegio nacional nicolás esguerraColegio nacional nicolás esguerra
Colegio nacional nicolás esguerra
 
Opengl
OpenglOpengl
Opengl
 
Andres camilo cifuentes solano
Andres camilo cifuentes solanoAndres camilo cifuentes solano
Andres camilo cifuentes solano
 
Practicas OpenglC++
Practicas OpenglC++Practicas OpenglC++
Practicas OpenglC++
 
Analisis de fragmentación con Image j
Analisis de fragmentación con Image jAnalisis de fragmentación con Image j
Analisis de fragmentación con Image j
 

Recently uploaded

Panorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOPanorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOJuan Carlos Fonseca Mata
 
Posiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdfPosiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdfJC Díaz Herrera
 
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdfLos más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdfJC Díaz Herrera
 
Familias_más_ricas_de_AL_en_la_historia.pdf
Familias_más_ricas_de_AL_en_la_historia.pdfFamilias_más_ricas_de_AL_en_la_historia.pdf
Familias_más_ricas_de_AL_en_la_historia.pdfJC Díaz Herrera
 
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdfReservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdfJC Díaz Herrera
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfJC Díaz Herrera
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciaferg6120
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfJC Díaz Herrera
 
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdf
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdfLos_países_con_la_mayor_cantidad_de_rascacielos (2023).pdf
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdfJC Díaz Herrera
 
Premios_nobel_por_grupo_racial_ (2024).pdf
Premios_nobel_por_grupo_racial_ (2024).pdfPremios_nobel_por_grupo_racial_ (2024).pdf
Premios_nobel_por_grupo_racial_ (2024).pdfJC Díaz Herrera
 
Presentacion-Prevencion-Incendios-Forestales.pdf
Presentacion-Prevencion-Incendios-Forestales.pdfPresentacion-Prevencion-Incendios-Forestales.pdf
Presentacion-Prevencion-Incendios-Forestales.pdfDodiAcuaArstica
 
PIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos añosPIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos añosEstefaniaRojas54
 
Partes y elementos de una iglesia básicos
Partes y elementos de una iglesia básicosPartes y elementos de una iglesia básicos
Partes y elementos de una iglesia básicosMarycarmenNuez4
 
Tipos de Educacion en diferentes partes del mundo.pptx
Tipos de Educacion en diferentes partes del mundo.pptxTipos de Educacion en diferentes partes del mundo.pptx
Tipos de Educacion en diferentes partes del mundo.pptxMiguelPerz4
 
Familias más ricas de AL por países (2024).pdf
Familias más ricas de AL por países (2024).pdfFamilias más ricas de AL por países (2024).pdf
Familias más ricas de AL por países (2024).pdfJC Díaz Herrera
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresamerca6
 
Listas de Fundamentos de Programación 2024
Listas de Fundamentos de Programación 2024Listas de Fundamentos de Programación 2024
Listas de Fundamentos de Programación 2024AndrsReinosoSnchez1
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalIngrid459352
 
Las marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdfLas marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdfJC Díaz Herrera
 
Las familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdfLas familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdfJC Díaz Herrera
 

Recently uploaded (20)

Panorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOPanorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATO
 
Posiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdfPosiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdf
 
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdfLos más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
 
Familias_más_ricas_de_AL_en_la_historia.pdf
Familias_más_ricas_de_AL_en_la_historia.pdfFamilias_más_ricas_de_AL_en_la_historia.pdf
Familias_más_ricas_de_AL_en_la_historia.pdf
 
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdfReservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
Reservas de divisas y oro en México en sexenio de AMLO (2018-2024).pdf
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdf
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescencia
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
 
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdf
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdfLos_países_con_la_mayor_cantidad_de_rascacielos (2023).pdf
Los_países_con_la_mayor_cantidad_de_rascacielos (2023).pdf
 
Premios_nobel_por_grupo_racial_ (2024).pdf
Premios_nobel_por_grupo_racial_ (2024).pdfPremios_nobel_por_grupo_racial_ (2024).pdf
Premios_nobel_por_grupo_racial_ (2024).pdf
 
Presentacion-Prevencion-Incendios-Forestales.pdf
Presentacion-Prevencion-Incendios-Forestales.pdfPresentacion-Prevencion-Incendios-Forestales.pdf
Presentacion-Prevencion-Incendios-Forestales.pdf
 
PIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos añosPIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos años
 
Partes y elementos de una iglesia básicos
Partes y elementos de una iglesia básicosPartes y elementos de una iglesia básicos
Partes y elementos de una iglesia básicos
 
Tipos de Educacion en diferentes partes del mundo.pptx
Tipos de Educacion en diferentes partes del mundo.pptxTipos de Educacion en diferentes partes del mundo.pptx
Tipos de Educacion en diferentes partes del mundo.pptx
 
Familias más ricas de AL por países (2024).pdf
Familias más ricas de AL por países (2024).pdfFamilias más ricas de AL por países (2024).pdf
Familias más ricas de AL por países (2024).pdf
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresa
 
Listas de Fundamentos de Programación 2024
Listas de Fundamentos de Programación 2024Listas de Fundamentos de Programación 2024
Listas de Fundamentos de Programación 2024
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dental
 
Las marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdfLas marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdf
 
Las familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdfLas familias más ricas del sionismo en el siglo XXI.pdf
Las familias más ricas del sionismo en el siglo XXI.pdf
 

Capitulo 2 - Google Earth Engine - Imagenes

  • 1. Sección 2. Umbralización, Máscaras y Remapeo de Imágenes Capitulo 2 cartografiadigital2023@gmail.com Managua, Nicaragua Fecha: 9/12/2023 Cartografía Digital: Tu Espacio de conocimientos de SIG
  • 2. En esta sección, exploramos cómo usar operadores lógicos para categorizar los valores de bandas o índices de imágenes, creando así imágenes categorizadas. Utilizamos la implementación de umbrales, que implica utilizar un valor umbral junto con operadores lógicos para dividir la variabilidad de las imágenes en categorías. Por ejemplo, podemos utilizar esta técnica para identificar áreas de vegetación en un mapa de NDVI, simplificando la información para comprender mejor la distribución de la vegetación en la superficie terrestre. Esto puede ser útil para análisis como la proporción de vegetación en una ciudad. Sección 2. Umbralización, Máscaras y Remapeo de Imágenes DRAFT (2023)
  • 3. Inspecciona la imagen. Podemos observar que las áreas con vegetación son de un tono verde oscuro, mientras que las ubicaciones sin vegetación son blancas y el agua aparece en rosa. Si utilizamos la herramienta Inspector para consultar nuestra imagen, veremos que los parques y otras áreas forestales tienen un NDVI superior a aproximadamente 0.5. Por lo tanto, tendría sentido definir las áreas con valores de NDVI superiores a 0.5 como forestales y aquellas por debajo de ese umbral como no forestales. Ahora definamos ese valor como un umbral y úsalo para categorizar nuestras áreas con vegetación. El método "gt" pertenece a la familia de operadores booleanos, es decir, "gt" es una función que realiza una prueba en cada píxel y devuelve el valor 1 si la prueba es verdadera y 0 en caso contrario. Aquí, para cada píxel en la imagen, se verifica si el valor de NDVI es mayor que 0.5. Cuando se cumple esta condición, la capa "seaVeg" recibe el valor 1. Cuando la condición es falsa, recibe el valor 0. Utiliza la herramienta Inspector para explorar esta nueva capa. Si haces clic en una ubicación verde, el NDVI debería ser mayor que 0.5. Si haces clic en un píxel blanco, el valor de NDVI debería ser igual o inferior a 0.5. Otros operadores en esta familia booleana incluyen "menor que" (lt), "menor o igual que" (lte), "igual a" (eq), "no igual a" (neq), "mayor o igual que" (gte) y otros. // Crear una imagen de NDVI utilizando Sentinel 2. var puntoSFO = ee.Geometry.Point(-122.2040, 47.6221); var imagenColeccion = ee.ImageCollection('COPERNICUS/S2') .filterBounds(puntoSFO) .filterDate('2020-08-15', '2020-10-01'); var imagenSeattle = imagenColeccion.first(); var ndviSeattle = imagenSeattle.normalizedDifference(['B8', 'B4']); // Mostrar el NDVI en el mapa. Map.centerObject(puntoSFO, 10); var paletaVegetacion = ['red', 'white', 'green']; Map.addLayer(ndviSeattle, { min: -1, max: 1, palette: paletaVegetacion }, 'NDVI Ciudad'); // Mostrar el valor del NDVI en la consola. print('NDVI Ciudad', ndviSeattle); // Implement a threshold. var seaVeg = ndviSeattle.gt(0.5); // Map the threshold. Map.addLayer(seaVeg, { min: 0, max: 1, palette: ['white', 'green'] }, 'No bosque vs. Bosque'); Script traducido y ajustado Sección 2. Umbralización, Máscaras y Remapeo de Imágenes DRAFT (2023)
  • 4. Creando Categorizaciones Complejas con .where // Implementar .where. // Crear una imagen inicial con todos los valores = 1. var seaWhere = ee.Image(1) // Utilizar clip para limitar el tamaño de la nueva imagen. .clip(ndviSeattle.geometry()); // Establecer todos los valores de NDVI menores que -0.1 a 0. seaWhere = seaWhere.updateMask(ndviSeattle.lte(-0.1).not()).re name("Water"); // Establecer todos los valores de NDVI mayores que 0.5 a 2. seaWhere = seaWhere.where(ndviSeattle.gte(0.5), 2).rename("Forest"); // Agregar nuestra capa dividida en tres clases al mapa. Map.addLayer(seaWhere, { min: 0, max: 2, palette: ['blue', 'white', 'green'] }, 'Agua, Sin bosque, Bosque'); Un mapa binario que clasifica el NDVI es muy útil. Sin embargo, existen situaciones en las que puede ser necesario dividir su imagen en más de dos categorías. Earth Engine proporciona una herramienta, el método "where", que evalúa condicionalmente verdadero o falso en cada píxel según el resultado de una prueba. Esto es análogo a una declaración "if" comúnmente vista en otros lenguajes de programación. Sin embargo, al programar para Earth Engine, evitamos el uso de la declaración "if" en JavaScript, lo cual es importante destacar. Las instrucciones "if" en JavaScript no se calculan en los servidores de Google y pueden generar problemas graves al ejecutar su código. En efecto, los servidores intentan enviar toda la información a ser ejecutada a su propio navegador de computadora, que no está preparado para tareas tan enormes. En su lugar, utilizamos la cláusula "where" para lógica condicional. Supongamos que, en lugar de simplemente dividir las áreas forestales de las no forestales en nuestro NDVI, deseamos dividir la imagen en áreas probables de agua, no forestales y forestales. Podemos utilizar "where" y umbrales de -0.1 y 0.5 para lograrlo. Comenzaremos creando una imagen utilizando "ee.Image". Luego recortamos la nueva imagen para que cubra la misma área que nuestra capa "ndviSeattle". Sección 2. Umbralización, Máscaras y Remapeo de Imágenes Script traducido y ajustado DRAFT (2023)
  • 5. Puedes utilizar la herramienta Inspector para observar que el área negra está enmascarada y que el área blanca tiene un valor constante de 1. Esto significa que los valores de datos están asignados y disponibles para el análisis solo dentro del área blanca. Ocultando Valores Específicos en una Imagen El enmascaramiento de una imagen es una técnica que permite eliminar áreas específicas de una imagen, aquellas que están cubiertas por la máscara, evitando que se muestren o analicen. En Earth Engine, tienes la capacidad de visualizar la máscara actual y modificarla según tus necesidades. Sección 2. Umbralización, Máscaras y Remapeo de Imágenes Script traducido y ajustado // Aplicar enmascaramiento. // Ver la máscara actual de la capa seaVeg. Map.centerObject(puntoSFO, 9); Map.addLayer(seaVeg.mask(), {}, 'Máscara de seaVeg'); DRAFT (2023)
  • 6. Ahora, supongamos que solo queremos mostrar y realizar análisis en las áreas forestales. Vamos a enmascarar las áreas no forestales de nuestra imagen. Primero, creamos una máscara binaria utilizando el método "equals" (eq). Al crear una máscara, estableces los valores que deseas ver y analizar como un número mayor que 0. La idea es configurar los valores no deseados para que tengan el valor 0. Los píxeles que tenían valores de 0 quedan enmascarados (en la práctica, no aparecen en la pantalla en absoluto) una vez que utilizamos el método "updateMask" para agregar estos valores a la máscara existente. Desactiva todas las demás capas. Puedes observar cómo la capa "maskedVeg" ahora ha enmascarado todas las áreas no forestales. Mapea la máscara actualizada para la capa y podrás comprender por qué se ha realizado esta acción Script traducido y ajustado // Ver la máscara actual de la capa seaVeg. Map.centerObject(puntoSFO, 9); Map.addLayer(seaVeg.mask(), {}, 'Máscara de seaVeg'); // Crear una máscara binaria de áreas no forestales. var mascarNoBosque = seaVeg.eq(1); // Actualizar la máscara de seaVeg con la máscara no forestal. var seaVegEnmascarado = seaVeg.updateMask(mascarNoBosque); // Mapear la capa de vegetación enmascarada. Map.addLayer(seaVegEnmascarado, { min: 0, max: 1, palette: ['green'] }, 'Capa de Bosque Enmascarado'); // Mostrar el valor del NDVI en la consola. print('NDVI enmascarado', seaVegEnmascarado); Sección 2. Umbralización, Máscaras y Remapeo de Imágenes DRAFT (2023)
  • 7. Reasignación de Valores en una Imagen La reasignación toma valores específicos en una imagen y les asigna un valor diferente. Esto es especialmente útil para conjuntos de datos categóricos, incluidos aquellos de los que leíste en el Capítulo F1.2 y aquellos que hemos creado anteriormente en este capítulo. Utilicemos el método de reasignación para cambiar los valores de nuestra capa "seaWhere". Ten en cuenta que, dado que estamos cambiando el valor intermedio para que sea el más grande, también deberemos ajustar nuestra paleta de colores. Usa el inspector para comparar los valores entre nuestro "seaWhere" original (mostrado como Agua, No Bosque, Bosque) y el "seaRemap", marcado como "Valores Reasignados". Haz clic en un área boscosa y deberías ver que los "Valores Reasignados" deberían ser 10 en lugar de 2. Script traducido y ajustado // Implementar reasignación. // Reasignar los valores de la capa seaWhere. var seaRemap = seaWhere.remap([0, 1, 2], // Valores existentes. [9, 11, 10]); // Valores reasignados. Map.addLayer(seaRemap, { min: 9, max: 11, palette: ['azul', 'verde', 'blanco'] }, 'Valores Reasignados'); Sección 2. Umbralización, Máscaras y Remapeo de Imágenes DRAFT (2023)