1. 1
Sommaire
Remerciements...........................................................................................................1
I- Introduction:.........................................................................................................2
II- Big Data : .............................................................................................................4
1) Le phénomène Big Data : .................................................................................4
2) Le Big Data, c’est quoi ? ..................................................................................4
3) Big Data : l’analyse de données en masse :......................................................5
4) Problème lié à l’utilisation de R pour le traitement des Big Data....................6
5) Quelques solutions............................................................................................6
III- Les techniques statistiques en big data : ..............................................................7
a) - Méthodes descriptives : ....................................................................................7
b) - Méthodes prédictives :......................................................................................8
IV- Les outils R pour analyser Big Data :..................................................................9
V- Analyse Spatiale :...............................................................................................11
1) Définition analyse spatiale :............................................................................12
2) Les domaines d‘application :..........................................................................12
3) L’analyse spatiale dans R : .............................................................................13
4) Avantages d’utilisation du logiciel R : ...........................................................13
5) Inconvénients d’utilisation de R:....................................................................13
6) Les packages :.................................................................................................13
7) Utilisation:.......................................................................................................14
8) Les polygones : ..............................................................................................15
9) Le Raster :......................................................................................................16
10) Quelques Traitements graphiques ...............................................................16
11) Les études de cas : .......................................................................................22
VI- Conclusion: ........................................................................................................40
2. 2
I- Introduction:
Tous les deux jours, l’humanité produit autant d’information que ce qu’elle
a généré depuis l’aube de la civilisation jusqu’en 2003. Plus de 90% des
données disponibles aujourd’hui ont été produites ces 2 dernières années.
Et ce volume d’information numérique double tous les deux ans. C’est dire
l’enjeu considérable que constituent le traitement, l’analyse, le stockage et
le décryptage de ces mégadonnées, Big Data en anglais, dans le texte, et
les nouveaux horizons qu’elles créent pour l’ensemble de la recherche
scientifique en permettant l’accès à une quantité inédite d’informations
brutes qui recèle des trésors de connaissance, oui, mais des trésors de
connaissance difficile d’accès…
L’historique du big data :
Le Big data a une histoire récente et pour partie cachée, en tant qu'outil des
technologies de l'information et comme espace virtuel prenant une importance
volumique croissante dans le cyberespace. L'expression « Big data » serait apparue
en octobre 1997 selon les archives de la bibliothèque numérique de l’ACM
(Association for Computing Machinery), dans des articles scientifiques sur les défis
technologiques à relever pour visualiser les « grands ensembles de données ».Selon
3. 3
V. Tréguier (2014) et selon la « très courte histoire du Big data » publiés par Gil
Press en 201316 pour la période 1944-2012, sa naissance est liée aux progrès des
systèmes de stockage, de fouille et d'analyse de l'information numérisée, qui ont
permis une sorte de Big bang de l'information stockée puis une croissance
inflationniste de l'univers de la donnée numérisée. Mais ses prémisses
sont à trouver dans le croisement de la cybernétique et de courants de pensée nés
durant la Seconde Guerre mondiale, selon lesquels l’homme et le monde peuvent
être représentés comme «des ensembles informationnels, dont la seule différence
avec la machine est leur niveau de complexité. La vie deviendrait alors une suite de
0 et de 1, programmable et prédictible ».
4. 4
II- Big Data :
1) Le phénomène Big Data :
L’explosion quantitative des données numériques a obligé les chercheurs à trouver
de nouvelles manières de voir et d’analyser le monde. Il s’agit de découvrir de
nouveaux ordres de grandeur concernant la capture, la recherche, le partage, le
stockage, l’analyse et la présentation des données. Ainsi est né le « Big Data ». Il
s’agit d’un concept permettant de stocker un nombre indicible d’informations sur
une base numérique. Selon les archives de la bibliothèque numérique de
l’Association for Computing Machinery (ou ACM) dans des articles scientifiques
concernant les défis technologiques à relever pour visualiser les « grands ensembles
de données », cette appellation est apparue en octobre 1997.
2) Le Big Data, c’est quoi ?
Littéralement, ces termes signifient méga données, grosses données ou
encore données massives. Ils désignent un ensemble très volumineux de données
qu’aucun outil classique de gestion de base de données ou de gestion de
l’information ne peut vraiment travailler. En effet, nous procréons environ 2,5
trillions d’octets de données tous les jours. Ce sont les informations provenant de
partout : messages que nous nous envoyons, vidéos que nous publions,
informations climatiques, signaux GPS, enregistrements transactionnels d’achats en
ligne et bien d’autres encore. Ces données sont baptisées Big Data ou volumes
massifs de données. Les géants du Web, au premier rang desquels Yahoo (mais
aussi Facebook et Google), ont été les tous premiers à déployer ce type de
technologie.
Cependant, aucune définition précise ou universelle ne peut être donnée au Big
Data. Etant un objet complexe polymorphe, sa définition varie selon les
communautés qui s’y intéressent en tant qu’usager ou fournisseur de services. Une
approche transdisciplinaire permet d’appréhender le comportement des différents
acteurs : les concepteurs et fournisseurs d’outils (les informaticiens), les catégories
d’utilisateurs (gestionnaires, responsables d’entreprises, décideurs politiques,
chercheurs), les acteurs de la santé et les usagers.
5. 5
3) Big Data : l’analyse de données en masse :
Inventé par les géants du web, le
Big Data se présente comme une
solution dessinée pour permettre à
tout le monde d’accéder en temps
réel à des bases de données géantes.
Il vise à proposer un choix aux
solutions classiques de bases de
données et d’analyse (plate-forme
de Business Intelligence en serveur
SQL…).
Selon le Gartner, ce concept
regroupe une famille d’outils qui
répondent à une problématique
dite règle des 5V.
a) Le volume :
Le volume correspond à la masse d’informations produite chaque seconde. Selon
des études, pour avoir une idée de l’accroissement exponentiel de la masse de
données, on considère que 90 % des données ont été engendrées durant les années
où l’usage d’internet et des réseaux sociaux a connu une forte croissance.
L’ensemble de toutes les données produites depuis le début des temps jusqu’à la fin
de l’année 2008, conviendrait maintenant à la masse de celles qui sont générées
chaque minute. Dans le monde des affaires, le volume de données collecté chaque
jour est d’une importance vitale.
b) La vélocité :
La vélocité équivaut à la rapidité de l’élaboration et du déploiement des nouvelles
données. Par exemple, si on diffuse des messages sur les réseaux sociaux, ils
peuvent devenir « viraux » et se répandre en un rien de temps. Il s’agit d’analyser
les données au décours de leur lignée (appelé parfois analyse en mémoire) sans
qu’il soit indispensable que ces informations soient entreposées dans une base de
données.
c) La variété :
Seulement 20% des données sont structurées puis stockées dans des tables de bases
de données relationnelles similaires à celles utilisées en gestion comptabilisée. Les
80% qui restent sont non-structurées. Cela peut être des images, des vidéos, des
textes, des voix, et bien d’autres encore… La technologie Big Data, permet de faire
6. 6
l’analyse, la comparaison, la reconnaissance, le classement des données de
différents types comme des conversations ou messages sur les réseaux sociaux, des
photos sur différents sites etc. Ce sont les différents éléments qui constituent la
variété offerte par le Big Data.
d) La véracité
La véracité concerne la fiabilité et la crédibilité des informations collectées.
Comme le Big Data permet de collecter un nombre indéfini et plusieurs formes de
données, il est difficile de justifier l’authenticité des contenus, si l’on considère les
post Twitter avec les abréviations, le langage familier, les hashtags, les coquilles
etc. Toutefois, les génies de l’informatique sont en train de développer de nouvelles
techniques qui devront permettre de faciliter la gestion de ce type de données
notamment par le W3C.
e) La valeur
La notion de valeur correspond au profit qu’on puisse tirer de l’usage du Big Data.
Ce sont généralement les entreprises qui commencent à obtenir des avantages
incroyables de leurs Big Data. Selon les gestionnaires et les économistes, les
entreprises qui ne s’intéressent pas sérieusement au Big Data risquent d’être
pénalisées et écartées. Puisque l’outil existe, ne pas s’en servir conduirait à perdre
un privilège concurrentiel.
4) Problème lié à l’utilisation de R pour le traitement des
Big Data
Comme il existe de très nombreux systèmes de gestion de données, il existe de
nombreux environnements logiciels open source à l’interface utilisateur plus ou
moins amicale et acceptant ou non des fonctions écrites en R ou autre langage de
programmation : KNIME, TANAGRA, Weka, ...
Néanmoins, pour tout un tas de raisons dont celle d’un large consensus au sein
d’une très grande communauté d’utilisateurs, le logiciel libre R est une référence
pour l’analyse ou l’apprentissage statistique de données conventionnelles, comme
pour la recherche et le développement, la diffusion de nouvelles méthodes.
Le principal problème de R (version de base) est que son exécution nécessite de
charger toutes les données en mémoire vive. En conséquence, dès que le volume est
important, l’exécution se bloque.
5) Quelques solutions
Une première façon de procéder avec R, pour analyser de grandes masses, consiste
simplement à extraire une table, un sous-ensemble ou plutôt un échantillon
7. 7
représentatif des données avec du code java, Perl, Python, Ruby... avant de les
analyser dans R.
Une autre solution consiste à utiliser une librairie permettant une extension
virtuelle sur disque de la mémoire vive (ce qui a pour contrepartie d’alourdir les
temps d’accès aux données donc les temps de calcul). C’est le rôle des packages ff
bigmemory, mais qui ne gèrent pas la distribution du calcul en parallèle, et
également aussi de ceux interfaçant R et Hadoop.
III- Les techniques statistiques en big
data :
a) - Méthodes descriptives :
Ces méthodes visent à structurer et simplifier les données issues de plusieurs
variables, sans privilégier l’une d’entre elles en particulier. Parmi ces méthodes, il
ressort 4 analyses plus fréquemment utilisées pour le traitement des enquêtes :
1) L’ACP
L’ACP s’applique à un ensemble de variables numériques. Elle permet de
positionner les individus sur un plan en deux dimensions, en fonction de la
proximité de leurs réponses aux questions sélectionnées.
L’ACP permet ainsi de mettre en évidence la structuration des réponses en
montrant le regroupement des individus selon des combinaisons de réponses aux
questions prises en compte.
En effet, En pratique l’ACP aide à la structuration de la réponse d’individus
statistiques limités surtout lorsqu’on souhaite analyser des variables en tenant
compte de différents critères d’ordre numérique. Leur représentation indique les
corrélations illustrées à l’intérieur d’un cercle de rayon 1.
2) L’AFC
L’Analyse Factorielle des Correspondances (AFC) est une méthode factorielle de
Statistique Descriptive Multidimensionnelle (MDS).
Elle est utilisée lorsque l’on souhaite étudier la liaison entre deux variables
qualitatives (nominales). Dans le cas, d’un jeu de données à plus de 2 variables, on
aura recours à l’ACM. Pour appliquer une AFC, nous avons besoin des
informations suivantes :
Tableau d’effectifs observés: les observations sont synthétisées dans un
tableau de contingence (tableau croisé) indiquant le nombre d’individus ayant telle
8. 8
modalité pour la première variable (ligne) et telle modalité pour la seconde
variable (colonne).
Tableau de fréquences (étape intermédiaire): on transforme le tableau
d’effectifs observés en tableau de fréquence.
Tableau d’effectifs théoriques: il représente la répartition des individus qui
serait obtenue s’il n’y avait aucun lien entre les 2 variables c’est à dire si
l’attribution de chaque modalité était indépendante.
3) L’ACM
L’Analyse des Correspondances Multiples (ACM) généralise l’AFC à un nombre
quelconque de variables et permet donc de représenter sur le même mapping les
modalités de réponses de plus de deux variables. Comme pour l’ACP, le but de ces
analyses est de dégager des dimensions cachées contenues dans les réponses aux
variables sélectionnées, pour faciliter l’interprétation de tableaux pas toujours
lisibles au départ.
L’ACM part d’un tableau disjonctif complet (tableau de Burt) qui présente en ligne
les individus et en colonne toutes les modalités des variables qualitatives retenues.
Les cases d’intersection comportent la valeur 1 si l’individu répond au critère en
colonne et 0 dans le cas contraire.
4) Les méthodes de classification
La classification est une méthode de regroupement des individus selon leurs
ressemblances. La différence est que le nombre de groupes n’est pas à fixer a priori
et que le résultat est représenté sous la forme d’un arbre de classification.
L’élaboration de cet arbre peut être ascendante (méthode la plus fréquemment
utilisée), par regroupements successifs des individus ou descendante, par divisions
successives. L’arbre de classification relie un individu à un autre ou à un sous-
groupe d’individu issus eux-mêmes de regroupements.
b) - Méthodes prédictives :
Les méthodes prédictives ont pour but de faire prédire et anticiper les
comportements d’un individu, phénomène ou matériel…
L'étude met en exergue un cycle de six étapes clés dans l'élaboration de solutions
prédictives grâce au Big data :
Identifier les données utiles en évaluant diverses sources possibles
Triturer les data, les agréger, les compléter, etc.
Construire un modèle prédictif, à partir d'algorithmes statistiques et de
9. 9
'machinelearning'.
Evaluer l'efficacité et la précision du modèle prédictif.
Utiliser le modèle prédictif pour orienter des décisions métiers.
Assurer un suivi de l'application et de l'efficacité du modèle prédictif.
IV- Les outils R pour analyser Big Data :
Pour afficher le résumé des neuf variables qui constituent les données exemples il
faut faire la commande par la fonction rxSummary() et rxCrossTabs().
On utilise la fonction rxSummary() pour résumer les variables correspondant au
jour de la semaine, au cours de clôture et au volume échangé. rxSummary () fournit
des récapitulatifs pour des variables individuelles dans un ensemble de données.
La syntaxe simple : rxSummary(formula, data)
Formula : Une formule contenant les variables résumées. Typiquement, cette
formule n'a que des variables sur le côté droit du ~ et aussi de séparer les
différentes variables avec un +.
Data : Ensemble de données dans lequel on souhaite rechercher les variables
spécifiées dans la formule.
Si on veut pondérer chaque observation différemment, alors on peut utiliser soit
l'argument pweights soit l'argument fweights.
pweights correspondent à des poids de probabilité, tandis que fweights
correspondent à des poids de fréquence.
10. 10
On peut aussi calculer des tabulations croisées et des comptages fréquentiels à
l'aide de la fonction rxCrossTabs ().
La syntaxe simple de rxCrossTabs () est similaire à rxSummary ():
rxCrossTabs(formula, data)
Formula : Une formule contenant les variables tabulées.
Data : Ensemble de données dans lequel on souhaite rechercher les variables
spécifiées dans la formule.
L'utilisation de pondérations de fréquence et de probabilité est également
disponible dans cette fonction via les arguments fweights et pweights,
respectivement.
Et pour récapituler les données de vol on utilise les fonctions suivante : rxGetInfo
(), rxSummary () et rxHistogram ().
rxGetInfo () fournit des informations sur l'ensemble de données dans son ensemble :
combien de lignes et de variables, le type de compression utilisé, etc.
De plus, si on définit l'argument getVarInfo sur TRUE, il fournira également un
bref résumé des variables. Si on spécifie l'argument numRows, il renvoie également
les premières lignes de numRows.
a. rxHistogram () fournira un histogramme d'une seule variable.
11. 11
Data : soit un objet de source de données, une chaîne de caractères spécifiant un
fichier .xdf ou un objet de bloc de données.
On utilise la fonction rxPredict () pour effectuer des prédictions sur le jeu de
données newData basé sur le modèle logitModel. La fonction rxPredict ()
fonctionne pour les objets rxLogit ainsi que pour les objets rxLinMod, et sa syntaxe
est très similaire entre les deux types d'objets.
La principale différence est que si on travaille avec un modèle linéaire généralisé, il
est utile de spécifier explicitement le type de prédiction qu’on veut. Le type de lien
crée des prédictions à l'échelle de la combinaison linéaire de prédicteurs, où le type
de réponse placera les valeurs prédites sur l'échelle de la variable de réponse. Dans
le cas de la régression logistique, cela signifie que le type de réponse produit des
valeurs prédites qui peuvent être interprétées comme des valeurs de probabilité.
V- Analyse Spatiale :
Un point. Deux points. Trois points. Une multitude de points. Un portrait entier
construit de points, petits et gros, semblables ou non, éparpillés çà et là autour de
quelques agrégats. Des points en modélisation des transports ? Il en existe
plusieurs. Il existe toute une panoplie d’entités urbaines dont l’expression spatiale
la plus simple est le point : les ménages échantillonnés lors des enquêtes Origine-
Destination, les secteurs de dénombrement, plus petite entité statistique pour
laquelle des données de recensement sont collectées, les nœuds du réseau de
transport en commun, les extrémités de déplacements, les lieux d’emplois, les
espaces de stationnement, les localisations successives exprimant la trace d’un
véhicule muni d’un GPS.
Des nuages de points deviennent des révélateurs de comportements et tendances
lorsque examinés par le biais des outils disponibles dans les systèmes d’information
géographiques et disciplinés selon des méthodes appropriées. L’identification et
l’application de ces outils et méthodes ainsi que le choix et la structuration des
données requises pour les utiliser sont des enjeux très actuels qui méritent d’être
discutés.
Une série d’expériences intéressantes permettra d’illustrer la puissance de Big data
12. 12
pour traiter rapidement des volumes impressionnant de données variées, afin d’en
tirer un sens pour son exploitation dans des applications géospatiales.
1) Définition analyse spatiale :
L'analyse spatiale est une approche géographique qui étudie les localisations et
les interactions spatiales en tant que composantes actives des fonctionnements
sociétaux. Elle part du postulat selon lequel l'espace est acteur organisé. C'est une
science nomothétique donc elle vise à proposer une approche modélisée de
l'espace géographique en mettant en évidence des formes récurrentes d'organisation
spatiales et des théories, notamment à travers diverses notions-
clés : distance, réseaux, structure, situation… L'espace n'est donc pas seulement
considéré comme un simple support mais comme un élément décisif d'une
organisation sociale.
Il s'agit de prendre en compte un ensemble complexe de données physiques et
humaines pour analyser les distributions spatiales de divers phénomènes, en
prenant garde de ne pas tomber dans le déterminisme strict. Les raisonnements
d'analyse spatiale s'appuient beaucoup sur les données statistiques et sur des
espaces isotropes (cela permet d'élaborer des théories qui sont ensuite appliquées à
l'espace réel, par essence anisotrope, en tenant compte des particularités).
2) Les domaines d‘application :
Tourisme (gestion des infrastructures, itinéraires touristiques)
Marketing (localisation des clients, analyse du site) • Planification urbaine
(cadastre, voirie, réseaux assainissement)
Protection civile (gestion et prévention des catastrophes) • Transport (planification
des transports urbains, optimisation d'itinéraires)
Hydrologie
Forêt (cartographie pour aménagement, gestion des coupes et sylviculture)
Géologie (cartographie, aléas, amiante environnemental, prospection minière)
Biologie (études du déplacement des populations animales)
Télécoms (implantation d'antennes pour les téléphones mobiles)
13. 13
3) L’analyse spatiale dans R :
Dans le domaine géospatial, R est utilisé depuis longtemps avec de très nombreux
paquets (packages) disponibles.
4) Avantages d’utilisation du logiciel R :
R sait analyser toutes les données. Il peut donc effectuer toutes les analyses
mathématiques, statistiques et spatiales sur les données géospatiales (vecteurs et
raster). Il n'y a donc pas besoin d'extensions spécifiques, souvent pas très bon
marché...;
R peut effectuer une grande partie des tâche SIG comme la topologie, l'algèbre
sur les rasters etc.;
R sait communiquer avec des bases de données spatiales ou non, ou lire et
écrire des fichiers vecteurs comme les shapefiles ou des rasters géoréférencés;
R sait créer des cartes 2d et 3d très sophistiquées qui peuvent être exportées
dans divers formats, bitmap (tiff, JPEG, png ...), vectoriel (EPS, PDF, svg...) ou
latex. Ceci d'une manière beaucoup plus pointue que ne le permettent
des SIG comme GRASS;
5) Inconvénients d’utilisation de R:
La visualisation et l'édition interactives des objets.
Un autre problème, pour certains, est que R ne s'utilise qu'en ligne de commandes.
Certains paquets permettent cependant de le transformer en un logiciel « clik and
play » plus convivial (R commander, Rattle ou Deducer)
6) Les packages :
L’arrivée des analyses spatiales sous R s’est accompagnée du développement d’une
centaine de packages. Manipuler des objets spatiaux sous R nécessite donc
l’installation préalable de certains d’entre eux. Le package sp est le plus populaire
d’entre eux puisqu’il regroupe les fonctions et les objets spatiaux de base sur
lesquels s’appuient de nombreux autres packages. Voici la liste des packages qui
seront utilisés dans ce document :
- dismo : présente une interface avec Google Maps et permet d’accéder
à de nombreux jeux de données en ligne ;
14. 14
- gstat : offre des outils indispensables pour l’interpolation spatiale
(krigeage) ;
- maptools : permet de manipuler les objets spatiaux en créant une
classe particulière d’objets spatiaux (planar point pattern) ;
- raster : offre de nombreuses fonctions permettant de lire et de
manipuler les objets de type raster ;
- rgeos : permet de manipuler la géométrie des objets spatiaux ;
- rgdal : package permettant d’importer/exporter de nombreux formats
d’objets spatiaux (raster de type grd, GeoTiff, shapefiles ESRI,
fichiers KML, etc.) ;
- sp : package de base définissant des classes d’objets spatiaux et de
nombreuses fonctions permettant de les manipuler ;
- spatstat : offre de nombreux outils pour réaliser des statistiques
spatiales ;
- spdep : idéal pour étudier l’autocorrélation spatiale, mais aussi pour ce
tout qui touche à la modélisation spatiale.
Figure 1: Installation des packages
7) Utilisation:
Rappelons que dans sa version de base, R dispose de tout le nécessaire pour les
traitements statistiques classiques et les graphiques. Tout comme Python, ses
possibilités se voient considérablement accrues par l'adjonction de très nombreuses
librairies (« packages », quasi 2000).
1. Pour obtenir les données SIG à traiter, R va utiliser des packages spatiaux.
Ceux-ci vont permettre la lecture de fichiers comme les shapefiles, la
connexion avec de nombreux SIG, ou la connexion avec des bases de
données spatiales, ou non;
2. Les données sont traitées dans R avec ses fonctions propres ou celles
présentes dans les packages spatiaux;
3. Après traitement, il est possible de « renvoyer » les résultats, soit dans un
fichier, soit dans un SIG, soit dans une base de données. C'est l'aspect qui a
15. 15
déjà été utilisé sur le Portail (géostatistique) et que nous ne développerons
pas ici, car il nous faudrait traiter des cas particuliers (il y a de très nombreux
exemples sur le Net);
4. R permet aussi d'obtenir une représentation graphique 2d et 3d de ces
données. L'utilisation de paquets graphiques spécifiques permet d'améliorer
la présentation.
5. C'est le processus qui est synthétisé dans le graphique suivant:
- On trouve deux modes en analyse spatiale dans R :
8) Les polygones :
Même si la logique est la même que pour les objets spatiaux ponctuels (séparation
des différentes informations en slots), la création de polygones spatiaux est plus
complexe et s’effectuera en plusieurs étapes successives :
– Conversion de coordonnées en polygone simple ;
– Création de polygone multiple ;
16. 16
– Création d’un polygone spatial ;
– Rajout d’une table d’attributs.
9) Le Raster :
Nous allons maintenant introduire un autre package qui offre de nombreux outils
pour manipuler les couches matricielles : le package raster. Voici les principales
possibilités offertes par ce package :
- Création, importation et exportation de couches matricielles ;
- Conversion en objets sp ;
- Modification de l’étendue et de la résolution spatiale ;
- Interpolation et prédiction ;
- Calcul de différentes métriques ;
- Représentation cartographique.
Ce package présente la particularité de ne pas stocker dans la mémoire de R les
valeurs d’un raster lors de son importation : elles ne seront lues que lorsque cela
sera nécessaire (analyse, résumé statistique, cartographie). Ceci présente l’avantage
de pouvoir manipuler des objets matriciels de très grandes dimensions sans
toutefois saturer la mémoire du logiciel.
10) Quelques Traitements graphiques
Lorsqu'on aborde l'aspect graphique de R, on est toujours étonné par la facilité de
création des figures. Afficher un shapefile ne demande que quelques lignes de
code:
base plot
1. > library(maptools)
2. > geol = readShapeSpatial("cal.shp")
3. > plot(geol)
4. > axis(1);axis(2):bbox()
17. 17
Ensuite, tout est paramétrable, représentations, couleurs (RGB), axes, légendes. je vous présente dans la
suite, quelques variations simples avec les mêmes géométries et sans code :
couleurs, cadre et légende (sans paquet graphique)
18. 18
couleurs, cadre et légende (paquet sp)
couleurs, cadre et légende (paquet ggplot2)
couleurs, légende, sans cadre (sans paquet graphique)
19. 19
comme un SIG, R sait évidemment superposer plusieurs objets spatiaux vectoriels.
l'objet point est le résultat d'un échantillonnage géochimique, avec des teneurs en ppm de
différents éléments. Ceux-ci peuvent être « explorés » graphiquement, sans aucun traitement
statistique.
avec le paquet lattice
20. 20
avec les paquets sp
R permet de représenter quantitativement ces données en 3d, mais elles ne s'y prêtent pas bien,
alors j'ai repris celui de la densité de population par état aux États-Unis (paquet lattice)
R sait aussi traiter les données raster et cela a déjà été montré sur le Portail :
en 3d avec le paquet rgl
21. 21
R sait aussi créer des cartes de pentes, etc., mais c'est du traitement...avec les polygones
superposés
avec les points d'échantillonnage géochimique superposés en bleu (en 3d):
R permet aussi les changements de projections:
22. 22
le paquet RgoogleMaps permet alors d'utiliser les fonds Google Maps comme carte. Il faut une clé
Google, gratuite, pour pouvoir l'utiliser (fonds seul, avec le paquet ggplot2, objet spatial sur le
fonds, sans paquet)
11) Les études de cas :
a) Etude de cas 1: Création d’un polygone
Tout d’abord on a créé cinq séries de coordonnées qui vont définir les sommets
de cinq polygones (une série pour le premier polygone, deux séries pour le second,
dont une définira le positionnement du trou, et deux séries pour le dernier polygone
formé de deux polygones).
# Création de la première série de coordonnées
23. 23
# Création de la seconde série de coordonnées
# Création de la troisième, quatrième et cinquième série de coordonnées
# Conversion en polygones simples
La première étape consiste à convertir chaque série de coordonnées en un
polygone simple. Pour cela, on a utilisé la fonction Polygon().
24. 24
# Accès aux coordonnées
On a affiché les coordonnées du premier polygone.
# Conversion en polygones multiples
La seconde étape consiste à créer des polygones multiples, c.-à-d. à regrouper
certains polygones simples dans un même polygone. Cette étape est obligatoire,
même dans le cas d’un polygone formé d’un seul polygone. C’est lors de cette
conversion qu’un identifiant sera donné à chaque polygone multiple. Procédons à
cette transformation en utilisant la fonction Polygons()
# Conversion en polygone spatial
On a créé le polygone spatial, et donc on a regroupé ces trois polygones multiples
en un seul objet spatial. Pour cela, on a créé un objet de classe SpatialPolygons.
# Nom des slots de SP
# Classe du premier élément
25. 25
# Accès aux coordonnées
Enfin, à ce SpatialPolygons on a ajouté une table d’attributs. Construisons tout
d’abord une table d’attributs fictive.
# Creation des champs de la table
# Création de la table
Finalement, on a ajouté cette table dans l’objet sp afin de créer un
SpatialPolygonsDataFrame.
# Rajout d'une table d'attributs et les Nom des slots du polygone spatial
26. 26
# Visualisation du polygone spatial
b) Etude de cas 2 : Création et opérations sur la MAP
d’USA :
La première chose à faire est d’installer les packages nécessaire pour la création de
la Carte.
33. 33
c) Etude de cas 3 : Les Crimes a downtown Houston,
Texas
La combinaison de package « ggplot2 et GoogleMaps » :
Le travail ci-dessous résume en détail des nouvelles méthodes pour visualiser des données
spatiales en R en utilisant le package ggplot2 et les appliquer pour Analyser des données
massives « les crimes en Texas en particulier »
Dans ce travail, nous sommes intéressés à
déterminer les zones avec des niveaux
relativement élevés d'activités criminelles
autour du centre-ville de Texas. À cette fin,
nous nous limitons exclusivement aux crimes
violents d'agression aggravée, de vol qualifié,
de viol et de meurtre. En tant que point de
référence spatial, nous considérons que le
centre-ville est la zone entourant
immédiatement l'hôtel de ville (qui peut être
géocodé avec Google Earth).
La première étape consiste à saisir et tracer la
carte qui représente le mieux l'étendue
géographique d'intérêt.
34. 34
Nous avons la carte de google maps et nous avons les données sur les crimes du service de police
de Houston qui a été géocodé en utilisant Google Maps. Nous pouvons maintenant combiner les
deux.
geom_point () : nous aide à savoir l’emplacement des activités criminelles violentes, mais elle
n'est pas aussi utile que la description de la criminalité au centre-ville. Pour cela, des contours
sont utilisées.
35. 35
- Dans cette étude nous avons vu l’utilité de la fonction ggplot2 combinée avec de l’information
spatiale détaillé de google Maps afin de fournir une analyse utile des points où il y a de
criminalité violente au centre de texas
-L’utilisation de googleMaps dans R avec ggplot2 permet aux analystes de visualiser leurs
données sur une échelle géographique familière qui est maintenue cohérente par le framework
ggplot2. Il est beaucoup plus facile d'interpréter l'information spatiale lorsqu'elle est référencée
par des points .
-Deuxièmement, cela nous permet de mieux comprendre et vérifier les données spatiales
provenant de différentes sources.
-Troisièmement, cela permet à l'analyste de créer des graphiques beaucoup plus facilement.
Code
library(ggplot2)
library(ReadImages)
library(RgoogleMaps)
library(MASS)
theme_set(theme_bw())
################################################################################
#################### preload functions for later use ####################
################################################################################
ggimage <- function(image){
require(ggplot2)
if(length(dim(image)) == 2){
message('creating black and white image...')
image <- melt(image)
names(image) <- c('row','column','fill')
plot <- qplot(column, -row, data = image, geom = 'tile', fill = fill) +
scale_fill_gradient(low = 'black', high = 'white')
}
if(length(dim(image)) == 3){
message('creating color image...')
image <- apply(image, 1:2, function(v) rgb(v[1], v[2], v[3]))
image <- melt(image)
names(image) <- c('row', 'column', 'fill')
plot <- qplot(column, -row, data = image, geom = 'tile', fill = fill) +
scale_fill_identity()
}
#return(plot) # remove first pound for the image in the case study
plot +
opts(
axis.line = theme_blank(), axis.ticks = theme_blank(),
axis.text.x = theme_blank(), axis.text.y = theme_blank(),
axis.title.x = theme_blank(), axis.title.y = theme_blank(),
axis.ticks.length = unit(0, "lines"),
axis.ticks.margin = unit(0, "lines"),
legend.position = "none",
panel.background = theme_blank(),
panel.border = theme_blank(),
panel.grid.major = theme_blank(),
panel.grid.minor = theme_blank(),
panel.margin = unit(0, "lines"),
plot.background = theme_blank(),
plot.title = theme_blank(),
plot.margin = unit(c(-1, -1, -1.5, -1.5), "lines")
36. 36
)
}
ggooglemap <- function(location = 'houston',
center = c(lat = 29.7632836, lon = -95.3632715), API,
type = c('color','bw')[1], rgbcoefs = c(0, 1, 0), zoom = 10,
maptype = 'terrain',
destfile = 'TemporaryMap.jpg', n_pix = 640)
{
require(ggplot2)
require(RgoogleMaps)
require(ReadImages)
if(!missing(location)){
url_string <- paste('http://maps.google.com/maps/geo?q=', location, sep = '')
site <- readLines(url(url_string))
site <- site[which(regexpr('coordinates', site) > 0)]
if(is.na(site)) stop('location geocoding error.')
site <- strsplit(site, '[')[[1]][2]
site <- strsplit(site, ',')[[1]][1:2]
latlon <- as.numeric(site)
center <- c(lat = latlon[2], lon = latlon[1])
closeAllConnections()
}
if(missing(API)) API <- '' # ENTER YOUR API HERE
# get map
GetMap(API, center = center[c('lat','lon')],
size = c(n_pix, n_pix), zoom = zoom, format = 'jpg',
maptype = maptype, destfile = destfile)
# load map
map <- read.jpeg(destfile)
# deal with color
if(type == 'color'){
map <- apply(map, 1:2, function(v) rgb(v[1], v[2], v[3]))
} else if(type == 'bw') {
nrow <- nrow(map)
ncol <- ncol(map)
map <- grey(rgb2grey(map, coefs = rgbcoefs))
map <- matrix(map, nrow = nrow, ncol = ncol)
} else {
stop('type must be either 'color' or 'bw'', call. = FALSE)
}
# reshape map for plotting
m_map <- melt(map)
names(m_map) <- c('x','y','fill')
m_map <- within(m_map,{
x <- x - n_pix/2 - 1
y <- y - n_pix/2 - 1
})
mapInfo <- list(lat = center['lat'], lon = center['lon'], zoom = zoom, map)
XY_cent <- LatLon2XY.centered(mapInfo, center['lat'], center['lon'])
#XY2LatLon(HouMapInfo, XY_cent$newX, XY_cent$newY)
# geocode pixel references
s <- (-n_pix/2) : (n_pix/2 - 1)
lat_wrapper <- function(x) XY2LatLon(mapInfo, -n_pix/2, x)[1]
lats <- apply(data.frame(s), 1, lat_wrapper)
lon_wrapper <- function(y) XY2LatLon(mapInfo, y, -n_pix/2)[2]
lons <- apply(data.frame(s), 1, lon_wrapper)
40. 40
VI- Conclusion:
Depuis la révolution des systèmes d'information géographique dans les années
1980, les bases de données spatiales se sont multipliées et les spécificités de
l'information spatiale impliquent cependant de recourir à des méthodes d'analyse et
de modélisation spécifiquement spatiale, encore très rarement disponibles
aujourd'hui au sein des systèmes d'information géographique. L'idée ici est que
l'analyse spatiale exploratoire des données pourrait permettre de renouveler les
boîtes à outils défaillante.
Les quelques exemples qu’on a cités au cours de ce rapport ne sauraient être
considérés comme représentatifs de l’ensemble des développements menés dans le
champ bouillonnant de l’analyse spatiale exploratoire des données. Ils suffisent
néanmoins à donner un premier aperçu de la philosophie de cette approche
moderne, ainsi que de la puissance des outils mis en œuvre. Les rares
implémentations logicielles disponibles aujourd’hui relèvent toutefois le plus
souvent de prototypes de recherche et freinent incontestablement sa diffusion, y
compris parmi la communauté des géographes.
Cette situation est d’autant plus dommageable que l’analyse spatiale
exploratoire des données pourrait constituer un terrain d’entente privilégié, pour les
partisans et les opposants de la démarche modélisatrice en analyse spatiale.