Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Data Scientist et langage R
  3. Cartographie
Extrait - Data Scientist et langage R Autoformation aux bases de l'intelligence artificielle dans l'univers de la data (3e édition)
Extraits du livre
Data Scientist et langage R Autoformation aux bases de l'intelligence artificielle dans l'univers de la data (3e édition)
1 avis
Revenir à la page d'achat du livre

Cartographie

Pourquoi étudier les représentations cartographiques ?

Dans les chapitres précédents, en particulier le chapitre Compléments utiles, nous avons esquissé l’inférence spatiotemporelle au travers du krigeage, des séries temporelles, des champs vectoriels et des variogrammes, l’idée générale étant que les features que l’on peut associer à une coordonnée spatiale 2D ou 3D dépendent souvent de ces coordonnées, des valeurs de diverses features sur d’autres coordonnées plus ou moins éloignées et du temps. Par ailleurs, des formes ou des topologies apparaissent ou préexistent au même titre que sur des images habituelles. Pour vous en convaincre, essayez d’imaginer les éléments caractéristiques de la formation et de l’évolution d’un ouragan faisant l’objet d’une représentation sur une carte.

Nous avons également abordé le filtrage des images qui, de fait, permet souvent de faire apparaître des topologies dans celles-ci, comme par exemple des contours significatifs. Par ailleurs, le chapitre précédent nous apporte les clés de la diffusion de nos résultats.

Mais il nous manque encore un point clé pour pouvoir exprimer l’information géographique : des fonds de carte...

Accéder à l’information géographique

Pour utiliser une information géographique, il faut identifier la codification des données associées, en particulier le système géodésique dans lequel sont codées les positions et/ou le système de projection dans lesquelles les positions seront projetées sur votre carte. Le plus connu des systèmes géodésiques se nomme WGS84 (World Geodetic System 1984). C’est celui qui correspond aux coordonnées GPS, et il est souvent associé au système de projection UTM (Universal Transverse Mercator), dénommé Gauss-Krüger par les Allemands.

Il existe de nombreux systèmes géodésiques et de projection, mais concentrez-vous sur ce qui suit, ce qui vous permettra d’aborder d’autres systèmes avec sérénité ! Prenez le temps de bien assimiler ces notions pour éviter d’être complètement désorienté par les paramètres et les notations des packages géographiques que vous pourriez utiliser.

Voici un exemple de coordonnées WGS84 dans la représentation utilisée par Google.

                       longitude      latitude 
Lima, Peru         -77.04275       -12.04637 
Paris, France        2.352222       48.85661 
New York, NY, USA  -74.005973       40.71278 
Tokyo, Japan        139.691706      35.68949 

On constate ici que les coordonnées sont exprimées en degrés décimaux par rapport au méridien de Greenwich et à l’équateur. Paris et Tokyo sont dans le quart nord-est et les valeurs sont positives, Lima est dans le quart sud-ouest et les valeurs sont négatives, New York est dans le quart nord-ouest et sa longitude est négative.

Les degrés décimaux (DDD) sont plus faciles à manipuler que les représentations comme les représentations sexagésimales (degré, minutes, secondes avec partie décimale : DMS). Les coordonnées de Paris en DMS sont : 48° 51’ 23.81" (nord) 2° 21’...

Création de cartes statiques avec R

Il existe de nombreux packages utiles pour la création de cartes en utilisant R, nous allons donc nous focaliser sur des packages très connus ou très faciles d’utilisation.

Après avoir téléchargé un fichier shape (.shp) sur le site de StatSilk, nous allons utiliser une vieille fonction (aujourd’hui dépréciée) du package maptools pour le lire et visualiser le résultat.

library(maptools)                    # référence pour les cartes 
s <- readShapeSpatial("map/map.shp") # lecture format shape 
summary(s)                           # pas trop simple à lire ... 
plot(s)                              # La France !  

Object of class SpatialPolygonsDataFrame 
Coordinates: 
        min       max 
x -5.143751  9.560416 
y 41.333752 51.093193 
Is projected: NA  
proj4string : [NA] 
 
Data attributes: 
MM_UID     CODE      NAME1          NAME2      DIVISION  
           FR.AB     Île-de-France  Ain        Region  
... 

On reconnaît les coordonnées GPS de la France métropolitaine (Corse incluse). 

images/13EP01V2.png

La France métropolitaine par départements, au plus simple

Nous allons maintenant lire les mêmes données via le package sf, et visualiser cette France sur deux features différentes (départements et anciennes régions administratives). La fonction plot est invoquée après avoir identifié la signature de l’objet à visualiser. Comme celui-ci provient du package sf, le plot utilisé est celui défini dans le package.

library(sf)                               # pour avoir sf::st_read  
s_ <-sf::st_read("map/map.shp", stringsAsFactors = FALSE) 
summary(s_) 
plot(s_[,c("CODE","NAME1","geometry"), ]) # départements...

Création de cartes dynamiques avec R

Nous allons maintenant mettre en œuvre des cartes "raster" + "shape" interactives. Nous allons générer deux cartes qui vont être synchronisées, c’est-à-dire que les mouvements sur l’une vont générer le mouvement d’un pointeur sur l’autre.

library(mapview)      # cartes interactives 
 
                      # au plus simple  
                      # [NON IMPRIMÉ DANS L'OUVRAGE]       
mapview(c_lorraine,  
        zcol = c("Z_MOYEN"),  
        legend           = TRUE) 
 
mapview(s_lorraine,   # lecture shape 
        zcol = c("NAME2"),  
        legend = TRUE) 
 
                       # [EXEMPLE INTÉRESSANT] 
                       # cartes synchronisées 
library(RColorBrewer)  # gestion des couleurs 
clrs <- colorRampPalette(brewer.pal(9, "Greens")) 
mapview(c_lorraine, 
        ...