💡 OBJETIVOS:

💡 MATERIALES PARA LA ACTIVIDAD:

Los materiales para el desarrollo de esta actividad son los siguientes.

Imágenes satélite.

script_laboratorio_6_transformaciones_matematicas

INTRODUCCIÓN

Las transformaciones ráster implican la manipulación de imágenes para generar otras nuevas. Estas imágenes transformadas o bien contienen información de interés o bien resaltan las características singulares de las imágenes originales, aunque también se realizan para preservar la información esencial en un número reducido de dimensiones o capas.

Las herramientas más utilizadas para transformar las imágenes de satélite son las siguientes:

ACTIVIDAD PRELIMINAR: DESCARGA DE LA INFORMACIÓN

En primer lugar, deben activarese los paquetes necesarios para realizar este ejercicio:

library(terra)                                                                  # Importación y transformación de imágenes ráster
## Warning: package 'terra' was built under R version 4.3.3
## terra 1.8.21
library(RStoolbox)                                                              # Transformación y visualización de datos ráster.
## Warning: package 'RStoolbox' was built under R version 4.3.3
## This is version 1.0.0 of RStoolbox
library(ggplot2)                                                                # Visualización de datos ráster con RStoolbox
## Warning: package 'ggplot2' was built under R version 4.3.3

En segundo lugar, debe establecerse la carpeta de trabajo

A continuación se importará el fichero imagen.

imagen <- rast("D:/G174_2025/LABORATORIO_6_Transformaciones_matematicas/datos/imagen.tif")

Los nombres de las bandas son:

names(imagen)                                                         
## [1] "coastal aerosol" "blue"            "green"           "red"            
## [5] "NIR"             "SWIR1"           "SWIR2"

Como se ha realizado en otras ocasiones, es conveniente conocer los atributos de ese objeto raster

imagen                                  
## class       : SpatRaster 
## dimensions  : 1245, 1497, 7  (nrow, ncol, nlyr)
## resolution  : 30, 30  (x, y)
## extent      : 594090, 639000, 4190190, 4227540  (xmin, xmax, ymin, ymax)
## coord. ref. : WGS 84 / UTM zone 10N (EPSG:32610) 
## source      : imagen.tif 
## names       : coast~rosol,      blue,      green,        red,          NIR,        SWIR1, ... 
## min values  :  0.09641791, 0.0748399, 0.04259216, 0.02084067, 0.0008457669, -0.007872183, ... 
## max values  :  0.73462820, 0.7177562, 0.69246972, 0.78617686, 1.0124315023,  1.043204546, ...

Podemos verficar que el proceso ha tenido éxito representando algunas de las bandas.

par(mfrow = c(2,2))
plot(imagen[["blue"]], main = "Blue", col = gray(0:100 / 100))
plot(imagen[["green"]], main = "Green", col = gray(0:100 / 100))
plot(imagen[["red"]], main = "Red", col = gray(0:100 / 100))
plot(imagen[["NIR"]], main = "NIR", col = gray(0:100 / 100))

Otra manera de verificarlo es mediante una representación gráfica en falso color, pudiendo utilizarse la función terra:plotRGB() o, como en este caso, la función Rstoolbox::ggRGB().

ggRGB(imagen, 
      r=5, g=4, b=3, 
      stretch ="lin", 
      geom_raster = TRUE) + 
  ggtitle("Imagen falso color") +                                               # Título de la imagen 
  labs(x="Longitud(m)", y="Latitud (m)") +                                      # Etiquetas del eje
  theme(plot.title = element_text(hjust =0.5,                                   # Título centrado
                                  size =20),                                    # Tamaño del título
        axis.title = element_text(size =10)) +                                  # Tamaño de las etiquetas de los ejes
theme_bw()