-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.qmd
256 lines (168 loc) · 18.2 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
```{=tex}
\renewcommand{\partname}{} % Réinitialiser partie
```
**Résumé :** Ce livre vise à décrire une panoplie de méthodes d'analyse spatiale avec le logiciel ouvert R. Le contenu est pensé pour être accessible à tous et toutes, même à ceux et celles n'ayant presque aucune base en analyse de données spatiales ou en statistiques. La philosophie de ce livre est de donner toutes les clefs de compréhension et de mise en œuvre des méthodes abordées dans R. La présentation des méthodes est basée sur une approche compréhensive et intuitive plutôt que mathématique, sans pour autant négliger la rigueur statistique.
**Remerciements :** Ce manuel a été réalisé avec le soutien de la fabriqueREL. Fondée en 2019, la fabriqueREL est portée par divers établissements d'enseignement supérieur du Québec et agit en collaboration avec les services de soutien pédagogique et les bibliothèques. Son but est de faire des ressources éducatives libres (REL) le matériel privilégié en enseignement supérieur au Québec.
**Maquette de la page couverture et identité graphique du livre :** Andrés Henao Florez.
**Mise en page :** Philippe Apparicio et Marie-Hélène Gadbois Del Carpio.
**Révision linguistique :** Denise Latreille.
© Philippe Apparicio et Jérémy Gelb.
**Pour citer cet ouvrage :** Apparicio P. et J. Gelb (2024). *Méthodes d'analyse spatiales : un grand bol d'R*. Université de Sherbrooke, Département de géomatique appliquée. fabriqueREL. Licence CC BY-SA. <br /> <br />
![](images/introduction/CouvertureP2.png){width="80%" fig-align="left"}
# Préface {.unnumbered}
## Un manuel sous la forme d'une ressource éducative libre {#sect001 .unnumbered}
**Pourquoi un manuel sous licence libre?**
Les logiciels libres sont aujourd'hui très répandus. Comparativement aux logiciels propriétaires, l'accès au code source permet à quiconque de l'utiliser, de le modifier, de le dupliquer et de le partager. Le logiciel R, dans lequel sont mises en œuvre les méthodes d'analyse spatiale décrites dans ce livre, est d'ailleurs à la fois un langage de programmation et un logiciel libre (sous la licence publique générale [GNU GPL2](https://fr.wikipedia.org/wiki/Licence_publique_g%C3%A9n%C3%A9rale_GNU)). Par analogie aux logiciels libres, il existe aussi des **ressources éducatives libres (REL)** « dont la licence accorde les permissions désignées par les 5R (**Retenir --- Réutiliser --- Réviser --- Remixer --- Redistribuer**) et donc permet nécessairement la modification » ([***fabriqueREL***](https://fabriquerel.org/rel/)). La licence de ce livre, CC BY-SA (@fig-Licence), permet donc de :
- **Retenir**, c'est-à-dire télécharger et imprimer gratuitement le livre. Notez qu'il aurait été plutôt surprenant d'écrire un livre payant sur un logiciel libre et donc gratuit. Aussi, nous aurions été très embarrassés que des personnes étudiantes avec des ressources financières limitées doivent payer pour avoir accès au livre, sans pour autant savoir préalablement si le contenu est réellement adapté à leurs besoins.
- **Réutiliser**, c'est-à-dire utiliser la totalité ou une section du livre sans limitation et sans compensation financière. Cela permet ainsi à d'autres personnes enseignantes de l'utiliser dans le cadre d'activités pédagogiques.
- **Réviser**, c'est-à-dire modifier, adapter et traduire le contenu en fonction d'un besoin pédagogique précis puisqu'aucun manuel n'est parfait, tant s'en faut! Le livre a d'ailleurs été écrit intégralement dans R avec [Quatro](https://quarto.org/). Quiconque peut ainsi télécharger gratuitement le code source du livre sur [github](https://github.com/SerieBoldR/MethodesAnalyseSpatiale) et le modifier à sa guise (voir l'encadré intitulé *Suggestions d'adaptation du manuel*).
- **Remixer**, c'est-à-dire « combiner la ressource avec d'autres ressources dont la licence le permet aussi pour créer une nouvelle ressource intégrée » ([***fabriqueREL***](https://fabriquerel.org/rel/)).
- **Redistribuer**, c'est-à-dire distribuer, en totalité ou en partie le manuel ou une version révisée sur d'autres canaux que le site Web du livre (par exemple, sur le site Moodle de votre université ou en faire une version imprimée).
La licence de ce livre, CC BY-SA (@fig-Licence), oblige donc à :
- Attribuer la paternité de l'auteur dans vos versions dérivées, ainsi qu'une mention concernant les grandes modifications apportées, en utilisant la formulation suivante : Apparicio Philippe et Jérémy Gelb (2024). *Méthodes d'analyses spatiales : un grand bol d'R*. Université de Sherbrooke. fabriqueREL. Licence CC BY-SA.
- Utiliser la même licence ou une licence similaire à toutes versions dérivées.
![Licence Creative Commons du livre](images/introduction/Licence.JPG){#fig-Licence width="80%" fig-align="center"}
::: bloc_astuce
::: bloc_astuce-header
::: bloc_astuce-icon
:::
**Suggestions d'adaptation du manuel**
:::
::: bloc_astuce-body
Pour chaque méthode d'analyse spatiale abordée dans le livre, une description détaillée et une mise en œuvre dans R sont disponibles. Par conséquent, plusieurs adaptations du manuel sont possibles :
- Conserver uniquement les chapitres sur les méthodes ciblées dans votre cours.
- En faire une version imprimée et la distribuer aux personnes étudiantes.
- Modifier la description d'une ou de plusieurs méthodes en effectuant les mises à jour directement dans les chapitres.
- Insérer ses propres jeux de données dans les sections intitulées *Mise en œuvre dans R*.
- Modifier les tableaux et figures.
- Ajouter une série d'exercices.
- Modifier les quiz de révision.
- Rédiger un nouveau chapitre.
- Modifier des syntaxes R. Plusieurs *packages* R peuvent être utilisés pour mettre en œuvre telle ou telle méthode. Ces derniers évoluent aussi très vite et de nouveaux *packages* sont proposés fréquemment! Par conséquent, il peut être judicieux de modifier une syntaxe R du livre en fonction de ses habitudes de programmation dans R (utilisation d'autres *packages* que ceux utilisés dans le manuel par exemple) ou de bien mettre à jour une syntaxe à la suite de la parution d'un nouveau *package* plus performant ou intéressant.
- Toute autre adaptation qui permet de répondre au mieux à un besoin pédagogique.
:::
:::
## Comment lire ce manuel? {#sect002 .unnumbered}
Le livre comprend plusieurs types de blocs de texte qui en facilitent la lecture.
::: bloc_package
::: bloc_package-header
::: bloc_package-icon
:::
**Bloc *packages***
:::
::: bloc_package-body
Habituellement localisé au début d'un chapitre, il comprend la liste des *packages* R utilisés pour un chapitre.
:::
:::
::: bloc_objectif
::: bloc_objectif-header
::: bloc_objectif-icon
:::
**Bloc objectif**
:::
::: bloc_objectif-body
Il comprend une description des objectifs d'un chapitre ou d'une section.
:::
:::
::: bloc_notes
::: bloc_notes-header
::: bloc_notes-icon
:::
**Bloc notes**
:::
::: bloc_notes-body
Il comprend une information secondaire sur une notion, une idée abordée dans une section.
:::
:::
::: bloc_aller_loin
::: bloc_aller_loin-header
::: bloc_aller_loin-icon
:::
**Bloc pour aller plus loin**
:::
::: bloc_aller_loin-body
Il comprend des références ou des extensions d'une méthode abordée dans une section.
:::
:::
::: bloc_astuce
::: bloc_astuce-header
::: bloc_astuce-icon
:::
**Bloc astuce**
:::
::: bloc_astuce-body
Il décrit un élément qui vous facilitera la vie : une propriété statistique, un *package*, une fonction, une syntaxe R.
:::
:::
::: bloc_attention
::: bloc_attention-header
::: bloc_attention-icon
:::
**Bloc attention**
:::
::: bloc_attention-body
Il comprend une notion ou un élément important à bien maîtriser.
:::
:::
::: bloc_exercice
::: bloc_exercice-header
::: bloc_exercice-icon
:::
**Bloc exercice**
:::
::: bloc_exercice-body
Il comprend un court exercice de révision à la fin de chaque chapitre.
:::
:::
## Comment utiliser les données du livre pour reproduire les exemples? {#sect003 .unnumbered}
Ce livre comprend des exemples détaillés et appliqués dans R pour chacune des méthodes abordées. Ces exemples se basent sur des jeux de données structurés et mis à disposition avec le livre. Ils sont disponibles sur le *repo github* dans le sous-dossier `data`, à l'adresse <https://github.com/SerieBoldR/MethodesAnalyseSpatiale/tree/main/data>.
Une autre option est de télécharger le *repo* complet du livre directement sur *github* (<https://github.com/SerieBoldR/MethodesAnalyseSpatiale>) en cliquant sur le bouton `Code`, puis le bouton `Download ZIP` (@fig-downloaffromgit). Les données se trouvent alors dans le sous-dossier nommé `data`.
![Téléchargement de l'intégralité du livre](images/introduction/download_github.png){#fig-downloaffromgit width="40%" fig-align="center"}
## Liste des *packages* utilisés {#sect004 .unnumbered}
Dans ce livre, nous utilisons de nombreux *packages* R que vous pouvez installer avec le code ci-dessous.
```{r}
#| echo: true
#| eval: false
#| message: false
#| warning: false
# Liste des packages
ListePackages <- c("classInt", "cluster", "ClustGeo", "concaveman", "dbscan", "dplyr", "factoextra",
"foreign", "future", "geocmeans", "ggplot2", "ggpubr", "ggthemes",
"gifski", "Gmedian", "gpx", "gtfstools", "igraph", "lubridate", "MASS",
"metR", "mgcv", "osmextract", "r5r", "raster", "RColorBrewer", "rgdal",
"rgeoda", "rgl", "rmapshaper", "sf", "sparr", "spatialreg", "spatstat",
"spdep", "spgwr", "spNetwork", "terra", "tmap", "viridis", "xlsx")
# Packages non installés dans la liste
PackagesNonInstalles <- ListePackages[!(ListePackages %in% installed.packages()[,"Package"])]
# Installation des packages manquants
if(length(new.packages)) install.packages(PackagesNonInstalles)
```
## Structure du livre {#sect005 .unnumbered}
Le livre est organisé autour de cinq grandes parties.
**Partie 1. Données spatiales et R.** Dans cette première partie, nous voyons comment importer, manipuler, cartographier et exporter des données spatiales dans R, principalement avec les *packages* `sf` pour les données vectorielles, `terra` pour les données matricielles (images) et `tmap` pour la cartographie ([chapitre @sec-chap01]). Maîtriser les notions abordées dans ce chapitre constitue une étape préalable et indispensable à tout projet d'analyse spatiale. D'une part, avant d'analyser des données spatiales, il convient de les structurer (importation et manipulation) et de les explorer (cartographie). D'autre part, une fois la ou les méthodes d'analyse spatiale mises en œuvre, il convient de cartographier les résultats finaux et de les exporter au besoin dans un format de données géographiques (shapefile (`shp`), GeoPackage (`GPKG`), GeoJSON (`geojson`), sqlite (`sqlite`), GeoTiff, etc.).
**Partie 2. Autocorrélation spatiale**. L'autocorrélation spatiale est une notion fondamentale en analyse spatiale permettant de vérifier si les entités proches ou voisines ont tendance à être (dis)semblables en fonction d'un phénomène donné. Dans le [chapitre @sec-chap02], nous décrivons une panoplie de méthodes permettant de définir des matrices de pondération spatiale qui sont utilisées pour évaluer la dépendance spatiale d'une ou de plusieurs variables, soit les mesures d'autocorrélation spatiale globale et locale. La compréhension de la notion de dépendance spatiale et des différentes mesures d'autocorrélation spatiale est primordiale puisqu'elles sont largement mobilisées dans d'autres méthodes d'analyses spatiales décrites dans les chapitres suivants, notamment les régressions spatiales ([chapitre @sec-chap07]) et les méthodes de classification spatiale ([chapitre @sec-chap08]).
**Partie 3. Méthodes de répartition ponctuelle et de détections d'agrégats spatiaux.** Cette troisième partie comprend deux chapitres. Dans le [chapitre @sec-chap03], nous abordons les principales méthodes qui permettent de décrire un semis de points dans un espace géographique donné : fréquence et densité des points, analyse centrographique, arrangement spatial du semis de points (méthode du plus proche voisin, méthode des quadrats), cartographie de la densité (notamment l'estimation de la densité par noyau). Dans le [chapitre @sec-chap04], nous abordons deux familles de méthodes de détection d'agrégats spatiaux et spatio-temporels qui s'appliquent à des géométries différentes : les méthodes de classification basées sur la densité des points (couche de points), principalement les algorithmes DBSCAN et ST-DBSCAN, et les méthodes de balayage de Kulldorff (couche de polygones).
**Partie 4. Analyses de données avec des réseaux de transport**. Cette quatrième partie comprend aussi deux chapitres. Dans le [chapitre @sec-chap05], nous voyons comment construire un réseau multimode (voiture, marche, vélo, transport en commun) afin de calculer différentes mesures d'accessibilité spatiale dans R avec le *package* `R5R`. Dans le [chapitre @sec-chap06], nous décrivons plusieurs méthodes permettant de décrire la distribution spatiale d'évènements localisés sur un réseau de rues avec le *package* `spNetwork`.
**Partie 5. Méthodes de régression spatiale et de classification spatiale**. Cette cinquième et dernière partie comprend deux chapitres. Le [chapitre @sec-chap07] est consacré à plusieurs méthodes de régression intégrant l'espace : modèles d'économétrie spatiale, modèles généralisés additifs (GAM) avec une *spline* bivariée sur les coordonnées géographiques, régressions géographiquement pondérées. Dans le [chapitre @sec-chap08], nous décrivons des méthodes permettant de regrouper des entités spatiales d'une région en plusieurs classes en fonction de leurs caractéristiques évaluées à partir de plusieurs variables. Nous distinguons deux types de méthodes de classification non supervisée spatiale : les méthodes de classification non supervisée avec contrainte spatiale visant à regrouper des entités spatiales en plusieurs régions avec une absence de mitage (algorithmes AZP, SKATER, REDCAP, etc.); les méthodes de classification non supervisée avec une dimension spatiale (méthode *ClustGeo* et classification floue c-moyennes spatiale).
## Remerciements {#sect006 .unnumbered}
De nombreuses personnes ont contribué à l'élaboration de ce manuel.
Ce projet a bénéficié du soutien pédagogique et financier de la [***fabriqueREL***](https://fabriquerel.org/) (ressources éducatives libres). Les différentes rencontres avec le comité de suivi nous ont permis de comprendre l'univers des ressources éducatives libres (REL) et notamment leurs [fameux 5R](https://fabriquerel.org/rel/) (Retenir --- Réutiliser --- Réviser --- Remixer --- Redistribuer), de mieux définir le besoin pédagogique visé par ce manuel, d'identifier des ressources pédagogiques et des outils pertinents pour son élaboration. Ainsi, nous remercions chaleureusement les membres de la *fabriqueREL* pour leur soutien inconditionnel :
- Myriam Beaudet, bibliothécaire à l'Université de Sherbrooke.
- Marianne Dubé, coordonnatrice de la fabriqueREL, Université de Sherbrooke.
- Serge Piché, conseiller pédagogique, Université de Sherbrooke.
- Claude Potvin, conseiller en formation, Service de soutien à l'enseignement, Université Laval.
Nous remercions chaleureusement les personnes étudiantes du cours **GMQ405 - Modélisation et analyse spatiale** du [Baccalauréat en géomatique appliquée à l'environnement](https://www.usherbrooke.ca/admission/programme/271/baccalaureat-en-geomatiqueappliquee-a-lenvironnement/) et du [Microprogramme de 1er cycle en géomatique appliquée](https://www.usherbrooke.ca/admission/programme/429/microprogramme-de-1er-cycleen-geomatique-appliquee/) du [Département de géomatique appliquée](https://www.usherbrooke.ca/geomatique/) de l'[Université de Sherbrooke](https://www.usherbrooke.ca/) de la session d'été 2023 : Hermann B. Beaudin, Jérémie Durand, Marie-Hélène Gadbois Del Carpio, David Lapointe, Marc-Antoine Lecours-Toutloff, Rosemarie Légaré, Frédéric Malo, Anthony Mandeville, Gurwen Meret, Sarah Pion, Anne-Sophie Roy, William Scrive, Aldin Evrad Tampe et Kévin Therrien. Vos suggestions et commentaires nous ont permis d'améliorer grandement la version préliminaire de ce manuel qui a été utilisée dans le cadre de ce cours.
Nous remercions aussi les membres du comité de révision pour leurs commentaires et suggestions très constructifs. Ce comité est composé de quatre personnes étudiantes du [Département de géomatique appliquée](https://www.usherbrooke.ca/geomatique/) de l'[Université de Sherbrooke](https://www.usherbrooke.ca/) :
- Gaël Machemin et Loek Pascaud, étudiants à la [maîtrise en géomatique appliquée et télédétection (type recherche)](https://www.usherbrooke.ca/geomatique/etudes/programmes/2e-cycle/maitrise-en-geomatique-appliquee-et-teledetection-type-recherche).
- Rosemarie Légaré, étudiante au [baccalauréat en géomatique appliquée à l'environnement](https://www.usherbrooke.ca/admission/programme/271/baccalaureat-en-geomatiqueappliquee-a-lenvironnement/).
Marie-Hélène Gadbois Del Carpio, étudiante de troisième année au [baccalauréat en géomatique appliquée à l'environnement](https://www.usherbrooke.ca/admission/programme/271/baccalaureat-en-geomatiqueappliquee-a-lenvironnement/) a participé activement à la mise en page du manuel; elle est désormais une grande spécialiste des feuilles de style en cascade (CSS) et de Quarto.
Aussi, les discussions enrichissantes avec Geneviève Crevier et Amélie Fréchette ont largement contribué à définir et à bonifier la table des matières.
Finalement, nous remercions Denise Latreille, réviseure linguistique et chargée de cours à l'Université Sherbrooke, pour la révision du manuel.
```{r}
#| echo: false
#| eval: true
#| message: false
#| warning: false
# Chargement des fonctions supplémentaires
source("code_complementaire/QuizzFunctions.R")
```