Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Datos ópticos #13

Closed
nmorandeira opened this issue Jun 4, 2022 · 14 comments
Closed

Datos ópticos #13

nmorandeira opened this issue Jun 4, 2022 · 14 comments

Comments

@nmorandeira
Copy link
Collaborator

nmorandeira commented Jun 4, 2022

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
Copy link
Collaborator Author

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).

eliocamp added a commit that referenced this issue Jun 25, 2022
@nmorandeira
Copy link
Collaborator Author

nmorandeira commented Jun 27, 2022

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
Copy link
Collaborator Author

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
Copy link
Collaborator Author

Para el caso de las bandas (B1, B2, ..., B12), es válido este comentario de reescalarlas para que queden en unidades de Reflectancia (%):
#13 (comment)

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
Copy link
Collaborator Author

Relacionado con Óptico, para una segunda revisión: #16

@eliocamp
Copy link
Collaborator

eliocamp commented Jul 6, 2022

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
Copy link
Collaborator Author

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
Copy link
Collaborator

eliocamp commented Jul 7, 2022

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
Copy link
Collaborator Author

nmorandeira commented Jul 8, 2022

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

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

  • Bandas: graficar sólo en el ex-boxplot (actual plot de lineas)
  • ïndices ópticos: graficar sólo en la serie temporal

@eliocamp
Copy link
Collaborator

eliocamp commented Jul 8, 2022

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
Copy link
Collaborator Author

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
Copy link
Collaborator

¿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
Copy link
Collaborator Author

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
Copy link
Collaborator

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants