-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.qmd
256 lines (207 loc) · 11.3 KB
/
index.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
---
title: "Procesamiento y análisis de series temporales con GRASS GIS"
subtitle: "Curso de Postgrado"
date: today
author: "Verónica Andreo"
toc: true
editor:
markdown:
wrap: 72
---
![](assets/img/logos_institucionales.png){width=80% fig-align="center"}
Gran parte de la investigación en ecología y problemas asociados al
ambiente en la actualidad requiere de conocimientos técnicos en el
procesamiento avanzado de grandes conjuntos de datos espacio-temporales.
En las dos últimas décadas se ha producido un cambio notable en la forma
en que los datos se difunden de manera abierta y a través de Internet.
Con esta libre disponibilidad de petabytes de datos de sensado remoto,
modelos climáticos globales, redes de sensores y otros datos
geoespaciales existe una urgente necesidad de formar usuarios en lo que
respecta a su manejo eficiente y procesamiento. Las herramientas libres
y de código abierto también han ganado gran popularidad y estabilidad,
simultáneamente con la creciente cantidad de datos libres. Este curso
abordará el procesamiento y análisis de datos espacio-temporales con
GRASS GIS (<https://grass.osgeo.org/>).
<img src="assets/img/grass_logo_alphab.png" align="left" width="25%"/>
GRASS GIS es un software que nació hace 40 años y sigue siendo hoy en
día uno de los SIG libre y de código abierto más potentes y versátiles.
Sus prestaciones de alto nivel y sus capacidades analíticas tanto en el
trabajo con datos vectoriales como en el trabajo con datos raster, hacen
de GRASS una excelente herramienta para desempẽnar trabajos de análisis
espacial o geográfico en muchos campos de aplicacíon, desde el análisis
ambiental hasta el análisis de redes, pasando por la teledetección o la
simulación de modelos. GRASS GIS consta de más de 500 módulos base a los
que se adicionan cientos de complementos que permiten extender su
potencialidad para el procesamiento de datos raster, vectoriales, ráster
3D y temporales. Por otra parte, GRASS GIS puede ser un potente SIG de
escritorio o la columna vertebral de una infraestructura SIG dadas sus
diferentes APIs. Proporciona interfaces a muchos otros programas en
geoestadística, bases de datos, servicios de mapas web y otros SIG como
por ejemplo QGIS. Más aún, GRASS GIS se utiliza en el ámbito académico,
en el escenario comercial y también en instituciones públicas de todo el
mundo para una amplia gama de aplicaciones.
![](https://grass.osgeo.org/images/news/grass83_news_screenshot.png)
# Objetivos
<u>General:</u>
- Proveer una introducción general al software GRASS GIS y su
utilización en el procesamiento y análisis de datos espaciales y
temporales, incluyendo datos obtenidos de sensado remoto.
<u>Específicos:</u>
- Introducir los conceptos básicos y la forma de trabajo en GRASS GIS.
- Realizar ejercicios básicos de familiarización con el software y sus
particularidades.
- Introducir nociones sobre el manejo de datos raster en GRASS.
- Introducir en la generación e implementación de rutinas para el
procesamiento digital de imágenes y series temporales de imágenes.
- Afianzar y profundizar conocimientos sobre técnicas de
pre-procesamiento, procesamiento y análisis digital de datos
satelitales.
- Introducir conceptos y flujo de trabajo para realizar clasificación
basada en objetos (OBIA).
- Introducir en el análisis de series de tiempo de datos raster en
GRASS GIS.
- Introducir en la vinculación GRASS-Python y GRASS-R para el análisis
y visualización de datos espacio-temporales.\
- Que las personas participantes puedan aplicar conceptos y funciones
aprendidas a sus casos de estudio.
# Contenidos
- **Unidad 1.** Introducción a GRASS GIS: sus características y
funciones. Conceptos básicos: GRASS database, proyectos (locations)
y mapsets. Tipos de datos. Interfaces de uso: línea de comandos,
interfaz gráfica, Python, R. Región computacional. Scripting.
Visualización de datos espaciales y espacio-temporales.
Interoperabilidad y reproducibilidad. Crear un proyecto e importar
mapas a GRASS GIS.
- **Unidad 2.** Procesamiento de datos satelitales en GRASS GIS. Datos
ráster. Datos satelitales. Semantic labels. Manejo y procesamiento.
Módulos y funcionalidades más relevantes. Índices espectrales.
Clasificación. Ejemplos de procesamiento de datos Landsat y
Sentinel-2.
- **Unidad 3.** Análisis de imágenes basado en objetos en GRASS:
Object based image analysis - OBIA. Conceptos básicos. Segmentación.
Optimización de parámetros de la segmentación. Estadística de
segmentos. Clasificación basada en objetos con datos de alta
resolución.
- **Unidad 4.** Series de tiempo en GRASS GIS. Conceptos básicos: base
de datos temporal, topología y muestreo temporal, granularidad,
tiempo absoluto y relativo, intervalos y eventos puntuales. Creación
de series de tiempo y registro de mapas. Series de tiempo de datos
raster, raster 3D y vectoriales. Procesamiento y análisis de series
de tiempo de productos satelitales. Estadística descriptiva básica.
Imputación de datos faltantes y reconstrucción de series de tiempo.
Agregados y acumulaciones. Álgebra temporal. Cálculo de
climatologías y anomalías. Obtención de índices fenológicos.
Extracción de datos: datos puntuales, estadística zonal, extracción
de datos temporalmente agregados.
- **Unidad 5.** GRASS y R. Ejemplo de modelado de nicho ecológico
combinando GRASS y R.
- **Unidad 6.** [Trabajo Integrador](trabajo_final.qmd).
# Metodología
El curso es principalmente **práctico**.
Salvo el primer día, se trabajará mayormente con Jupyter notebooks.
Las mismas podrán ejecutarse de manera local o en
[Google Colab](https://colab.research.google.com/) o en la plataforma
[The Whole Tale](https://wholetale.org/).
Las personas participantes necesitan traer sus laptops con el
**software instalado y los datos descargados de antemano**, ya que
*no se ha planificado una instancia de instalación de software* durante
el curso.
El curso es de un **nivel intermedio**. Se asumen conocimientos
básicos de teledetección, SIG, línea de comandos, Python y R.
:::{.callout-important}
Quienes prefieran ejecutar todo el curso de manera local, es necesario que
instalen una serie de paquetes que se detallan en la @sec-software.
Si bien la mayor parte del material del taller se puede ejecutar *teóricamente*
en todas las plataformas, algunas partes requieren herramientas que pueden ser
más difíciles de configurar en Windows.
Por lo tanto, para quien desee ejecutar
todo el curso de manera local **recomendamos trabajar en entornos Linux/Unix**.
:::
## Dia 1: Ejecutamos GRASS localmente
#### Software necesario
Para el primer día del curso, **vamos a ejecutar GRASS GIS de manera local**.
Por lo tanto, necesitamos traer
[**GRASS GIS versión >= 8.2.0**](https://grass.osgeo.org/download/) y
[**QGIS**](https://www.qgis.org/en/site/forusers/download.html) previamente
instalados.
#### Datos necesarios
* Descargar el
[archivo comprimido (~150 Mb)](https://drive.google.com/file/d/1cAZZ3M8osHGkJA6gM0VETcVJBru36yrt/view?usp=sharing) que incluye los datos de muestra para utilizar durante el primer día.
## Día 2 al 5: Ejecutamos GRASS online
El resto del curso se ejecutará **con notebooks en línea** dentro de la
plataforma [**Google Colab**](https://colab.research.google.com/).
Podemos visitar la web de
[preguntas frecuentes](https://research.google.com/colaboratory/faq.html)
para obtener mayor información sobre el funcionamiento y las prestaciones
de esta plataforma.
Otra opción es ejecutar las notebook dentro de la plataforma [**The Whole Tale**](https://wholetale.org/).
Whole Tale es una iniciativa de la Data Infrastructure Building Block (DIBBS)
financiada por NSF para construir una plataforma escalable y multiusuario de
código abierto, basada en la web para investigaciones reproducibles.
Permite la creación, publicación y ejecución de *tales*:
objetos de investigación ejecutables que capturan datos, código y el
entorno de software completo utilizado para producir los resultados de la
investigación. También es fantástico para enseñar, ya que los participantes
no necesitan instalar todos los paquetes de software necesarios.
¡Solo necesitan registrarse con un correo electrónico institucional o personal
y ya están listos para comenzar!
**Cómo ejecutar Google Colab:**
1. Open colab: <https://colab.research.google.com/>
2. File >> Open notebook
3. Seleccionar "Github"
4. En Repositorios poner: **veroandreo/curso-grass-gis**
5. seleccionar la notebook que se desea ejecutar
![Abrir el repo del curso en Colab](assets/img/open_colab.png){width=85% fig_align="center"}
En Google Colab no tenemos preinstalado el software necesario, así que
necesitaremos instalar en cada sesión. Para ello, tenemos una
notebook con [instrucciones](install_colab_and_mount_gdrive.html) que
podemos luego copiar y pegar en cada notebook antes de comenzar.
**Cómo ejecutar Whole Tale:**
1. Ir a [Curso GRASS 2023](https://dashboard.wholetale.org/run/64fe3a0647204f0fe728aaf2)
2. Log in (hay diferentes opciones)
3. Ejecutar la *Tale* (botón azul arriba a la derecha)
4. Confirmar *Copy* y *Run Tale*
5. Si sigue mostrando "Importing...", recargar la página (F5)
6. Run Tale
:::{.callout-important}
Las notebooks están preparadas por defecto para correr en el entorno de Colab
conectado al Drive. Para ejecutar el curso en The Whole Tale, será necesario
adecuar algunas rutas a carpetas y archivos, y para la sesión de GRASS y R,
deberemos cambiar las celdas o chunks de `python` a `r` y borrar el comando
mágico `%%R`.
:::
#### Datos necesarios
* Usaremos el siguiente [archivo comprimido (~ 3.5 Gb)](https://drive.google.com/file/d/1zj4bxx0PUsg9dihKfQZfOp550BlMFMIu/view?usp=sharing)
con diferentes datos para las sesiones y un proyecto de GRASS GIS listo para
usar.
**Nota:** Si van a usar Colab, pueden **hacer una copia** de esta
[carpeta](https://drive.google.com/drive/folders/11uHY2v3OFNApSVtNkPNs9rfMNj1YmkFg?usp=sharing)
directamente a su Google drive así queda todo listo para trabajar.
Para quienes usen The Whole Tale, los datos ya están subidos en el entorno.
# Software necesario para ejecutar el curso completo localmente {#sec-software}
* **GRASS GIS >= 8.2.0**
* **Python >= 3.7** con los siguientes paquetes:
* jupyterlab, numpy, matplotlib, seaborn, scikit-learn, scipy, pandas, folium,
sentinelsat
* **R >= 4.2** con los siguientes paquetes:
* rgrass, sf, terra, raster, mapview, tmap, tmaptools, SDMtune, biomod2, dismo,
usdm, glmnet, zeallot, ggpubr, caret, kernlab, e1071, randomForest, rpart,
doParallel
* **QGIS**
#### Nota para usuarios Ubuntu
Usar el PPA inestable de ubuntugis para obtener la última versión de GRASS GIS:
```
sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable
sudo apt update
sudo apt install grass grass-gui grass-dev
```
# Agradecimientos
- A todos los desarrolladores, usuarios y entusiastas del software libre y de
código abierto (FOSS)
- A la [NASA](https://www.nasa.gov/) y la [ESA](http://www.esa.int/) por poner
a disposición del público los datos y productos satelitales
- Al [IGN](https://www.ign.gob.ar/) e [IDECOR](https://idecor.cba.gov.ar/) por
las capas vectoriales y de cobertura de acceso libre y gratuito
<!-- ## References -->
<!-- ::: {#refs} -->
<!-- ::: -->