prosathumedales / catalogo_SARespectral

2 stars 0 forks source link

Datos ópticos #13

Closed nmorandeira closed 1 year ago

nmorandeira commented 2 years ago

Dejo la primera versión de datos ópticos para una de las dos Unidades de paisaje, en este link.

Son datos Sentinel-2. En la semana sumo el dataframe de la otra Unidad de paisaje. Luego habrá Landsat, pero más adelante (no para esta primera entrega a CONAE).

Copio aquí algunos pasos que habría que correr para emprolijar el dataframe antes de importarlos al tablero, algunos de ellos se harán en pasos previos en la generación del dataframe


Optico_UPI4 <- read.csv("/datos/PROSAT_DeltaSuperior_OpticoS2Harmonized_UPI4.csv")

# Esta segunda capa no está cargada:
#Optico_UPI2b <- read.csv("/data/PROSAT_DeltaSuperior_OpticoS2Harmonized_UPI2.csv")

library(tidyverse)

### Cambiar nombre de unas columnas (esto luego va a quedar en el script de Python). Posiblemente hay una forma más fácil con dplyr, no la recuerdo ahora

colnames(Optico_UPI4)[20:21] <- c("tipo_sensor", "sensor")

### filtrar por calidad - nubes y "nieve"

Optico_UPI4 <- Optico_UPI4 %>% filter (prob_promedio_nubes == 0) %>%
  filter (prob_promedio_nieve == 0) %>%   filter (valor_promedio <= 10000)

En el dataframe hay más bandas de las que efectivamente nos interesan. Además dejo sus labels:

### bandas que nos interesan para el tablero
levels(Optico_UPI4$banda_nombre) #todas las bandas

bandas_interes <- c("B1", "B2",  "B3", "B4", "B5", "B6", "B7", "B8", "B11", "B12")
bandas_interes_labels <- c("Aerosoles costeros", "Azul",  "Verde", "Rojo", "Borde rojo 1", "Borde rojo 2", "Borde rojo 3", "IR cercano", "IR medio 1", "IR medio 2")

### luego agregaremos índices, además de estas bandas: NDVI, NDWI, EVI

Gracias @eliocamp

nmorandeira commented 2 years ago

Para graficar los datos ópticos, hay que reescalarlos con este factor de conversión:

valor_promedio * 0.01

De ese modo los datos van a quedar en unidades de Reflectancia (%) (rango entre 0 y 100).

nmorandeira commented 2 years ago

Este paso ya está corregido en kos dataframes nuevos, por lo cual NO hay que correrlo

colnames(Optico_UPI4)[20:21] <- c("tipo_sensor", "sensor")

Estos pasos ya están corregidos en los dataframes nuevos, no es necesario correrlos (no pasa nada si se corren igual)

Optico_UPI4 <- Optico_UPI4 %>% filter (prob_promedio_nubes == 0) %>%
  filter (prob_promedio_nieve == 0) %>%   filter (valor_promedio <= 10000)

Optico_UPI2b <- Optico_UPI2b %>% filter (prob_promedio_nubes == 0) %>%
  filter (prob_promedio_nieve == 0) %>%   filter (valor_promedio <= 10000)
nmorandeira commented 2 years ago

Agregamos los índices sintéticos NDVI, EVI y NDWI. Para graficarlos en el gráfico temporal

bandas_interes <- c("B1", "B2",  "B3", "B4", "B5", "B6", "B7", "B8", "B11", "B12")
bandas_interes_labels <- c("Aerosoles costeros", "Azul",  "Verde", "Rojo", "Borde rojo 1", "Borde rojo 2", "Borde rojo 3", "IR cercano", "IR medio 1", "IR medio 2")
indices_sinteticos <- c("NDVI", "EVI", "NDWI")
indices_sinteticos_labels <- c("NDVI", "EVI", "NDWI") #idem al nombre
nmorandeira commented 2 years ago

Para el caso de las bandas (B1, B2, ..., B12), es válido este comentario de reescalarlas para que queden en unidades de Reflectancia (%): https://github.com/prosathumedales/catalogo_SARespectral/issues/13#issuecomment-1146644067

Para el caso de los índices sintéticos (NDVI; EVI; NDWI), no es necesario hacer ningún reescalado. Los índices no tienen unidades y varían entre -1 y +1

nmorandeira commented 2 years ago

Relacionado con Óptico, para una segunda revisión: https://github.com/prosathumedales/catalogo_SARespectral/issues/16

eliocamp commented 2 years ago

Bajé los nuevos datos:

PROSAT_DeltaSuperior_Optico_Sentinel2_UPI2b_2022-06-01_revisado.csv
PROSAT_DeltaSuperior_Optico_Sentinel2_UPI4_2022-06-01_revisado.csv
PROSAT_DeltaSuperior_SAR_ALOS_2022-06-26_revisado.csv
PROSAT_DeltaSuperior_SAR_SAOCOM_2022-06-24_revisado.csv
PROSAT_DeltaSuperior_SAR_SENTINEL1_2022-06-14_revisado.csv

Me confunde un poco que en estos datos hay 3 tipos de sensor distinto en la columna tipo_sensor: Optico, SAR y XEMT. ¿Cómo habría que tratar cada uno?

nmorandeira commented 2 years ago

XEMT es un error. Pensé que ya lo había cambiado a SAR, disculpá. Sólo hay Óptico y SAR.

Ahora lo cambio aprovechando que también cambio las etiquetas de los tipos de humedal

eliocamp commented 2 years ago

Para el caso de los índices sintéticos (NDVI; EVI; NDWI), no es necesario hacer ningún reescalado. Los índices no tienen unidades y varían entre -1 y +1

¿Cómo tratamos este tema en el selector de bandas? ¿Se pueden plotear estos índices junto con las bandas normales?

nmorandeira commented 2 years ago

¿Se pueden plotear estos índices junto con las bandas normales?

No. Me parece que una solución correcta sería:

eliocamp commented 2 years ago

Lo que estoy pensando es cómo hacer para que la interfaz no permita mezclar. Si es como ahora, en principio se pueden seleccionar todas las bandas. Una opción podría ser algún input para dividir entre "bands" e "índices" o algo así.

Bandas: graficar sólo en el ex-boxplot (actual plot de lineas)

En el gráfico de líneas tratando las bandas como medidas continuas (longitud de onda) no tiene mucho sentido seleccionar algunas bandas y otras no, me parece. Para eso quizás hay que eliminar la posibilidad de filtrar distintas bandas. ¿Estás de acuerdo con eso?

nmorandeira commented 2 years ago

Sí, totalmente de acuerdo... Quizás entonces en lugar de dar a elegir bandas directamente se puede dar a elegir entre dos opciones a graficar: - Firma multiespectral (el gráfico de líneas, no dar opciones de selección de qué bandas, que vayan todas) - Serie temporal de índices sintéticos (opciones NDVI, EVI y/o NDWI)

No sé cómo dialogarían estas opciones con la parte de SAR. Es decir, en SAR las opciones serían distintas: - Boxplots de retrodispersión (y seleccionar polarizaciones) - Serie temporal de retrodispersión (opciones polarizaciones)

eliocamp commented 2 years ago

¿La parte de la firma multiespectral y la serie temporal de los índices sintéticos son para la segunda versión (por el tag de #16 )?

nmorandeira commented 2 years ago

Lo de la firma multitemporal está bien así, luego cambiamos los valores del eje X. Lo de los índices sintéticos lo había pensado para ahora, pero podría entregar así mañana a CONAE y luego lo agregamos

eliocamp commented 2 years ago

La serie temporal del óptico ahora muestra los índices sintéticos. :)