-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathexemples-quarto.qmd
251 lines (180 loc) · 7.89 KB
/
exemples-quarto.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
---
jupyter: python3
eval: false
---
# Importation et manipulation de données spatiales {#sec-chap01}
Dans le chapitre, nous abordons quelques formats d'images ainsi que leur lecture.
::: bloc_package
::: bloc_package-header
::: bloc_package-icon
:::
**Liste des *librairies* utilisées dans ce chapitre**
:::
::: bloc_package-body
- Pour importer et manipuler des fichiers géographiques :
- `sf` pour importer et manipuler des données vectorielles.
- `Rasterio` pour importer et manipuler des données matricielles.
- Pour construire des cartes et des graphiques :
- `tmap` est certainement le meilleur *package* pour la cartographie.
- `Matplotlib` pour construire des graphiques.
:::
:::
## Bases de Quarto... {#sec-010}
Voici comment faire une liste :
- **texte en gras**
- *texte en italique*
- ***Gras et italique***
- R^2^ et NO~2~
- [Petites majuscules]{.smallcaps}
- Pour un lien Web, [Département de géomatique appliquée](https://www.usherbrooke.ca/geomatique/).
Voici comment intégrer des équations LaTeX. La formule de la distance euclidienne (@eq-DistEuc).
Pour écrire directement une équation dans le texte, il suffit de $E = mc^2$.
$$
d_{ij} = 2R \cdot \text{ arcsin} \left( \sqrt{\text{sin}^2 \left( \frac{\delta _i - \delta _j}{2} \right) + \text{cos }\delta _i \cdot \text{cos }\delta _j \cdot \text{sin}^2 \left( \frac{\phi _i - \phi _j}{2} \right)} \right)
$$ {#eq-DistLongLat}
$$
d_{ij} = \sqrt{(x_i-x_j)^2+(y_i-y_j)^2}
$$ {#eq-DistEuc}
- Intégrer une figure (image) et l'appeler dans le texte (@fig-downloaffromgit). À la @fig-downloaffromgit, ... Notez que la numérotation des figures, des tableaux, des équations est automatique.
![Téléchargement de l'intégralité du livre](images/introduction/download_github.png){#fig-downloaffromgit width="40%" fig-align="center"}
- Les références sont au format BibTeX. Par exemple, vous pouvez les télécharger de Google Scholar et les intégrer à la fin du fichier references.bib. Voici comment intégrer des références [@mather2022computer; @richards2022remote]. Selon Ferdinand Boon et Guy Rochon [-@PrecisTeleVol1].
Le code R ci-dessous permet de faire un tableau dans un chunk! Pour appeler le tableau (@tbl-TabMatricesSpatiales).
```{python}
#| label: tbl-TabMatricesSpatiales
#| tbl-cap: Matrices de pondération spatiale selon la géométrie
#| echo: false
#| eval: false
#| message: false
#| warning: false
df1 <- data.frame(
Matrice = c("Partage d'un nœud (*Queen*)",
"Partage d'un segment (*Rook*)",
"Partage d'un nœud et ordre d'adjacence (*Queen*)",
"Partage d'un segment et ordre d'adjacence (*Rook*)",
"Connectivité selon la distance",
"Inverse de la distance",
"Inverse de la distance au carré",
"Nombre de plus proches voisins"),
Points = c(" ", " ", " ", "", "X", "X", "X", "X"),
Lignes = c("X", "X", "X", "X", "X", "X", "X", "X"),
Polyg = c("X", "X", "X", "X", "X", "X", "X", "X"),
Raster = c("X", "X", "X", "X", "X", "X", "X", "X")
)
knitr::kable(df1,
format.args = list(decimal.mark = ',', big.mark = " "),
col.names = c("Matrice", "Points", "Lignes", "Polyg.", "*Raster*"),
align=c("l", "c", "c", "c", "c"))
```
## Importation d'images {#sec-011}
### Formats de données {#sec-0112}
* Format de type vision par ordinateur (RGB):
* jpeg, png
* Format avec compression ou sans compression
Voici comment faire une liste
- Format RVB
- jpeg
- png
- GeoTiff
- COG
- NetCDF
- HDF5
#### Formats de type RVB {#sec-01121}
Les premiers formats pour de l'imagerie à une bande (monochrome) et à trois bandes (image couleur rouge-vert-bleu) sont issus du domaine des sciences de l'ordinateur. On trouvera, entre autres, les formats pbm, png et jpeg. Ces formats supportent peu de métadonnées dans un entête (header) très limités. Ces formats restent très populaires dans le domaine de la vision par ordinateur.
#### Le format GeoTiff {#sec-01122}
Le format GeoTIFF est une extension du format TIFF (Tagged Image File Format) qui permet d'incorporer des métadonnées géospatiales directement dans un fichier image. Développé initialement par Dr. Niles Ritter au Jet Propulsion Laboratory de la [NASA](https://www.earthdata.nasa.gov/esdis/esco/standards-and-practices/geotiff){target="_blank"} dans les années 1990, GeoTIFF est devenu un standard de facto pour le stockage et l'échange d'images géoréférencées dans les domaines de la télédétection et des systèmes d'information géographique (SIG). Ce format supporte plus que trois bandes aussi longtemps que ces bandes sont de même dimension.
Le format GeoTIFF est très utilisé et est largement supporté par les bibliothèques et logiciels géospatiaux, notamment GDAL (Geospatial Data Abstraction Library), qui offre des capacités de lecture et d'écriture pour ce format. Cette compatibilité étendue a contribué à son adoption généralisée dans la communauté géospatiale.
##### Standardisation par l'OGC {#sec-011221}
Le standard GeoTIFF proposé par l'Open Geospatial Consortium (OGC) en 2019 formalise et étend les spécifications originales du format GeoTIFF, offrant une norme robuste pour l'échange d'images géoréférencées. Cette standardisation, connue sous le nom d'OGC GeoTIFF 1.1 [-@OGCGeoTIFF], apporte plusieurs améliorations et clarifications importantes.
#### Le format COG
Une innovation récente dans l'écosystème GeoTIFF est le format "Cloud Optimized GeoTIFF" (COG), conçu pour faciliter l'utilisation de fichiers GeoTIFF hébergés sur des serveurs web HTTP. Le COG permet aux utilisateurs et aux logiciels d'accéder à des parties spécifiques du fichier sans avoir à le télécharger entièrement, ce qui est particulièrement utile pour les applications basées sur le cloud.
### Métadonnées des images {#sec-0113}
### Données en géoscience {#sec-0114}
Calibration, unités, données manquantes, données éparses.
netcdf, xarray, GRIB.
Données météos, exemple avec SWOT.
## Importation de données vectorielles {#sec-012}
### Importation d'un fichier *shapefile* {#sec-0121}
### Importation d'une couche dans un *GeoPackage* {#sec-0122}
### Importation d'une couche dans une *geodatabase* d'ESRI {#sec-0123}
### Importation d'un fichier *shapefile* {#sec-0124}
## Manipulation d'images {#sec-013}
### Manipulation d'une matrice {#sec-0131}
- Numpy
### Mosaïquage, masquage et découpage {#sec-0132}
### Changement de projection cartographique {#sec-0133}
### Recalage d'images et co-registration {#sec-0134}
### Requêtes attributaires {#sec-0135}
## Manipulation de données vectorielles {#sec-014}
## Quiz de révision du chapitre {#sec-015}
```{python}
#| label: quizChapitre02
#| echo: false
#| eval: false
#| message: false
#| warning: false
#| results: asis
source("code_complementaire/QuizzFunctions.R")
Chap01Quiz <- quizz("quiz/Chap01.yml", "Chap01")
render_quizz(Chap01Quiz)
```
## Exercices de révision {#sec-016}
::: bloc_exercice
::: bloc_exercice-header
::: bloc_exercice-icon
:::
**Exercice 1.** À compléter
:::
::: bloc_exercice-body
```{python}
#| echo: true
#| message: false
#| warning: false
#| eval: false
library(sf)
library(terra)
# ...
# à compléter
```
Correction à la [section @sec-08011].
:::
:::
::: bloc_exercice
::: bloc_exercice-header
::: bloc_exercice-icon
:::
**Exercice 2.** À compléter
:::
::: bloc_exercice-body
```{python}
#| echo: true
#| message: false
#| warning: false
#| eval: false
library(sf)
library(terra)
# ...
# à compléter
```
Correction à la [section @sec-08012].
:::
:::
::: bloc_exercice
::: bloc_exercice-header
::: bloc_exercice-icon
:::
**Exercice 3.** À compléter
:::
::: bloc_exercice-body
```{python}
#| echo: true
#| message: false
#| warning: false
#| eval: false
library(sf)
library(terra)
# ...
# à compléter
```
Correction à la [section @sec-08013].
:::
:::