Está en la página 1de 9

31/7/23, 00:04 Cálculo de Tasseled Cap para imágenes Sentinel-2 con R - Geoinnova

(https://geoinnova.org/)

(https://geoinnova.org/master-gis/)

TELEDETECCIÓN (HTTPS://GEOINNOVA.ORG/BLOG-TERRITORIO/SECCION/TELEDETECCION/)

Cálculo de Tasseled Cap para imágenes Sentinel-2


con R
24/02/2021

Una semana más volvemos con un nuevo ejemplo sobre las múltiples posibilidades que nos ofrece R
para la realización de análisis espacial automatizado, en este caso sobre el cálculo de tasseled cap con
imágenes Sentinel-2.

La transformación Tasseled Cap es una combinación lineal de información espectral en un conjunto


menor de bandas, normalmente tres ejes. A través de estas tres bandas se simplifican los componentes
espectrales y permite tratarlas como variables físicas: brillo, verdor y humedad.

¿Qué son los índices espectrales?


El uso de índices de teledetección está ampliamente extendido para el análisis de la superficie.

De un tiempo a esta parte, se ha hecho muy común, por ejemplo, el uso del Índice de vegetación de
diferencia normalizada, más conocido como NDVI, aunque se viene utilizando desde el año 1973. Este
índice es el más extendido y pone en relación los canales infrarrojo cercano (IRC) y rojo (R) para darnos
información sobre el vigor de la vegetación, independientemente de la cantidad de cosecha o la calidad
como en algunas ocasiones se vende.

https://geoinnova.org/blog-territorio/calculo-de-tasseled-cap-para-imagenes-sentinel-2-con-r/ 1/9
31/7/23, 00:04 Cálculo de Tasseled Cap para imágenes Sentinel-2 con R - Geoinnova

Pero no sólo se utiliza el NDVI para el análisis de la vegetación o de la superficie.

El índice NDVI se basa en operaciones algebraicas realizadas sobre sólo dos bandas espectrales, la
correspondiente a R e IRC. Sin embargo, Sentinel-2 es capaz de detectar información en 13 bandas, que
también contienen información de interés en el estudio de las cubiertas vegetales y que permiten
obtener más información.

Tasseled Cap
Kauth, R. J. and Thomas, G. S. (1976) pensaron en una transformación de la información contenida en
las bandas que generase nuevos ejes que maximizasen la información contenida para utilizarla,
inicialmente, en el campo de la agricultura. Se refirieron a dicha transformación como “Tasseled Cap”
(TC).

Se trata de un método de compresión para reducir múltiples datos espectrales, concretamente de 6


bandas, en unas pocas bandas que permite comprender fenómenos importantes del desarrollo de
cultivos en el espacio espectral, obteniendo los siguientes neocanales de información sobre:

Brightness (brillo): está asociado a las variaciones de reflectancia del suelo


Greeness (verdor): está correlacionado con el vigor de la vegetación
Wetness (Humedad): está influído por las bandas en el IR medio y tiene que ver con la humedad
vegetal y del suelo.

Limitaciones de Tasseled Cap


Una de las mayores limitaciones de la transformación Tasseled-cap es que solo se puede aplicar a
sensores para los que ya se han desarrollado coeficientes de transformación. Actualmente, esto incluye
Landsat, MODIS, ASTER, Ikonos, SPOT y, además, Sentinel 2, tal y como veremos a continuación.

SCRIPT PARA CALCULAR TASSELED CAP EN IMÁGENES SENTINEL-2


Las imágenes Sentinel-2A y Sentinel-2B se pueden descargar en formato JPEG2000 con extensión .jp2.
Se trata de una compresión utilizada para imágenes grandes y de alta calidad.

Vamos a crear una lista de todas las rutas que apuntan a las bandas disponibles de nuestra imagen a
través de la función list.files(). Indicaremos nuestra ruta a la carpeta descargada con los datos Sentinel
como path.

https://geoinnova.org/blog-territorio/calculo-de-tasseled-cap-para-imagenes-sentinel-2-con-r/ 2/9
31/7/23, 00:04 Cálculo de Tasseled Cap para imágenes Sentinel-2 con R - Geoinnova

path <- "D://MSIL1C_20191202T105421_N0208_R051_T30TXM_20191202T112708"

Vamos a definir una búsqueda a través del patrón de caracteres “jp2”, a través del parámetro pattern
para que solamente se seleccionen los archivos con esa extensión. Vamos a preservar la ruta completa al
archivo a través del parámetro full.names = TRUE y vamos a indicar que realice una búsqueda recursiva
en las subcarpetas de nuestra ruta inicial con recursive = TRUE.

jp2_files &lt;- list.files(path = path, pattern = ".jp2", full.names = TRUE,

El objeto jp2_files va a contener las bandas de nuestra imagen. Sobre este objeto, que solamente
contiene la ruta a cada una de las bandas, vamos a utilizar la función raster() para leer la imagen en
formato raster. Para ello, debemos cargar previamente la librería raster:

library(raster)

Vamos a ayudarnos de la función subset() y grepl() para seleccionar la ruta a la banda específica que en
este caso contiene la cadena de texto “B02” y que corresponde con la banda del Azul. Y sobre esta
selección aplicaremos la función raster().

B02 <- raster(subset(jp2_files, grepl("B02",jp2_files)))

Podemos previsualizar nuestra banda B02:

plot(B02)

https://geoinnova.org/blog-territorio/calculo-de-tasseled-cap-para-imagenes-sentinel-2-con-r/ 3/9
31/7/23, 00:04 Cálculo de Tasseled Cap para imágenes Sentinel-2 con R - Geoinnova

Banda B02 – Azul con valores de reflectancia escalados

Vamos a repetir este procedimiento con cada una de las bandas que vayamos a utilizar de ahora en
adelante.

Para calcular nuestros Tasselled Cap, vamos a utilizar distintas bandas, en algunos casos, con distinta
resolución espacial. En ese caso debemos utilizar la función aggregate() o disaggregate() para convertir
nuestras bandas a una resolución mayor o menor, pero siempre común para poder operar nuestra
matriz de datos celda por celda. Una vez obtenida la resolución común para todas las capas vamos a
calcular nuestro Tasselled Cap con las siguientes fórmulas:

BRI <- 0.3510*B02+ 0.3813*B03


+ 0.3437*B04+ 0.7196*B08
+ 0.2396*B11 + 0.1949*B12
#Tasselled Cap - brightness
GRE <- (-0.3599* B02) + (-0.3533*B03)
+(-0.4734*B04) + 0.6633*B08
+0.0087*B11 + (-0.2856*B12)
#Tasselled Cap – greenness
WET <- (0.2578*B02 + 0.2305*B03
+0.0883*B04 + 0.1071*B08
+(-0.7611*B11) + (-0.5308*B12))
#Tasselled Cap - wetness

https://geoinnova.org/blog-territorio/calculo-de-tasseled-cap-para-imagenes-sentinel-2-con-r/ 4/9
31/7/23, 00:04 Cálculo de Tasseled Cap para imágenes Sentinel-2 con R - Geoinnova

Los coeficientes Tasselled Cap utilizados han sido obtenidos para datos de reflectancia Sentinel-2 y
combinación de seis bandas (azul, verde, rojo, NIR, SWIR1 y SWIR2). Los coeficientes obtenidos han sido
previamente comparados y validados con datos de Landsat-8 y MODIS (Shi y Xu, 2019).

Vamos a recordar de nuevo que estas ecuaciones son específicas para Sentinel-2.

Finalmente, vamos a crear un objeto ráster multibanda con la función stack() en el que vamos a incluir
las tres bandas de nuestro Tasselled Cap. Aplicaremos la función plot() para devolver el resultado de
nuestra composición multibanda Tasselled Cap (brightness – greeness – wetness).

Composición RGB del Tasselled Cap (Brightness – Greeness – Wetness)

Esta es sólo una pequeña muestra de la multitud de aplicaciones que tiene R para el trabajo con
imágenes satélite y Sistemas de Información Geográfica. No olvides echar un vistazo a los cursos que
impartimos en colaboración con nuestros amigos de RemOT Technologies que profundizan en el uso de
R:

Curso de Análisis espacial con R (https://geoinnova.org/curso/analisis-espacial-con-r/)


Curso de Análisis de regresión y modelado espacial en R (https://geoinnova.org/blog-
territorio/analisis-de-regresion-y-modelado-espacial-en-r/)

https://geoinnova.org/blog-territorio/calculo-de-tasseled-cap-para-imagenes-sentinel-2-con-r/ 5/9
31/7/23, 00:04 Cálculo de Tasseled Cap para imágenes Sentinel-2 con R - Geoinnova

Bibliografía:

Index DataBase (https://www.indexdatabase.de/search/?s=tasselled+cap)


Kauth, R. J. and Thomas, G. S. (1976) – The tasselled cap – a graphic description of the
spectraltemporal development of agricultural crops as seen by Landsat
Shi, T., & Xu, H. (2019). Derivation of tasseled cap transformation coefficients for Sentinel-2 MSI at-
sensor reflectance data. IEEE Journal of Selected Topics in Applied Earth Observations and Remote
Sensing, 12(10), 4038-4048.

Este artículo ha sido actualizado a fecha 24 de Febrero de 2021

RemOT Technologies
RemOT Technologies es una empresa colaboradora de Geoinnova, especialista en
desarrollo de aplicaciones GIS para la web, cartografía y análisis espaciales
automatizados. Desarrolla visores web cartográficos, aplicaciones basadas en geolocalización y plugins y
personalizaciones de QGIS para resolver problemas de distintos ámbitos, como por ejemplo la gestión de
parcelas o la gestión de redes. RemOT ya ha trabajado en varios proyectos de desarrollo de la mano de
Geoinnova y, además, también ha participado, entre otros proyectos como en el desarrollo del Atlas
Nacional de España. Ha sido reconocida como una de las 100 mejores empresas geoespaciales del mundo
en el año 2019 por Geoawesomeness, una de las 50 Startup españolas de futuro por la revista
Emprendedores y posee el sello Pyme Innovadora del Ministerio de Ciencia Innovación y Universidades. En
la parte dedicada a formación, Lucía Martínez, Marcos Gimeno y Miquel Febrer, imparten diversos cursos en
la plataforma de Geoinnova.

Comentarios

Ricardo Alvarez P. (http://No) dice


19/11/2020 a las 13:10 (https://geoinnova.org/blog-territorio/calculo-de-tasseled-cap-para-
imagenes-sentinel-2-con-r/#comment-6998)

Gracias! Interesante útil.

Responder

https://geoinnova.org/blog-territorio/calculo-de-tasseled-cap-para-imagenes-sentinel-2-con-r/ 6/9
31/7/23, 00:04 Cálculo de Tasseled Cap para imágenes Sentinel-2 con R - Geoinnova

Sergio Morell dice


20/01/2020 a las 16:10 (https://geoinnova.org/blog-territorio/calculo-de-tasseled-cap-para-
imagenes-sentinel-2-con-r/#comment-6723)

Hola,

Creo que hay un error en el código.

Al calcular las componentes SBI GVI y WET se utilizan coeficientes con 5 decimales. Parece que el último
decimal sobra. Posiblemente este error se deba a la fuente de donde se extrajo la información:
https://www.indexdatabase.de/db/i-single.php?id=91 (https://www.indexdatabase.de/db/i-single.php?
id=91) El último número corresponde a la banda de Sentinel-2 que se debe utilizar, no es un dígito
propio del coeficiente.

Por otro lado, planteo otra cuestión.


La banda 10 de Sentinel-2 (cirrus) aporta información atmosférica, no de la superficie terrestre. En esta
parte del espectro (1375 nm) la atmósfera es opaca. Es por ello que al realizar la corrección atmosférica
utilizando Sen2Cor para obtener la reflectancia de la superficie terrestre, el algorimo elimina la B10.
¿Sigue siendo útil entonces para calcular la componente SBI?

Saludos,

S.M.

Responder

RemOT Technologies (http://www.remot-technologies.com) dice


20/01/2020 a las 16:50 (https://geoinnova.org/blog-territorio/calculo-de-tasseled-cap-
para-imagenes-sentinel-2-con-r/#comment-6724)

Hola Sergio,
Tienes razón, hay un error en la redacción del artículo y al copiar los valores se pasó eliminar esos
dígitos. Procedemos a corregirlo.
En cuanto a la segunda cuestión, decidimos seguir el planteamiento de
https://www.indexdatabase.de (https://www.indexdatabase.de) ya que el algoritmo está calculado

https://geoinnova.org/blog-territorio/calculo-de-tasseled-cap-para-imagenes-sentinel-2-con-r/ 7/9
31/7/23, 00:04 Cálculo de Tasseled Cap para imágenes Sentinel-2 con R - Geoinnova

para Sentinel-2, y decidimos no alterar la fórmula dada. No obstante, es una buena cuestión y en
este artículo utilizan la banda 11
(https://www.sciencedirect.com/science/article/pii/S0303243418309462
(https://www.sciencedirect.com/science/article/pii/S0303243418309462)).
Muchas gracias por tu aporte.
Responder

Menú Legal

Aviso Legal (https://geoinnova.org/aviso-legal/)

Política de privacidad (https://geoinnova.org/politica-de-privacidad/)

Política de cookies (https://geoinnova.org/politica-de-cookies/)

Términos y condiciones (https://geoinnova.org/terminos-y-condiciones/)

Otras páginas de interes

Promociones y descuentos en formación (https://geoinnova.org/promociones-descuentos-subvenciones/)

Formación bonificada FUNDAE (https://geoinnova.org/formacion-bonificada-fundae/)

Verificador y descarga de Certificados de aprovechamiento (https://geoinnova.org/verificador-descarga-certificados-


aprovechamiento/)

(https://geoinnova.org/formacion-bonificada-fundae/)

Contacto

Calle Luis Morondo Urra nº 8 Bajo A


31006 Pamplona (Navarra)
info@geoinnova.org
+34 948 117 137 (tel:+34948117137)

https://geoinnova.org/blog-territorio/calculo-de-tasseled-cap-para-imagenes-sentinel-2-con-r/ 8/9
31/7/23, 00:04 Cálculo de Tasseled Cap para imágenes Sentinel-2 con R - Geoinnova

Horario de atención

Lunes a Viernes - 09:00 a 14:00 y de 16:00 a 19:00.


Fines de semana y Festivos - Exclusivamente por mail.
Horario de Verano (01 de julio al 30 de agosto): De lunes a viernes de 8 a 15h.

Síguenos en Redes Sociales

  
(https://twitter.com/GeoInnovaASL) (https://www.facebook.com/Asociacion.Geoinnova/)


(https://www.instagram.com/geoinnova/?hl=es/) (https://www.linkedin.com/company/asociacion-geoinnova/mycompany/)


(https://www.youtube.com/user/asociaciongeoinnova)

Apúntate a nuestra newsletter

Email *

He leído la información legal que aparece justo debajo, donde se incluye la Finalidad de este formulario, y acepto tanto
esta como la política de privacidad (/politica-de-privacidad/). *

(https://www.confianzaonline.es/empresas/geoinnova.html)

(https://geoinnova.org/wp-content/uploads/2022/03/certificado_inscripcion_2020_C.pdf)

© 2023 · Desarrollada por Geoinnova (https://geoinnova.org/) en colaboración con OikosMSP (https://www.oikosmsp.com)

https://geoinnova.org/blog-territorio/calculo-de-tasseled-cap-para-imagenes-sentinel-2-con-r/ 9/9

También podría gustarte