Création de fonds de cartes statiques et dynamiques avec R et Google Maps

Documents pareils
ANALYSES SPATIALES SOUS R

Optimiser ses graphiques avec R

Cartographie avec R. Baptiste Coulmont. 16 septembre 2010

Documentation Administrateur

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

AMELIORATIONS DES FONCTIONNALITES DISPONIBLES

Gestionnaire de champs PRO

SEMIN- Gestion des couleurs sous R. Michel BAYLAC. MNHN Département Systématique et Evolution OSEB

Initiation à l analyse en composantes principales

GÉODÉSIE, COORDONNÉES ET GPS

Configuration et optimisation d'arcgis Server Gaëtan LAVENU ESRI France Sylvain BARD-MAÏER ESRI France

TUTORIEL CartoDB 11/03/15

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Programme GREAT-MED: «Generating a Risk and Ecological Analysis Toolkit for the Mediterranean»

Glossaire. base de données géographiques Voir géodatabase (GDB).

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Paris Airports - Web API Airports Path finding

ORUXMAPSDESKTOP v.1.4 EN PREMIER, TU DOIS AVOIR LA MACHINE VIRTUELLE JAVA DANS TON PC, PUISQUE ORUXMAPSDESKTOP EST UNE APPLICATION JAVA.

Créer une base de données vidéo sans programmation (avec Drupal)

HTML. Google Maps. Approfondir. 3 :HIKONB=^UZ^Z]:?k@l@g@h@a"; Codez une fois, déployez sur Android, ios, Kindle... Smartphones. Matériel.

14 Cartographie Web et mobile

Cours iguess. inotes v10.1

SEMIN. Données sous R : stockage et échange. Julio PEDRAZA ACOSTA

Les outils actuels permettent-ils d automatiser la production de cartes? De quels outils dispose-t-on?

Aide GeoGebra. Manuel Officiel 3.2. Markus Hohenwarter et Judith Hohenwarter

Table des matières. 1. Création et suppression d un compte p.

Intégration ESRI - SAP Geo-Enablement de l ERP SAP Exemple : GEO.e. Christophe Lapierre Enrique Yaptenco Professional Services - ESRI Suisse

Mise en place d'un serveur d'application SIG au Conseil général de Seine-et-Marne

SOMMAIRE

Logiciel ArpentGIS-PC Guide de l utilisateur

Géolocalisation. Remy Sharp

Esri Maps for IBM Cognos

Cartographie et SIG interactifs en ligne Séance 1 : Présentation générale du webmapping : principe et techniques

Gnuplot. Chapitre Lancer Gnuplot. 3.2 Options des graphes

Glossaire. attribut de clé Voir clé primaire. base de données géographiques Voir géodatabase (GBD).

MANIPULATION ET VISUALISATION DE GROSSES BASES DE DONNÉES AVEC R

Université de Toulouse-Le Mirail janvier 2012 Département de Géographie-Aménagement-Environnement Laurent Jégou

: seul le dossier dossier sera cherché, tous les sousdomaines

DMRAlert STREET. Présentation générale. Géolocalisation Urgences - Statuts- Zones Opération Tranquillité Vacances OTV - POI

ArcGIS Server 9.3 Partie 2. Les API d'accès à ArcGIS Server. Thomas DAVID Gaëtan LAVENU

CARTOGRAPHIE EN LIGNE ET GÉNÉRALISATION

Gestion des données avec R

GOOGLE ANALYTICS. Ajout du code de suivi sur PowerBoutique. Ajout du code de suivi Google Analytics. Page 1 / 7 TUTO / GOOGLE ANALYTICS

Programmation Web. Madalina Croitoru IUT Montpellier

Big data et données géospatiales : Enjeux et défis pour la géomatique. Thierry Badard, PhD, ing. jr Centre de Recherche en Géomatique

L offre décisionnel IBM. Patrick COOLS Spécialiste Business Intelligence

Documentation Suivi S.E.O

Analyse d images. Edmond.Boyer@imag.fr. Edmond Boyer UFRIMA 1

Introduction à R. Florence Yerly. Dept. de mathématiques, Université de Fribourg (CH) SP 2011

Pourquoi R devient incontournable en recherche, enseignement et développement

Diffuser un contenu sur Internet : notions de base... 13

Les enjeux de la mobilité et de la réalité augmentée dans les jeux éducatifs localisés. GéoEduc3D

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

+33 (0) Sarl ISB Altipolis2 av. Du Général Barbot Briancon - France

Malgré son aspect spartiate, Freeplane offre de nombreuses fonctionnalités en particulier dans le domaine de la diffusion des cartes sur le Web.

Acquérir et intégrer des données géographiques

RESPONSIVE WEB DESIGN

Prérequis réseau constructeurs

Spécifications techniques

Glossaire suivi SEO. Glossaire suivi SEO. Document : Suivi SEO. Projet : Date : 18/02/15. Version : 1

L import massif introduit plusieurs nouvelles fonctionnalités, selon que l on importe un thésaurus, un ensemble de valeurs contrôlées ou un corpus.

Programmation d exercices WIMS au format OEF

Spétechs Mobile. D e r n i è r e m i s e à j o u r : a o û t 2014

Fiche TD avec le logiciel. Courbes de niveau. D. Chessel

Location Analytics Esri Maps for IBM Cognos (EM4C) Une meilleure Business Intelligence

RESPONSIVE DESIGN : Comment offrir à vos sites une adaptabilité parfaite?

Les Ateliers Numériques avril Alboussière

Media queries : gérer différentes zones de visualisation

ArcGIS, Plateforme d'interopérabilité. Gaëtan LAVENU

Guide de démarrage Tradedoubler. Manuel éditeur / affilié

FICHE PRODUIT. MapInfo Professional v12.5 Evolution. Comparaison de la v12.5 avec les anciennes versions. Les plus de MapInfo Professional v12.

Aide - mémoire gnuplot 4.0

Codage d information. Codage d information : -Définition-

Application SIG : élaboration d une carte de bathymétrie de la Méditerranée marocaine et de la lagune de Nador Par :

R01 Import de données

Lire ; Compter ; Tester... avec R

Android 4 Les fondamentaux du développement d'applications Java

UN SITE WEB RESPONSIVE EN UNE HEURE?

Présentation. Référenciel : textes officiels

Outil de visualisation du territoire

Prise en main du logiciel de SIG MapInfo

Fiche diagnostic du besoin

Manuel d utilisation de la base de données nationale sur la situation de l enfance en Tunisie CHILDINFO 6.0

Travaux Pratiques sur les Systèmes d Information Géographique - SIG - Initiation à ArcGIS

Responsive Design. Technologies du web. Stéphane Bouvry, 2014

Exemple et réflexion sur l utilisation de données satellitaires

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Introduction à Expression Web 2

Spétechs Mobile. Octobre 2013

CONSTRUCTION DES PROJECTIONS TYPES DE PROJECTION. Projection => distorsions. Orientations des projections

Dafoe Présentation de la plate-forme UIMA

L expertise développée par Market-IP et ses solutions télématiques vous permettront d atteindre

Les Géodatabases en 9.2

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

REPRESENTER LA TERRE Cartographie et navigation

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos.

Transcription:

Création de fonds de cartes statiques et dynamiques avec R et Google Maps Jérôme SUEUR MNHN UMR CNRS 7205 - OSEB Mardi 7 février 2012

Plan Pourquoi faire? Cartes statiques RgoogleMaps dismo Cartes dynamiques googlevis plotgooglemaps Autres possibilités Références

Plan Pourquoi faire? Cartes statiques RgoogleMaps dismo Cartes dynamiques googlevis plotgooglemaps Autres possibilités Références

Pourquoi faire? cartes de distribution d espèces, cartes de densité par pays, suivi de déplacement (tracking, télédétection), cartes de territoires, de zones végétales, etc.

Plan Pourquoi faire? Cartes statiques RgoogleMaps dismo Cartes dynamiques googlevis plotgooglemaps Autres possibilités Références

Cartes statiques RgoogleMaps Auteur : Markus Loecher, Nécessite les packages : png, ReadImages, Interroge Google Maps et récupère les fonds de carte, Ajoute des points et lignes sur les fonds de carte.

Cartes statiques RgoogleMaps Coordonnées et noms des principaux sites du MNHN en IdF : lat <- c("48.84471", "48.862", "48.83873", "48.83248", "48.69335", "48.83047") long <- c("2.36", "2.2876", "2.3591", "2.41724", "2.49626", "2.1117") nom <- c("jardin des Plantes", "Musée de l'homme", "IPH", "Zoo de Vincennes", "Brunoy", "Arboretum de Chèvreloup")

Cartes statiques RgoogleMaps Carte définie à partir d un point central et d un niveau de zoom, sauvée dans un fichier.png : library(rgooglemaps) paris1 <- GetMap(center=c(48.857, 2.348), zoom=12, destfile="paris1.png", maptype="terrain")

Cartes statiques RgoogleMaps Pour afficher la carte dans x11, utiliser PlotOnStaticMap() : PlotOnStaticMap(paris1)

Cartes statiques RgoogleMaps La même carte avec un autre fond : paris2 <- GetMap(center=c(48.857, 2.348), zoom=12, destfile="paris2.png", maptype="normal") PlotOnStaticMap(paris2)

Cartes statiques RgoogleMaps La fonction qbbox() [quantiles bounding box] permet de cadrer la carte en fonction des points à afficher : bb <- qbbox(lat = as.numeric(lat), lon = as.numeric(long)) paris3 <- GetMap.bbox(latR = bb$latr, lonr = bb$lonr, destfile = "paris3.png", maptype="terrain" )

Cartes statiques RgoogleMaps PlotOnStaticMap(paris3)

Cartes statiques RgoogleMaps Pour illustrer la carte avec des points ou des lignes, utiliser la fonction PlotOnStaticMap() : PlotOnStaticMap(paris3, lat = as.numeric(lat), lon = as.numeric(long), cex = 2, pch = 19, col = "red", add = FALSE)

Cartes statiques dismo Auteurs : Robert J. Hijmans, Steven Phillips, John Leathwick and Jane Elith Nécessite les packages : raster, XML, RGDAL, et sp, Fonctions utiles en cartographies : geocode pour la localisation gmap pour la projection Wrapper de RGoogleMaps pour des deux fonctions.

Cartes statiques dismo A partir d un mot-clé : library(dismo) (x <- geocode("paris, France")) ID lon lat lonmin lonmax latmin latmax l 1 1 2.352222 48.85661 2.224162 2.480281 48.79785 48.91531 Paris, (e <- extent(unlist(x[4:7]))) class : Extent xmin : 2.224162 xmax : 2.480281 ymin : 48.79785 ymax : 48.91531 g <- gmap(e, type = "satellite") La fonction extent(), qui vient du package raster, récupère les coordonnées de la bounding box.

Cartes statiques dismo On affiche dans x11 avec plot() plot(g)

Cartes statiques dismo A partir d un ensemble de points : xy <- cbind(as.numeric(long), as.numeric(lat)) g <- gmap(xy, type='terrain')

Cartes statiques dismo La projection est de type Mercator. Pour ajouter des annotations, il faut donc transformées les données avec la fonction Mercator() : Mxy <- Mercator(xy) head(mxy) x y [1,] 262714.0 6248553 [2,] 254654.5 6251478 [3,] 262613.8 6247541 [4,] 269085.9 6246484 [5,] 277882.4 6222989 [6,] 235073.4 6246145

Cartes statiques dismo plot(g) points(mxy, col=2, pch=20) text(mxy, labels=nom, col=2, pos=4) Musée de l'homme Arboretum de Chèvreloup Jardin des Plantes IPH Zoo de Vincennes Brunoy

Plan Pourquoi faire? Cartes statiques RgoogleMaps dismo Cartes dynamiques googlevis plotgooglemaps Autres possibilités Références

Cartes dynamiques googlevis Google Visualization API, Google Chart Tools : application google pour produire des graphiques dynamiques : http ://code.google.com/apis/chart/ Interface R Google Chart Tools, Auteurs : Markus Gesmann, Diego de Castillo, http ://code.google.com/p/google-motion-charts-with-r/ Trois fonctions pour faire des cartes : gvismap(), gvisgeomap(), gvisintensitymap().

Cartes dynamiques googlevis Principe : 1. création d un data.frame avec les données de localisation par des : mots-clé données latitude / longitude en décimales 2. création du code html / javascript avec gvismap() 3. projection avec plot()

Cartes dynamiques googlevis Les arguments pour les données : data data.frame, locationvar chaîne de caractères, le nom de la colonne de data contenant les données de localisation, tipvar chaîne de caractères, le nom de la colonne de data contenant le texte des étiquettes, accepte du code html.

Cartes dynamiques googlevis Localisation par mots-clé : library(googlevis) df <- data.frame( adresses = c("paris", "45 rue Buffon 75005 Paris"), tip = c("centre de Paris", "UMR 7205 OSEB<BR>C'est ici!") ) head(df) adresses tip 1 Paris Centre de Paris 2 45 rue Buffon 75005 Paris UMR 7205 OSEB<BR>C'est ici! mymap1 <- gvismap(df, locationvar = "adresses", tipvar = "tip", options = list(showtip = TRUE)) plot(mymap1) voir le résultat

Cartes dynamiques googlevis Localisation par donnée longitude / latitude : latlong <- paste(lat, long, sep=":") df <- data.frame(latlong, nom, stringsasfactors = FALSE) head(df) latlong nom 1 48.84471:2.36 Jardin des Plantes 2 48.862:2.2876 Musée de l'homme 3 48.83873:2.3591 IPH 4 48.83248:2.41724 Zoo de Vincennes 5 48.69335:2.49626 Brunoy 6 48.83047:2.1117 Arboretum de Chèvreloup mymap2 <- gvismap(df, locationvar="latlong", tipvar="nom", options = list(showtip = TRUE)) plot(mymap2) voir le résultat

Cartes dynamiques googlevis L argument graphique option est une list avec les différentes options : gvis.editor = TRUE modification en ligne, enablescrollwheel = TRUE zoom, showtip = TRUE étiquettes pour chaque point, showline = TRUE ligne entre les points, linecolor couleur des lignes, linewidth épaisseur des lignes, maptype type de carte (normal, terrain, satellite, hybrid) usemaptypecontrol = TRUE changement de type de fond de carte en ligne, zoomlevel niveau de zoom, width, height largeur et hauteur en pixels.

Cartes dynamiques googlevis mymap3 <- gvismap( df, locationvar="latlong", tipvar="nom", options = list( gvis.editor = TRUE, enablescrollwheel = TRUE, showtip = TRUE, maptype = "normal", usemaptypecontrol = TRUE, width=800, height=800 ) ) plot(mymap3) voir le résultat

Cartes dynamiques googlevis Exemple de distribution d une cigale méditerranéenne : Dimissalna dimissa : http ://sueur.jerome.perso.neuf.fr/pubmore.html

Cartes dynamiques googlevis Exemple de tracking : données sur le trajet d un individu de Bernache nonette (Branta leucopsis) Source : Larry Griffin et David Cabot http ://www.movebank.org Les données : head(goose) location.long location.lat 8553-10.22300 54.11583 8554-10.22300 54.11583 8555-10.22350 54.11533 8556-10.20200 54.11916 8557-10.20183 54.11933 8558-10.20100 54.13066

Cartes dynamiques googlevis latlong nom 1 54.11583:-10.223 Barnacle goose 2 54.11583:-10.223 Barnacle goose 3 54.11533:-10.2235 Barnacle goose 4 54.11916:-10.202 Barnacle goose 5 54.11933:-10.20183 Barnacle goose 6 54.13066:-10.201 Barnacle goose

Cartes dynamiques googlevis La carte : mymap4 <- gvismap(df, locationvar="latlong", options = list( showtip = FALSE, showline = TRUE, maptype = "satellite", linecolor="red" ) ) plot(mymap4) voir le résultat

Cartes dynamiques googlevis Il y a deux autres fonctions pour des cartes de densité par pays : gvisintensitymap(), gvisgeomap().

Cartes dynamiques plotgooglemaps Auteur : Milan Kilibarda, Deux fonctions : plotgooglemaps() cartes dynamique avec projection de données spatiales (polygones, points), bubblegooglemaps() carte dynamique avec projection des points modifiables (bubbles).

Cartes dynamiques plotgooglemaps Object de classe Spatial du package sp qui contient : la bounding box, le CRS (coordinate reference system) des sous-classes selon le type de données spatiales SpatialPoints, SpatialPointsDataFrame, SpatialLines, SpatialLinesDataFrame, SpatialPolygons, SpatialPolygonsDataFrame, SpatialPixels, SpatialGrid

Cartes dynamiques plotgooglemaps Données meuse et meuse.grid du package sp. Préparation des données :-( Données de différentes mesures de pollution library(plotgooglemaps) data(meuse) coordinates(meuse)<-~x+y proj4string(meuse) <- CRS('+init=epsg:28992') Grille 40 m 40 m (localisation des points) data(meuse.grid) coordinates(meuse.grid)<-c('x','y') meuse.grid<-as(meuse.grid,'spatialpixelsdataframe') im<-as.image.spatialgriddataframe(meuse.grid['dist']) cl<-contourlines2sldf(contourlines(im)) proj4string(cl) <- CRS('+init=epsg:28992')

Cartes dynamiques plotgooglemaps Projection simple des points avec étiquettes complètes, écriture dans un fichier.html : m <- plotgooglemaps(meuse,filename='mymap1.htm') voir le résultat

Cartes dynamiques plotgooglemaps Création d un carte avec plusieurs calques (projections). Premier calque avec les points de mesure de pollution : mapmeusepoints <- plotgooglemaps(meuse, add=true, maptypeid='terrain') Deuxième calque avec les lignes de contours (cl) de niveau d inondation : mapmeusecl <- plotgooglemaps(cl, previousmap=mapmeusepoints, filename='mymap2.htm') voir le résultat

Cartes dynamiques plotgooglemaps Project du taux de pollution au zinc par des points de taille proportionnelle : m <- bubblegooglemaps(meuse, zcol='zinc', filename='mymap3.htm') création d un fichier.html et d un fichier.png pour la légende. voir le résultat

Plan Pourquoi faire? Cartes statiques RgoogleMaps dismo Cartes dynamiques googlevis plotgooglemaps Autres possibilités Références

Autres possibilités Écriture de fichiers.kml (Google Earth) avec la fonction writeogr() du package rgdal, package DeducerSpatial : un GUI pour la projection spatiale fonctionant avec JGR. Vidéo ici. package ggmap fonctionnant sur le principle de ggplot2.

Plan Pourquoi faire? Cartes statiques RgoogleMaps dismo Cartes dynamiques googlevis plotgooglemaps Autres possibilités Références

Références Bivand et al. 2008 Applied spatial data analysis with R. Use R! Springer. dismo : http ://cran.r-project.org/web/packages/dismo/index.html plotgooglemaps : http ://cran.at.rproject.org/web/packages/plotgooglemaps/index.html RgoogleMaps : http ://cran.r-project.org/web/packages/rgooglemaps/index.html googlevis : http ://cran.r-project.org/web/packages/googlevis/index.html