VISUALISATION DE DONNÉES SPATIALES AVEC R Rennes, France Master Statistique Appliquée à l Agronomie et à l Agroalimentaire
Les SIG et R Les SIG, Késako? Ensemble de données géographiques, structuré de manière à pouvoir extraire des informations utiles pour la prise de décision Un logiciel Du personnel formé Du matériel informatique Des données Gestion Manipulation Analyse spatiale Restitution Cartographie Aide à la décision
Les SIG et R En vrac, quelques logiciels SIG
Les SIG et R Les intérêts d un SIG Réalisation de cartes, documents, Permettre la superposition de cartographies différentes Modéliser des phénomènes pour effectuer des simulations
Les SIG et R Gain de temps Mais alors, pourquoi utiliser R? R est multiplateforme (Windows, Mac OS, Linux)
Les SIG et R Rgoogle Maps Le jeu de données Nombre d étudiants de 30 villes françaises Coordonnées géographiques de chaque ville
Les SIG et R Rgoogle Maps Réalisation de la carte Importation des données : villes.csv On discrétise les effectifs affectation d une couleur pour chaque niveau Calcul du centre de la carte centre<-c(mean(range(villes$latitude)),mean(range(villes$longitude))) Calcul du zoom zoom<- MaxZoom (range(villes$latitude),range(villes$longitude))
Les SIG et R Rgoogle Maps Réalisation de la carte Fond de carte MaCarte<- GetMap (center=centre,zoom=zoom,destfile="france.png")
Les SIG et R Rgoogle Maps Réalisation de la carte Fond de carte MaCarte<- GetMap (center=centre,zoom=zoom,destfile="france.png") Représentation des points sur la carte PlotOnStaticMap (MaCarte, lat=villes$latitude, lon=villes$longitude, cex=log(villes$nb.etudiant/5000), pch=16, col=as.character(xq))
Les SIG et R Rgoogle Maps Réalisation de la carte Fond de carte MaCarte<- GetMap (center=centre,zoom=zoom,destfile="france.png") Représentation des points sur la carte PlotOnStaticMap (MaCarte, lat=villes$latitude, lon=villes$longitude, cex=log(villes$nb.etudiant/5000), pch=16, col=as.character(xq)) Mise en page legend( bottomright",title= Nombre d étudiants", legend=c("< 15000","15000-25000","25000-50000", "50000-75000,"75000-100000",">100000"), fill=levels(xq), bg="white",cex=0.7)
Les SIG et R google Vis Objectif : Créer des graphiques dynamiques sur des pages web à partir de données dans R Représentation de données spatiales par la fonction gvisgeochart
Les SIG et R google Vis Représentation de cartes à l échelle du monde, d un continent ou d un pays 2 types de représentations possibles : - des aires colorées en fonction d un paramètre : une couleur pour une modalité de la variable étudiée - des cercles dont le diamètre est proportionnel à la valeur de cette variable Jeu de données : nombre d étudiants par ville
Les SIG et R google Vis Représentation du nombre d étudiants par ville : Geo <- gvisgeochart(data=villes, locationvar="ville", colorvar="nb.etudiant", sizevar="nb.etudiant") options=list(region="fr", displaymode="markers", resolution="provinces", width=1200, height=1000, backgroundcolor="white", coloraxis="{colors: ['#e7711c', '#4374e0']}")) plot(geo)
Les SIG et R google Vis Avantages : - Facile d utilisation - Génère du code HTML intégration dans un site web ou une application shiny Inconvénients : - Représentation par marqueurs : bulles peu visibles si forte variabilité - Nécessité d un navigateur internet et d une connexion pour la visualisation de la sortie
Leaflet Les SIG et R Importation des données : villes.csv Création de la carte m <- leaflet (villes) %>% addtiles () %>% setview ( lng=5, lat=45,zoom = 5) %>% addmarkers (group=villes) m
Leaflet Les SIG et R Importation des données : villes.csv Création de la carte villes$size <- villes$nb.etudiant/10000 pal <- colorfactor (c("#ff0000ff", "#FFFF00FF", "#00FF00FF", "#00FFFFFF", "#0000FFFF", "#FF00FFFF"), domain = villes$classeet) m <- leaflet (villes) %>% addtiles () %>% setview ( lng=5, lat=45,zoom = 5)%>% addcirclemarkers ( radius = ~size, color=~pal(classeet) ) %>% addlegend (title= "Intervalle d'effectif etudiant",position = "bottomright", pal=pal,values=villes$classeet,labels=(villes$classeet))
Maptools Les SIG et R Les données démographiques Objectif Visualiser l évolution démographique de la population martiniquaise entre 1999 et 2009 Création d une nouvelle variable quantitative
Maptools Les SIG et R Les données cartographiques Utilisation d un SHAPEFILE.shp stocke la géométrie des éléments.shx stocke l index des éléments.bdf dite table attributaire
Maptools Les SIG et R additionnels utiles ClassInt : Permet de discrétiser des variables quantitatives continues C1 C2 C3 C4 X RcolorBrewer : Choix de gammes de couleurs
Maptools Les SIG et R Les étapes de la réalisation d une carte choropléthe 1) Importation des données 2) Jointure entre fichiers 3) Discrétisation de la variable d intérêt 4) Choix d une gamme de couleur 5) Cartographie 6) Ajout de la légende 7) Mise en page de la carte
Maptools Les SIG et R Importation des données Démographiques : read.table ou read.csv Cartographiques : readshapespatial («COMMUNE») readlinespatial readpointspatial
Maptools Les SIG et R Jointure Création de la variable d intérêt fdc@data <- merge(fdc@data,martinique, by.x="insee_com",by.y="codgeo", all.x=true)
Maptools Les SIG et R Discrétisation distr <- classintervals(fdc$var_pop,4,style="quantile")$brks distr Mini 1 er Q Med 3 ème Q Maxi distr <- classintervals(fdc$var_pop,4,style="fixed",fixedbreaks=c(0.23,0.05,0.04,0.11,0.55)")$brks distr
Maptools Les SIG et R Choix d une gamme de couleur colours <- brewer.pal(4,"puor") display.brewer.all() pour voir l ensemble des palettes disponibles
Maptools Les SIG et R Affichage de la carte Attribution des couleurs aux régions Carte colmap <- colours[(findinterval(fdc$var_pop,distr,all.inside=true))] plot(fdc, col=colmap)
Maptools Les SIG et R Ajout de la légende legend("bottomleft", legend=c("-23% à -5%","-5% à 4%","4% à 11%","11% à 55%"), pch=22, pt.bg=colours, bty="n", title="taux d'accroissement démographique de 1999 à 2009", title.adj=0.5, y.intersp=1, xjust=0, pt.cex=1.3, cex=0.7)
Maptools Les SIG et R Ajout du titre Mise en page title(main="evolution de la population en Martinique", sub="auteur:", cex.sub=0.7) Ajout de l échelle l <- locator(n=1) SpatialPolygonsRescale(layout.scale.bar(), offset=c(l$x,l$y), scale=5000, fill=c("black"), plot.grid=f) text(l$x+5000/2, l$y, paste("5 km","\n\n",sep=""),cex=0.7)
Les SIG et R Nombreux packages dédiés la visualisation de données spatiales Packages inégaux vis-à-vis des fonds de cartes et données spatiales Plus ou moins simples d utilisation Outil très utile ponctuellement mais loin d être aussi poussé qu un SIG
MERCI DE VOTRE ATTENTION
MERCI DE VOTRE ATTENTION