Entrenamiento 4: Series de tiempo
Bienvenido al módulo de visualización de series temporales!
En este módulo, nos sumergiremos en el mundo de las visualizaciones de series temporales, donde podemos crear gráficos impresionantes e informativos que demuestran cómo está cambiando nuestra Tierra con el tiempo. Al aprender a crear estas visualizaciones, podemos entender mejor las tendencias, pero no se trata solo de imágenes llamativas. También exploraremos cómo interpretar los resultados y dar sentido a las imágenes que hemos creado. El pensamiento crítico asegura que nuestros análisis sean precisos y significativos.
“Time is a waste of money.”
Análisis de series temporales con luces nocturnas (NTL)
Los datos de iluminación nocturna suelen utilizarse como un proxy para el cálculo del PIB y para determinar el acceso de una comunidad a las telecomunicaciones, la electricidad y otras infraestructuras. Las luces nocturnas incluso pueden utilizarse para detectar la pesca de calamares y la extracción de petróleo (¡ver el ejemplo)! ¿Qué piensas: cómo puedes utilizar las luces nocturnas en tu proyecto?
La imagen global de luces nocturnas representa el brillo promedio de las luces nocturnas en cada píxel durante un año calendario. La noche cubre todo el planeta en oscuridad. No hay nubes. En la banda de "luces estables", no hay fuentes de luz efímeras. Los rayos, incendios forestales y otras luces transitorias han sido eliminados. Es una capa que busca responder una pregunta sobre nuestro planeta en un momento específico: ¿Qué tan brillantes eran las fuentes artificiales de luz estables de la Tierra en 1993?
Por favor, revisa los metadatos que imprimimos en el panel de la Consola. Deberías ver que la imagen consta de cuatro bandas. El código selecciona la banda "luces_estables" para mostrarla como una capa en el mapa. El rango de valores para la visualización (0-63) representa los valores mínimos y máximos de los píxeles en esta imagen. Como se mencionó anteriormente, puedes encontrar este rango en el Datalog de Datos de Earth Engine o con otros métodos de Earth Engine.
Composiciones RGB abstractas
¿Recuerdas las composiciones? Ahora usaremos un sistema de color aditivo para crear una composición RGB que compare las luces nocturnas estables en tres momentos diferentes.
var lights93 = ee.Image('NOAA/DMSP-OLS/NIGHTTIME_LIGHTS/F101993'); print('Nighttime lights',lights93); Map.addLayer( lights93, { bands: ['stable_lights'], min: 0, max: 63 }, 'Lights 1993');
NTL series de tiempo código de ejercicio
Para este ejercicio, utilizaremos datos del conjunto de datos de Luces Nocturnas DMSP-OLS. (DMSP-OLS Nighttime Lights dataset)
var lights03 = ee.Image('NOAA/DMSP-OLS/NIGHTTIME_LIGHTS/F152003') .select('stable_lights').rename('2003'); var lights13 = ee.Image('NOAA/DMSP-OLS/NIGHTTIME_LIGHTS/F182013') .select('stable_lights').rename('2013'); var changeImage = lights13.addBands(lights03).addBands(lights93.select('stable_lights').rename('1993')); print('change image', changeImage); Map.addLayer( changeImage, { min: 0, max: 63 }, 'Change composite'); Map.setCenter(-43.197, -22.908,7);
Este código crea dos imágenes nuevas, cada una representando un momento diferente en el tiempo (2003 y 2013). Para ambas, utilizamos el método select para seleccionar una banda ("stable_lights") y el método rename para cambiar el nombre de la banda y así indicar el año que representa.
A continuación, el código utiliza el método addBands para crear una nueva imagen de tres bandas que llamamos "changeImage". Esto se hace tomando una imagen (lights13) como la primera banda, usando otra imagen (lights03) como la segunda banda, y la imagen lights93 (que creamos anteriormente) como la tercera banda. La tercera banda recibe el nombre "1993" al colocarse en la imagen.
Finalmente, el código imprime metadatos en la Consola y añade la capa al mapa como una composición RGB utilizando Map.addLayer. Si observas los metadatos impresos, deberías ver bajo la etiqueta "imagen de cambio" que nuestra imagen está compuesta por tres bandas, y cada banda lleva el nombre de un año. También deberías notar el orden de las bandas en la imagen: 2013 (rojo), 2003 (verde), 1993 (azul).
Map.setCenter también es una forma útil de centrar automáticamente y hacer zoom en tu mapa a un punto especificado. (Entradas: longitud, latitud, zoom). Aquí, estamos centrando en Río de Janeiro, Brasil.
Interpretación de los resultados
Ahora podemos leer los colores mostrados en la capa para interpretar diferentes tipos de cambios en las luces nocturnas en todo el planeta durante dos décadas. Los píxeles que aparecen blancos tienen una alta luminosidad en los tres años. Puedes usar el panel Inspector para confirmar esto. Haz clic en el panel Inspector para cambiar el cursor a una mira y luego haz clic en un píxel que aparezca blanco. Busca bajo la categoría Píxel del panel Inspector la capa "Cambiar compuesto". El valor del píxel para cada banda debería ser alto (en o cerca de 63, que es nuestro valor máximo. El valor máximo está especificado en el cuadro de información del conjunto de datos que podemos encontrar fácilmente usando la barra de búsqueda).
Muchos grupos de píxeles blancos representan núcleos urbanos. Si te acercas a Río de Janeiro, notarás que la periferia del núcleo de color blanco aparece amarillenta y los bordes terminales aparecen rojizos. Basándote en el código que escribiste, ¿cómo interpretas esto? Recuerda, creamos un compuesto para mostrar la presencia de luz más reciente como rojo.
Para explorar de manera más eficiente la capa de cambio compuesto, usa el panel Administrador de capas para desmarcar todas las capas excepto "Cambiar compuesto"(Change composite). Ahora el mapa responderá más rápido cuando hagas zoom y panorámicas porque solo actualizará la única capa mostrada.
Además del cambio urbano, la capa también muestra cambios en actividades de extracción de recursos que producen luces brillantes. A menudo, estas actividades producen luces que son estables durante el transcurso de un año, pero no se mantienen durante el transcurso de una década o más.
Por ejemplo, frente a la costa de Río, puedes ver cambios geográficos en las plataformas petroleras que generan luces brillantes en el océano vacío. Observa que los píxeles azules están más cerca de la costa, mientras que los verdes y rojos están cada vez más alejados hacia el mar. ¿Qué significa esto sobre la extracción y agotamiento de recursos petroleros con el tiempo?
Además, desplázate hacia el estrecho de Corea (entre Corea del Sur y Japón), podrás ver cambios geográficos en las flotas pesqueras que utilizan luces halógenas brillantes para atraer calamares y otras criaturas marinas hacia la superficie del agua y dentro de sus redes. Es probable que los píxeles azulados fueran pescados con más frecuencia en 1993 y se utilizaran menos en 2003, mientras que los píxeles verdosos probablemente fueran pescados con más frecuencia en 2003 y menos en 2013.
De manera similar, la extracción de combustibles fósiles produce luces nocturnas a través de la quema de gas. Si te desplazas hacia América del Norte, las manchas rojas en Alberta y Dakota del Norte y una franja roja en el sureste de Texas representan lugares donde la extracción de petróleo y gas estaba ausente en 1993 y 2003, pero en auge para 2013.
Desplázate hacia el golfo Pérsico y verás cambios que parecen luces navideñas con puntos blancos, rojos, verdes y azules que aparecen cerca unos de otros; estos distinguen las ubicaciones estables y cambiantes de la producción de petróleo.
Las imágenes a continuación muestran lo que deberías ver en el estrecho de Corea (izquierda), América del Norte (centro) y el golfo Pérsico (derecha).
Resumen
Esto es lo que aprendimos en este entrenamiento:
Creamos una visualización de series temporales, utilizando una composición RGB
Aprendimos la importancia de interpretar los resultados y pensar críticamente sobre lo que nuestro código está produciendo visualmente
Nuevos elementos de código:
En la función EE.Image, podemos usar .select para elegir la banda específica que queremos y .rename para elegir un nombre intuitivo para nuestra imagen satelital
Podemos crear una variable compuesta usando .addBands
Podemos usar Map.setCenter para centrar convenientemente nuestro mapa en un punto geográfico de interés