Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro,...

26
taller SIGTE Documentation Publicación 0.1 Josep Sitjar i Alexandre Busquets 22 de April de 2015

Transcript of Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro,...

Page 1: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

taller SIGTE DocumentationPublicación 0.1

Josep Sitjar i Alexandre Busquets

22 de April de 2015

Page 2: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las
Page 3: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

Índice general

1. ¿Qué es la teledetección? 31.1. Fundamentos de la teledetección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2. La radiación electromagnética . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3. El espectro electromagnético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4. La firma espectral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2. Descarga de imágenes satélite 7

3. El programa Landsat 93.1. El sensor OLI (Operational Land Imager) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.2. El sensor TIRS (Thermal Infrarred Sensor) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.3. Las bandas del satélite Landsat 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.4. Combinación de bandas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4. Cálculo de la temperatura terrestre (LST) utilizando las bandas del TIRS 134.1. Split-window algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134.2. Convertir los ND a valores de radiancia (TOA - Top of athmosphere) . . . . . . . . . . . . . . . . . 144.3. Conversión a valores de reflectividad aparente y temperatura de Brillo a la altura de la atmósfera (TOA) 144.4. Corrección atmosférica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.5. Cálculo de valores de emisividad de la superficie terrestre . . . . . . . . . . . . . . . . . . . . . . . 164.6. Aplicación del Split-Window Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.7. Obtener valores en ºC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

5. Python y GRASS 195.1. Descargar código de los ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195.2. Pygrass Library (grass.script) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195.3. Variables de entorno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205.4. python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215.5. Sintaxi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215.6. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

I

Page 4: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

II

Page 5: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

taller SIGTE Documentation, Publicación 0.1

Instructor: Josep Sitjar, Alexandre Busquets (SIGTE – Universitat de Girona)

El taller se centrará fundamentalmente en descubrir las potencialidades de la teledetección como fuente de datosesencial en los SIG. Se hará una breve introducción al proceso de adquisición de imágenes de satélite en función dela plataforma (Landsat, Spot. . . ) y de los sensores encargados de realizar la observación, así como de los principalesaspectos a tener en cuenta al trabajar con estas imágenes. Mostraremos algunos de los principales portales disponiblespara la descarga de imágenes de satélite. Son muchas las herramientas que ofrece el software GRASS GIS para eltrabajo con imágenes de satélite, con lo que buena parte del taller se centrará en descubrir algunos de los principalesmódulos de este software y el flujo de trabajo para desarrollar un proyecto de teledetección: desde la visualizaciónal análisis, pasando también por los correspondientes procesos de corrección. Finalmente, se desarrollarán algunosscripts en Python para el establecimiento de rutinas de análisis de los datos obtenidos.

Contents

TALLER TELEDETECCIÓN• ¿Qué es la teledetección?• Descarga de imágenes satélite• El programa Landsat• Cálculo de la temperatura terrestre (LST) utilizando las bandas del TIRS• Python y GRASS

Índice general 1

Page 6: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

taller SIGTE Documentation, Publicación 0.1

2 Índice general

Page 7: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

CAPÍTULO 1

¿Qué es la teledetección?

El término teledetección hace referencia a las distintas formas de adquirir información de forma remota a través desensores sin entrar en contacto físico con el objeto. Los sensores se localizan en plataformas de observación (bien enaviones o satélites), y registran la información centrada en las regiones del espectro electromagnético. La teledeteccióntiene como objetivo obtener las características de la superficie observada y los fenómenos que en ella tienen lugar.Distintas disciplinas se sirven de esta fuente de información (meteorología, oceanografía, geología, geografía,...),por lo que esta nueva forma de ver nuestro planeta viene acompañada por el desarrollo de potentes modelos físico-matemáticos que tratan de describir los procesos físicos que tienen lugar en nuestro entorno.

1.1 Fundamentos de la teledetección

1. Fuente de radiación (puede ser natural) o artificial. La primera de ellas es la forma más importante de tele-detección, pues se deriva directamente de la luz solar, principal fuente de energía del plantea. El sol ilumina lasuperficie terrestre, que refleja esa energía en función del tipo de cubierta presente sobre ella. Este flujo reflejadose recoge por el sensor, que lo transmite posteriormente a las estaciones receptoras.

3

Page 8: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

taller SIGTE Documentation, Publicación 0.1

Figura 1.1: Esquema de un sistema de teledetección. Fuente: V.Olaya.

2. Objetos que interaccionan con la radiación o la emiten.

3. Atmósfera por la que se desplaza la radiación, tanto desde la fuente hasta el objeto como desde el objeto hastael receptor. La atmósfera también interactúa con la radiación, introduciendo igualmente perturbaciones en ella.

4. Receptor que recoge la radiación una vez ésta ha sido perturbada o emitida por los objetos. El receptor va agenerar como producto final una imagen en cuyas celdas se va a contener un valor que indica la intensidad dela radiación. Estos valores son valores enteros que indican el nivel de dicha radiación entre una escala definida(habitualmente valores entre 1 y 256), y se conocen dentro del ámbito de la teledetección como Niveles Digitales

1.2 La radiación electromagnética

La radiación electromagnética es una de las cuatro fuerzas fundamentales en la naturaleza, y deriva del campo electro-magnético. Un cuerpo con carga, en reposo o que se mueve en el espacio, genera un campo electromagnético definidomediante dos vectores: el campo electrónico y el campo magnético. Así, se define la radiación electromagnéticacomo una combinación de campos eléctricos y magnéticos oscilantes y perpendiculares entre sí que se propagana través del espacio transportando energía de un lado a otro.

Figura 1.2: Esquema de onda electromagnética. Fuente: E. Chuvieco

Según la teoría ondulatoria, las ondas electromagnéticas se desplaza a la velocidad de la luz siguiendo un modeloarmónico y continuo, y se pueden describir por dos elementos: longitud de onda (𝜆) y frecuencia (F). La primera

4 Capítulo 1. ¿Qué es la teledetección?

Page 9: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

taller SIGTE Documentation, Publicación 0.1

hace referencia a la distancia entre dos tipos sucesivos de onda, mientras que la frecuencia designa el número de ciclospasando por un punto fijo en una unidad de tiempo. Ambos elementos están inversamente relacionados: una mayorlongitud de onda -y por tanto, una menor frecuencia- tiene asociada una menor energía de la radiación.

1.3 El espectro electromagnético

De lo mencionado hasta ahora se deduce que puede definirse cualquier tipo de energía radiante en función de sulongitud de onda o frecuencia. Aunque la sucesión de valores de longitud de onda es continua, suelen establecerseuna serie de bandas en donde la radiación electromagnética manifiesta un comportamiento similar. La organizaciónde estas bandas de longitudes de onda o frecuencia se denomina espectro electromagnético, y comprende desde laslongitudes de onda más cortas (rayos gamma, rayos X), hasta las Kilométricas.

En la siguiente imagen se muestra un esquema del espectro electromagnético y sus principales regiones de interés:

Figura 1.3: Espectro electromagnético y sus principales regiones de interés. Fuente: Wikipedia

1.4 La firma espectral

La firma espectral es el conjunto de reflectancias en las distintas longitudes de onda que presenta un objeto o materialdado. Dicho de otro modo, la firma espectral es la ‘huella dactilar’ que caracteriza cada objeto, y que deriva directa-mente de sus propiedades y de cómo éstas influyen en la forma en que dicho objeto refleja la radiación incidente.

Es gracias a la información que proporcionan las firmas espectrales que es posible identificar en una imagen de satélitela naturaleza de los objetos.

Las firmas espectrales son a menudo representadas gráficamente en un eje de coordenadas, donde la longitud de ondaestá en el eje de las abscisas, y la reflectancia en el eje de las ordenadas.

Nota: Firma espectral con GRASS

Utilizando i.spectral de GRASS podéis obtener la firma espectral de una cubierta concreta.

1.3. El espectro electromagnético 5

Page 10: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

taller SIGTE Documentation, Publicación 0.1

Figura 1.4: Signaturas espectrales típicas de distintas cubiertas. Fuente: E. Chuvieco

6 Capítulo 1. ¿Qué es la teledetección?

Page 11: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

CAPÍTULO 2

Descarga de imágenes satélite

Earth Explorer. Portal para realizar consultas y adquirir imágenes de satélite, fotografías aéreas y productos carto-gráficos del archivo. http://earthexplorer.usgs.gov/

GLOVIS, visualizador de imágenes del servicio geológico de los Estados Unidos cuenta con imágenes de variossatélites. http://glovis.usgs.gov/

US Geological Sourvey, EROS Data Center, organismo que mantiene una base de datos sobre imágenes del programaLandsat. http://eros.usgs.gov/

7

Page 12: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

taller SIGTE Documentation, Publicación 0.1

8 Capítulo 2. Descarga de imágenes satélite

Page 13: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

CAPÍTULO 3

El programa Landsat

Vamos a desarrollar el taller utilizando imágenes del satélite Landsat.

Desde que a finales de la década de los 60 la agencia espacial norteamericana diseñó el primer proyecto dedicadoexclusivamente a la observación de los recursos terrestres, la familia Landsat ha constituido el proyecto más fructíferode teledetección espacial desarrollado hasta el momento.

La buena resolución de sus sensores, el carácter global y periódico de la observación que realizan y la buena comer-cialización, explican su profuso empleo por expertos de muy variados campos en todo el mundo.

Con el Landsat 8 (cuyo nombre técnico es LCDM ‘Landsat Data Continuity Mission’) se ha dado continuidad alprograma más largo de la historia sobre información del planeta.

3.1 El sensor OLI (Operational Land Imager)

A bordo del Landsat 8, se encuentra el sensor OLI, puesto en órbita en Febrero del 2013. Las bandas espectralescapturadas por este sensor son muy parecidas a las del sensor ETM+ (a bordo del Landsat 7), aunqué se han añadidodos de nuevas: un nuevo canal en azul visible (banda 1) diseñado específicamente para observar la calidad del aguaen lagos someros y zonas costeras, así como para detectar aerosoles, y otro canal en el infrarrojo (banda 9) paradeterminar la presencia de nubes -fundamentalmente cirrus-.

Asimismo, junto cada escena del Landsat 8 se incluye también una banda de valoración de calidad (Quality Assuranceband), que ofrece información respecto anomalías en la toma de datos por problemas en el instrumental o la presenciade elementos como nubes, agua y nieve.

3.2 El sensor TIRS (Thermal Infrarred Sensor)

El sensor TIRS capta información acerca la temperatura de la superficie terrestre a través de dos bandas del infrarrojetérmico (banda 10 y banda 11). Permite distinguir entre la temperatura de la superficie terrestre y la temperaturaatmosférica. Tienen una resolución de 100 mts.

9

Page 14: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

taller SIGTE Documentation, Publicación 0.1

3.3 Las bandas del satélite Landsat 8

Sensor Band Number Amplitud ResoluciónOli

1. Coastal aerosol0,43-0,45𝜇m 30m

2. Blue0,45-0,51𝜇m 30m

3. Green0,53-0,59𝜇m 30m

4. Red0,64-0,67𝜇m 30m

5. Near Infrared (NIR)0,85-0,88𝜇m 30m

6. SWIR 11,57-1,65𝜇m 30m

7. SWIR 22,11-2,29𝜇m 30m

8. Panchromatic0,50-0,68𝜇m 15m

9. Cirrus1,36-1,38𝜇m 30m

TIRS10. Thermal Infrarred 1

10,6-11,9𝜇m 100m

11. Thermal Infrarred 211,5-12,51𝜇m 100m

Comparativa longitud de onda de las bandas del Landsat 8 y Landsat 7:

3.4 Combinación de bandas

Las bandas multiespectrales de una imagen de satélite pueden visualizarse mediante distintas composiciones en color.Basta por ello aplicar cada uno de los tres colores primarios (rojo, verde y azul) a una banda distinta de la imagen,seleccionada con el criterio y el orden que se estime más oportuno. El proceso permite visualizar simultáneamente,imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección delas bandas para realizar la composición, y el orden de los colores destinados a cada una, dependen del sensor sobre elque se trabaje y de la aplicación última del proyecto.

Encontraréis algunas combinaciones posibles para Landsat 8 en: http://landsat.usgs.gov/L8_band_combos.php

Nota: Combinación de bandas con GRASS

Utilizad r.composite o d.rgb para realizar algunas combinaciones de bandas.

10 Capítulo 3. El programa Landsat

Page 15: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

taller SIGTE Documentation, Publicación 0.1

3.4. Combinación de bandas 11

Page 16: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

taller SIGTE Documentation, Publicación 0.1

12 Capítulo 3. El programa Landsat

Page 17: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

CAPÍTULO 4

Cálculo de la temperatura terrestre (LST) utilizando las bandas delTIRS

4.1 Split-window algorithm

Para el cálculo de la temperatura de la superficie, se utilizará el algoritmo Split-Window (SW). Se trata del algoritmomas utilizado para el cálculo de LST debido a su simplicidad y robustez.

Este algoritmo se basa en el hecho que la radiación absorbida por la atmósfera es proporcional a la diferencia de brilloentre las mediciones simultáneas en dos longitudes de onda diferentes, correspondientes a las dos bandas del sensorTIRS.

LST = TB10+ C1(TB10-TB11) + C2(TB10-TB11)2+ C0+(C3+C4W) (1-𝜖) + (C5+C6W) 𝜖

donde:

LST - Land Surface Temperature (Kelvin)

C0 to C6- Valores del coeficiente para SW (Skokovic et al, 2014; Sobrino et al, 1996; Shaouhua Zhao et al, 2009)

Constant ValueC0 -0.268C1 1.378C2 0.183C3 54.300C4 -2.238C5 -129.2C6 16.400

TB10y TB11- temperatura de brillo de la banda 10 y 11 (K)

- valor medio LSE (Land Surface Emissivity) de las bandas del TIR

W - contenido de vapor de agua en la atmósfera

𝜖 - Diferencia en LSE

Ver también:

Estimation of Land Surface Temperature of Dindigul district using Landsat 8 Data (2014). Rajeshwari A, ManiN D. International Journal of Research in Engineering and Technology.

13

Page 18: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

taller SIGTE Documentation, Publicación 0.1

4.2 Convertir los ND a valores de radiancia (TOA - Top of athmosphe-re)

A partir de los datos medidos por el sensor, puede obtenerse la energía reflejada, ya que la radiancia espectral medidapor éste es consecuencia de la reflexión de la radiación electromagnética en las cubiertas. Esta reflexión se codificacon un valor numérico, que se denomina ND, de acuerdo a los coeficientes de calibración específicos para cada sensor.Dada que estos coeficientes son conocidos, puede realizarse el proceso inverso, obteniendo así los valores de radianciaespectral detectado por el sensor a partir de los ND.

Para aplicar la fórmula del SW algorithm, es imprescindible conocer estos valores de radiancia. Las bandas del sensorOLI y TIRS pueden convertirse a valores de radiancia espectral del siguiente modo:

L𝜆 = MLQcal + AL

donde:

L𝜆 = TOA spectral radiance (Watts/( m2 * srad * 𝜇m))

ML = Band-specific multiplicative rescaling factor from the metadata (RADIANCE_MULT_BAND_x, where x is theband number)

AL = Band-specific additive rescaling factor from the metadata (RADIANCE_ADD_BAND_x, where x is the bandnumber)

Qcal = Quantized and calibrated standard product pixel values (DN)

4.3 Conversión a valores de reflectividad aparente y temperatura deBrillo a la altura de la atmósfera (TOA)

A partir de los valores de radiancia, utilizando las bandas térmicas fácilmente se puede derivar la temperatura a la alturadel sensor. Las bandas del TIRS se pueden convertir a temperatura de brillo utilizando las constantes que figuran en elarchivo de metadatos. De este modo:

donde:

T = At-satellite brightness temperature (K)

L𝜆 = TOA spectral radiance (Watts/( m2 * srad * 𝜇m))

K1 = Band-specific thermal conversion constant from the metadata (K1_CONSTANT_BAND_x, where x is the bandnumber, 10 or 11)

K2 = Band-specific thermal conversion constant from the metadata (K2_CONSTANT_BAND_x, where x is the bandnumber, 10 or 11)

Abrid el archivo de metadatos de la imagen (.met) con un editor de texto, y comprobad que figuran todos los parámetrospara el cálculo de la reflectividad: date, sun_elevation, product_date, gain.

Nota: Ejercicio 1

14 Capítulo 4. Cálculo de la temperatura terrestre (LST) utilizando las bandas del TIRS

Page 19: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

taller SIGTE Documentation, Publicación 0.1

Cread un nuevo location y mapset de GRASS, utilizando el mismo SR que la imagen Landsat 8.

Utilizad el comando r.in.gdal para importar todas las bandas de la imagen.

Utilizad i.landsat.toar de GRASS para obtener la temperatura de brillo a la altura de la atmósfera a partirde las bandas térmicas de la imagen.

El método uncorrected at-sensor values de i.landsat.toar convierte los ND de la imagen a valores deradiancia, y posteriormente a reflectividad. Las bandas térmicas se convierten en primer lugar a valoresde radiancia, y posteriormente a valores de temperatura a la altura del sensor, en grados Kelvin.

i.landsat.toar input=PREFIJO DE LAS BANDAS output=PREFIJO DE SALIDA metfile=RUTA AL FICHERO DEMETADATOS sensor=oli8

Si se añade -r, se obtendrán valores de radiancia en vez de valores de reflectividad.

4.4 Corrección atmosférica

Este método, no obstante, no tiene en consideración las influencias atmosféricas y asume un terreno plano y unaobservación vertical, lo cual supone una simplificación de la realidad. De ahí que debamos hablar de reflectividadaparente, pues el valor calculado representa sólo la reflectividad captada por el sensor, pero no la realmente medibleen la superficie.

En cuanto a la observación vertical, es asumible para la mayor parte de los sensores de interés ambiental (Landsat,IRS, MOS-MESSR...), pero debe considerarse cuando la adquisición no es vertical, como ocurre con el SPOT-HRV.

Por otro lado, la influencia atmosférica no afecta por igual a los dos componentes del cálculo de la reflectividad (energíareflejada e incidente), ya que el espesor de la atmósfera que atraviesan es distinto. Además, hay que considerar que ala radiancia solar directa hay que añadir la difusa, procedente de otros objetos vecinos. Por ello, la radiancia que recibeel satélite no es la misma que la que sale del suelo, que es la que interesa, dado que pretendemos medir la reflectividadde la cubierta, no la influida por la atmósfera.

Existen distintos procedimientos para abordar las influencias atmosféricas, y determinar la radiancia del suelo, nola que recibe el satélite. Desde GRASS, disponemos del módulo i.landsat.toar que permite aplicar el método decorrección DOS (Dark Object Substraction), y i.atcorr, para aplicar el método 6S (Second Simulation of SatelliteSignal in the Solar Spectrum).

Por su sencillez, utilizaremos el método DOS, que consiste en suponer que el mínimo valor de ND debe corresponder alas zonas oscuras presentes en la imagen y que en ausencia de efecto atmosférico ese valor debería ser cero. Conformea esta suposición, se deduce que las diferencias entre el cero y los valores mínimos de los histogramas de las distintasbandas afectadas se deben al incremento de la radiancia absorbida por el sensor como consecuencia de la radiacióndifusa de la atmósfera. El procedimiento de corrección consiste en restar de todos los ND de cada banda, el ND mínimode ella, de modo que se haga coincidir con el cero del origen del histograma.

Existen algunas variantes del método de corrección atmosférica DOS (DOS1, DOS2, DOS3 y DOS4)

Ver también:

Classification and Change Detection Using Landsat TM Data: When and How to Correct Atmospheric Effects(2000). Remote Sensing Environment.

Nota: Ejercicio 2Aplicad el método de corrección atmosférica DOS1 a las bandas de la imagen Landsat 8, dejando por defecto losvalores correspondientes a Percent of solar radiance y Minimum pixels to consider digital number as dark object.

i.landsat.toar input=PREFIX output=PREFIX metfile=ARCHIVO MET method=dos1

El proceso puede demorarse algunos minutos.

4.4. Corrección atmosférica 15

Page 20: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

taller SIGTE Documentation, Publicación 0.1

http://gis.stackexchange.com/questions/40531/how-to-determine-aerosol-model-value-for-i-atcorr-in-grass

4.5 Cálculo de valores de emisividad de la superficie terrestre

Otro de los parámetros del SW algorithm que es necesario obtener, es el de la emissividad de la superficie terrestre.Para entender que es la emisividad, hay que hacer referencia previamente a la emitancia.

Nota: Emitancia y Emisividad

Se entiende por emitancia el total de energía radiada en todas las direcciones desde una unidad de área y por unidadde tiempo. Se mide en vatios por metro cuadrado.

La emisividad es la relación entre la emitancia de una superfície (M) y la que ofrecería un emisor perfecto, denominadocuerpo negro, a la misma temperatura.

A partir de Índice de Vegetación de Diferencia Normalizada (NDVI) es posible derivar el valor de emisividad de lascubiertas del suelo.

Ver también:

Mapping Land Surface Emissivity from NDVI: Application to European, African, and South American Areas(1996). Enric Valor and Vicente Caselles. Elsevier Science Inc.

El índice de Vegetación de Diferencia Normalizada

El Índice de Vegetación de Diferencia Normalizada, también conocido como NDVI por sus siglas en inglés, es uno delos índices más importantes y más ampliamente utilizados.

La fórmula para la obtención de este índice es la siguiente:

NDVI = (IR – R) / (IR + R)

donde R e IR son las reflectancias correspondientes al rojo (Banda 4) e infrarrojo (Banda 5) respectivamente.

Los valores resultantes de este índice se encuentran dentro del intervalo (-1,1), indicando los valores altos la presenciade vegetación.

(NDVI < 0), correspondientes a agua o cubiertas artificiales

(0 < NDVI < 0,2), correspondientes a suelo desnudo o vegetación muerta

(0,2 < NDVI < 0,4), correspondientes a vegetación dispersa o poco vigorosa

(0,4 < NDVI < 0,6), correspondientes a vegetación abundante y vigorosa

(NDVI > 0,6), correspondientes a vegetación muy densa y vigorosa,

Nota: Ejercicio 3Utilizad el comando de GRASS i.vi para el cálculo de índices de vegetación.Las bandas a utilizar serán las correspon-dientes al rojo (B4) y al infrarrojo (B5) corregidas atmosféricamente.

i.vi red=B4 corregida atmosféricamente output=NDVI viname=ndvi nir=B5 corregida atmosféricamente

Visualizad el histograma de la imagen correspondiente al NDVI que habéis creado. Los valores debería estar entre elintervalo -1,1.

Nota: Ejercicio 4Aplicad una paleta de color específica para la representación de capas NDVI

16 Capítulo 4. Cálculo de la temperatura terrestre (LST) utilizando las bandas del TIRS

Page 21: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

taller SIGTE Documentation, Publicación 0.1

r.colors map=NDVI color=ndvi

Fractional Vegetation Cover (FVC) El FVC es un índice que permite estimar la fracción de superficie ocupada porvegetación, y se obtiene a partir del NDVI. Obtener el FVC es necesario para hallar los valores de LSE.

Nota: Ejercicio 5Utilizad la calculadora raster de GRASS para obtener el FVC Podéis utilizar r.info para hallar los valores mínimo ymáximo de la capa NDVI.

r.mapcalc “FVC = ((NDVI+NDVImin)/(NDVImax - NDVImin))^2”

Land Surface Emissivity

Finalmente, podréis obtener los valores correspondientes a LSE para las bandas del sensor TIRS (Band 10 y Band 11),teniendo en consideración que:

donde:

Emissivity Band 10 Band 11Soil 0.971 0.977Vegetation 0.987 0.989

Fuente: Skokovic et al, 2014; Sobrino et al, 1996; Shaouhua Zhao et al, 2009.

Nota: Ejercicio 6

4.5. Cálculo de valores de emisividad de la superficie terrestre 17

Page 22: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

taller SIGTE Documentation, Publicación 0.1

Utilizad la calculadora raster de GRASS para obtener los valores LSE de las bandas 10 y 11.

r.mapcalc “LSE_B10 = 0.971*(1-FVC)+0.987*FVC”

r.mapcalc “LSE_B11 = 0.977*(1-FVC)+0.989*FVC”

4.6 Aplicación del Split-Window Algorithm

Recordad que el SW Algorithm que vamos a aplicar, es:

LST = TB10+ C1(TB10-TB11) + C2(TB10-TB11)2+ C0+(C3+C4W) (1-𝜖) + (C5+C6W) 𝜖

En este momento, ya únicamente nos faltan los parámetros correspondientes a:

- valor medio LSE (Land Surface Emissivity) de las bandas del TIR = (LSE10+ LSE11) / 2

𝜖 - Diferencia en LSE = LSE10- LSE11

Nota: Ejercicio 7Utilizad la calculadora ráster de GRASS para obtener los valores correspondientes a al valor medio LSE y a ladiferencia en LSE.

El valor medio en contenido de agua puede obtenerse del sensor Modis:http://en.wikipedia.org/wiki/File:Atmospheric_Water_Vapor_Mean.2005.030.jpg

ref_B10+1.378*( ref_B10 - ref_B11)+0.183*( ref_B10 - ref_B11 ) ^2-0.268+ (54.300-2.238*0.013 )*(1-LSE_valorMedio)+(-129.20+16.40*0.013)* ( LSE_B10 - LSE_B11

4.7 Obtener valores en ºC

Los valores de temperatura que habéis obtenido, están en grados Kelvin. Para obtener los valores en ºC, recordad que0 Kelvin = -273.15 Centígrados

18 Capítulo 4. Cálculo de la temperatura terrestre (LST) utilizando las bandas del TIRS

Page 23: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

CAPÍTULO 5

Python y GRASS

5.1 Descargar código de los ejercicios

Debéis de ejecutar el script ‘obtener_datos_taller.sh’ que tenéis en el escritorio.

5.2 Pygrass Library (grass.script)

Pygrass es una API orientada al objeto para trabajar con GRASS, que permite a los programadores trabajar con GRASSde una forma mas fácil y natural con un lenguaje de script.

Abrir grass70

$ grass70

En la consola de GRASS

help(grass)

Nos muestra la ayuda y los módulos que dispone. El código de estos de encuentra en/usr/lib/grass70/etc/python/grass/script/

Al ejecutar en la consola de GRASS, nos muestra la del módulo ‘grass.utils’.

help(grass.utils)

Al ejecutar en la consola de GRASS, nos muestra la del módulo ‘grass.utils’.

help(grass.utils)

La consola nos permite escribir código y rutinas que ejecuten procesos y interactuar con la interfaz gráfica.

En la consola de GRASS. Vemos como carga la capa LST en el árbol de capas.

AddLayer(’LST’)

En la consola de GRASS. Obtenemos la lista de imágenes que tenemos.

grass.list_strings(’raster’)

En la consola de GRASS. Obtenemos información acerca de la imagen ‘LST’.

grass.raster.raster_info(’LST’)

19

Page 24: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

taller SIGTE Documentation, Publicación 0.1

Mas información en:

http://grass.osgeo.org/grass71/manuals/libpython/pygrass_index.html

Además de la consola de python de GRASS también podemos trabajar con GRASS desde scripts de python.

$ python nuestro_script.py

Y que este ejecute cógigo que llame a los módulos de GRASS.

5.3 Variables de entorno

Antes de empezar a programar con python y GRASS desde scripts hay que definir y inicializar las variables de entornoy variables de GRASS así nuestros scripts de python puedan funcionar de forma correcta.

#!/bin/bash

#http://grasswiki.osgeo.org/wiki/GRASS_and_Python#http://grass.osgeo.org/grass70/manuals/variables.html

export GISBASE=/usr/lib/grass70export GRASS_VERSION="7.0.0"

GISRC="$HOME/.grassrc7"

export GISRCexport GRASS_PYTHON=python

export PATH="$GISBASE/bin:$GISBASE/scripts:$PATH"export LD_LIBRARY_PATH="$GISBASE/lib"export GRASS_LD_LIBRARY_PATH="$LD_LIBRARY_PATH"export PYTHONPATH="$GISBASE/etc/python:$PYTHONPATH"

#Generamos el GISRCRCMYGISDBASE=$HOME/Documentos/grassdataMYLOC=catalunyaMYMAPSET=tallerecho "GISDBASE: $MYGISDBASE" > "$GISRC"echo "LOCATION_NAME: $MYLOC" >> "$GISRC"echo "MAPSET: $MYMAPSET" >> "$GISRC"

http://grass.osgeo.org/grass70/manuals/variables.html

Ejecutar script que inicializa nuestras variables de entorno y de GRASS.

$ source grass-env.sh

Ejemplo que muestra las variables de entorno de GRASS.

"""Muestra las variables de entorno de GRASS"""

import grass.script as grass

env = grass.gisenv()

print env

Para ejecutar el script

20 Capítulo 5. Python y GRASS

Page 25: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

taller SIGTE Documentation, Publicación 0.1

$ python ejemplo_01_entorno.py

Si os fijáis en el código, las variables de GRASS se almacenan en el archivo /home/user/.grassrc7

GISDBASE: /home/user/Documentos/grassdataLOCATION_NAME: catalunyaMAPSET: taller

5.4 python

En la consola

$ python

Para importar la librería de GRASS

import grass.script as grass

Ejemplo que muestra los límites del location.

import os

import grass.script as grass

#Print region extentr = grass.read_command("g.region", flags=’p’ )print r

Para ejecutar el script

$ python ejemplo02_location.py

5.5 Sintaxi

http://grass.osgeo.org/grass70/manuals/libpython/script_intro.html#syntax

Consola de bash o CMD de windows

r.info map=NDVI -g --verbose

En python

grass.read_command(’r.info’, map=’NDVI’, flags=’g’, verbose=True)

5.5.1 Sintaxi

function_name(‘module.name’, option1=value1, option2=..., flags=’flagletters’)

run_command()

Ejecutar una comanda y no esperar ninguna salida

>>> grass.run_command(’g.remove’, type=’raster’, name=’raster1’, flags=’f’)0

5.4. python 21

Page 26: Publicación 0.1 Josep Sitjar i Alexandre Busquets · imágenes de distintas regiones del espectro, lo que facilita la delimitación visual de algunas cubiertas. La elección de las

taller SIGTE Documentation, Publicación 0.1

read_command

Ejecutar una comanda y esperar una salida como texto.

>>> grass.read_command(’g.region’, flags=’p’)’projection: 1 (UTM)\nzone: 31\ndatum: wgs84\nellipsoid: wgs84\nnorth: 4741215\nsouth: 4503885\nwest: 370485\neast: 603915\nnsres: 30\newres: 30\nrows: 7911\ncols: 7781\ncells: 61555491\n’

parse_command()

Nos devuelve el resultado en un diccionario.

>>> grass.parse_command(’g.region’, flags=’p’){’ewres: 30’: None, ’ellipsoid: wgs84’: None, ’nsres: 30’: None, ’rows: 7911’: None, ’north: 4741215’: None, ’cells: 61555491’: None, ’projection: 1 (UTM)’: None, ’zone: 31’: None, ’cols: 7781’: None, ’west: 370485’: None, ’datum: wgs84’: None, ’east: 603915’: None, ’south: 4503885’: None}

5.6 Ejercicios

En la carpeta ‘/home/user/Documentos/taller_grass/workspace/ejercicios’ tenéis los archivos que debéis de completar.

ejercicios_00.py

ejercicios_01.py

ejercicios_02.py

ejercicios_03.py

ejercicios_04.py

ejercicios_05.py

ejercicios_06.py

ejercicios_07.py

ejercicios_08.py

Los ejercicios son los mismos que habéis realizado con la interfaz gráfica de GRASS pero con una imagen distinta. Enel ejercicio 08 obtendremos datos estadísticos de la imagen ‘LST’ y ‘LST2’ y los cruzaremos con la capa de ‘barrios’de Girona.

Si todo funciona correctamente podemos ver los datos en un gráfico al ejecutar en la consola de bash.

$ python ejercicios_limpiar.py

Ejemplo que os indica que debéis de implementar el código del ejercicio.

##EJERCICIO## ##EJECUTAR_COMANDO## ##OBTENER TEMPERATURA DE BRILLO## ##PARÁMETROS##

Antes de empezar debés de limpiar todo lo que habéis hecho menos la capa ‘LST’ para ello tenéis el archivo ‘ejerci-cios_limpiar.py’

En la consola de bash

$ python ejercicios_limpiar.py

22 Capítulo 5. Python y GRASS