Les clans des rues, les clandestins
Les cris des chiens hurlent à la ronde
J'suis pas inscrit sur la mappemonde.
Y'a pas de pays pour les vauriens, les poètes et les paladins,
Y'a pas de pays, si tu le veut, prend le mien.
[...]
L'identité
— Têtes raides -- Gratte Poil (2000)

1. Logiciels

La représentation de données géographiques (SIG) nécessite de recourir à des logiciels spécialisés. Ils sont utilisés notamment par l'INSEE lors du recensement. Ils doivent permettre de localiser, avec un degré de précision qui dépend naturellement de l'application et de l'objectif visé, les unités statistiques d'intérêt (par exemple, les ménages). [Casimiro:2000] présente un exemple d'application au recensement de la population au Portugal.

Évidemment, des données très précises sont utilisées par l'INSEE. L'une des bases de travail se nomme IRIS : Ilots regroupés pour l'Information Statistique. La France en comporte un peu plus de 50000 (DOM inclus). Pour toutes les communes urbaines d'au moins 10000 habitants et la plupart des communes comprenant entre 5000 et 10000 habitants, on travaille avec ce que l'on appelle les IRIS-2000.

On distingue généralement deux types de données :

Les données vectorielles consistent simplement à décrire chaque coordonnée spatiale par une paire de valeurs (x,y), éventuellement dans un référentiel cartésien (pour simplifier). Ce type de données peut être de trois formes :

http://www.cartosphere.com/index.htm

http://www.mdweb-project.org/

http://grass.itc.it/gdp/grass5tutor/HTML_en/book1.html

http://dcs.ics.forth.gr/Activities/Publications/INET98_Palantir.html

stanford graph (Knuth)

1.1. Mondrian

Le logiciel Mondrian est orienté sur le traitement et la représentation de larges volumes de données. Il est programmé en Java et dispose d'un module d'import de données géographiques (par exemple les résultats des votes dans chaque état pour les élections américaines de 2004). Mondrian peut communiquer avec R, grâce à Rserve.

Un exemple de l'interface pour les cartes spatiales figure ci-dessous.

Mondrian1.png

1.2. GRASS

GRASS GIS est un logiciel multi-plateforme (ne pas confondre avec Grace, qui est un logiciel de visualisation graphique) destiné à la gestion et à l'analyse de données géographiques, ainsi qu'au traitement et à la visaulisation d'images et de cartes spatiales. Le logiciel avec un tutoriel assez complet sur le traitement des données spatiales : An introduction to the practical use of the Free Geographical Information System GRASS 6.0 (voir le wiki contenant l'aide en ligne).

Tip Pour faire fonctionner GRASS sous Mac OS X, il est nécessaire d'avoir le serveur X11 installé.

Ci-après figurent quelques captures d'écran (sous Mac OS X), tirées du tutoriel de prise en main du système.

grass1.png
Fenêtre d'accueil
Affichage d'un terrain en mode raster
Vue en perspective de la surface

1.3. Quantum GIS

Quantum GIS est un autre logiciel open-source gratuit, mutli-plateformes. Quels sont les avantages de QGis ?

Affichage du monde en mode raster

1.4. Le logiciel R

Sous R, il existe 4 packages permettant d'assurer l'import de données géographiques, leur transformation et leur visualisation :

D'autres packages fournissent des fonctionnalités additionnelles, par exemple :

2. Principe de construction d'une base de données géographique

L'article de [Becker:1997] expose assez clairement les contraintes liées à la construction d'une base de données géographiques et des possibilités de représentation de l'information spatiale. Leurs fichiers ont été construits à partir des données de la World Data Bank II (voir aussi The CIA World Data Bank II).

Bien que les étapes exposées dans leur article soit orientées pour un traitement sous S ou R, elles restent suffisamment générales pour être appliquées à d'autres systèmes. En voici les éléments essentiels.

  1. un fichier contenant un ensemble de “polylignes” permettant de représenter les régions spatiales (pays, départements, lacs, etc.) ; une polyligne est juste une séquence de points représentés par leurs coordonnées, et cela s'apprente à un arc orienté en théorie des graphes.

  2. un fichier contenant une liste de polygones indiquant comment lier les polylignes ensemble, en fait à partir des numéros associés à chaque polyligne ; il s'agit du fichier assurant la topologie de la carte.

  3. un fichier contenant le nom de régions, pour chaque polygone.

Évidemment, ce type de représentation peut être enrichi, mais il est suffisamment intéressant en soi pour se pencher un peu plus en détails sur ses avantages.

3. Systèmes de projection

Le système de coordonnées auquel on est le plus habitué est sans doute le repère cartésien, et plus généralement nous utilisons des repères orthonormés pour représenter des positions dans le plan. À l'exception des mordus de la géométrie riemannienne, les cercles ont donc des allures circulaires, et les droites des allures rectilignes. Or, et on l'oublie souvent, la Terre n'est pas seulement bleue comme une orange, elle est surtout plus ou moins sphérique : le plus court chemin n'est donc plus nécessairement la ligne droite…

On trouvera sur le site de D. Madore un résumé des différents systèmes de projection usuels. P. H. Diana propose également une présentation assez axhaustive des différents systèmes de projection (cylindrique, conique, azimuthale, etc.) : Map Projection Overview.

Le package mapproj permet de réaliser les différentes transformations indiquées dans les documents précédents. Voici un résumé des différentes options et des propriétés spatiales qu'elles préservent :

Propriété cylindrique conique planar
rectangular conic orthographic
aire cylequalarea albers azequalarea
aire sinusoidal bonne
angle mercator lambert stereographic
distance azequidistant

4. Exemple : la carte du monde

> map('world')
world.png

On trouvera dans le package mapdata une carte possédant une résolution supérieure (world2Hires).

5. Carte de France et carte de l'Europe

Important
Nom des régions

Lorsque l'on souhaite associer à chaque région (par exemple, les départements français) une couleur spécifique, on passe en argument à la fonction map deux vecteurs : names=… et col=…. Les vecteurs étant de même taille, on s'attend logiquement à avoir une correspondance stricte entre chaque région et chaque couleur. Ce n'est pas toujours le cas !

Voici un exemple dans lequel on cherche à représenter de manière graphique une distribution d'effectifs observée sur un ensemble de départements français. Le fichier dept.rda comprend la liste des 95 départements français (nom et code). Il est disponible ici.

> my.cols <- c(rgb(231/255,240/255,251/255),rgb(180/255,210/255,244/255),
               rgb(129/255,180/255,237/255),rgb(0/255,78/255,162/255))
> load("dept.rda")
> set.seed(1234)
> xx <- data.frame(names=dept[sample(1:95,15),1],n=round(seq(5,300,length=15)))
> xx$grp <- cut(xx$n,breaks=c(0,50,100,250,1000),labels=F)
> map('france')
> map('france',regions=xx$names,col=my.cols[xx$grp],fill=T,add=T)
> leg.txt <- c("0-50","50-100","100-250","250+")
> legend("bottomleft",leg.txt,col=my.cols,pch=15,bty="n",
         title="Nb. candidats",cex=.7)
> title(main="Résultats erronés")

Les données générées ont été sauvegardées à l'aide de la commande write.table(xx,file="dept.csv",sep=",",quote=F,row.names=F,col.names=F) et sont indiquées dans le tableau ci-dessous :

Nom Effectif Code
Tarn-et-Garonne 5 1
Alpes-de-Haute-Provence 26 1
Finistere 47 1
Aisne 68 2
Cote-Dor 89 2
Puy-de-Dome 110 3
Eure 131 3
Loire-Atlantique 152 3
Hautes-Alpes 174 3
Lozere 195 3
Aude 216 3
Haute-Savoie 237 3
Essonne 258 4
Pyrenees-Atlantiques 279 4
Ardennes 300 4

Si maintenant on regarde la liste des régions effectivement considérées par R, on constate que ce n'est pas tout à fait un vecteur de taille 15.

> map('france')
> m <- map('france',regions=xx$names,add=T,namesonly=T)
> length(m)
[1] 18
> m
 [1] "Ardennes"                "Aisne"
 [3] "Eure"                    "Eure-et-Loir"
 [5] "Essonne"                 "Finistere:I. de Batz"
 [7] "Finistere"               "Finistere"
 [9] "Cote-Dor"                "Loire-Atlantique"
[11] "Haute-Savoie"            "Puy-de-Dome"
[13] "Hautes-Alpes"            "Lozere"
[15] "Alpes-de-Haute-Provence" "Tarn-et-Garonne"
[17] "Pyrenees-Atlantiques"    "Aude"

Et effectivement, comme on peut le vérifier dans la figure ci-dessous, le code couleur associé au Finistère n'est pas correct : il indique 100-250 candidats, alors qu'en réalité il n'y a que 47 candidats.

map_dept_1.png

6. Autres applications

Il est possible de combiner les fonctions classiques disponibles dans les packages de base de R et dans le package lattice. [Murrel:2005] fournit des illustrations intéressantes de ce qui peut être réalisé avec des données géographiques.

> grid.rect(gp=gpar(col="grey"))
> fg <- frameGrob()
> fg <- packGrob(fg, ozimage)
> fg <- placeGrob(fg, ozkey)
> fg <- packGrob(fg, ribbonlegend, "right")
> grid.draw(fg)

Les fonctions sont disponibles sur le site compagnion du livre.

interactgrid-oceanaim.png
australia_coast.png

Pour en savoir plus sur la gestion des graphiques avec lattice, et en particulier obtenir des compléments d'informations sur le livre de Murrel, on pourra consulter l'article rédigé par Vincent Zoonekynd.

7. Applications web avec Google Maps

8. Utilisation de VRML

VRML est un langage de modélisation en 3D, essentiellement utilisé dans le cadre de la création d'environnement virtuels. Il s'agit essentiellement d'un langage de description On trouvera sur le site www.web3d.org les specifications du langage ainsi que des exemples. Pour visualiser les illustrations suivantes, il est nécessaire de disposer d'un visualisateur VRML. Différents plugins sont proposés pour les navigateurs. Pour Mac OS X, le plugin FreeWRL fonctionne correctement (il est disponible pour Linux également). On peut tester son installation sur cette page.

On peut utiliser directement les données de la WDBII, présentées dans la section 2, avec VRML. C'est ce que propose D. Payne avec son Générateur de cartes topographiques.

9. Analyse des données spatiales

Si jusqu'ici nous nous sommes limités à la représentation de données spatialisées sur une carte géographique, on peut vouloir aller plus loin en se demandant comment analyser les données qualitatives ou quantitives recueillies dans des différentes régions. L'approche peut être exploratoire ou confirmatoire.

10. Références

  1. [Becker1997] Becker, R.A. and Wilks, A.R. (1997). Constructing a geographical database. [www]

  2. [Becker1993] Becker, R.A. and Wilks, A.R. (1993). Maps in S. [www]

  3. [Lafaye2007] Lafaye, J., Béguec, J., Gross-Amblard, D., and Ruas, A. (2007). Geographical database watermarking by polygon elongation. Technical Report CEDRIC No 1138. [www]

  4. [Yang2003] Yang, X. (2003). Method for constructing polygonized geographic features. European Patent EP1293935. [www]

  5. [Mennis2000] Mennis, J.L., Peuquet, D.J., and Qian, L. (2000). A conceptual framework for incorporating cognitive principles into geographical database representation. International Journal of Geographical Information Science, 14(6), 501-520. [www]

  6. [Mennis2000] Mennis, J.L. (2000). Human cognition as a foundation for GIS database representation. In: Graduate Student Research Papers, UCGIS Summer Assembly, June 21-24, 2000, Welches, OR. Leesburg, VA: University Consortium for Geographic Information Science, pp. 4.1-4.17. [www]

  7. [Hanchette2005] Hanchette, C.L., Gibbs, D.A., Gilliam, A., Fogarty, K.J., and Bruhn, M. (2005). A national, geographic database of CDC-funded HIV prevention services: development challenges and potential applications. International Journal of Health Geographics, 4(1), 28 p. [www]

  8. [Casimiro2000] Casimiro, F. (2000). Towards a geographical information system with the 2001 Census Map Support. Insee-Eurostat seminar on censuses after 2001 (pp. 79-89). [www]

  9. [Hadzilacos2007] Hadzilacos, T. and Tryfona, N. (2007). Evaluation of Database Modeling Methods for Geographic Information Systems. Australasian Journal of Information Systems, 6(1). [www]

  10. [Gahegan2001] Gahegan, M., Wachowicz, M., Harrower, M., and Rhyne, T.-M. (2001). The integration of geographic visualization with knowledge discovery in databases and geocomputation. Cartography and Geographic Information Science, 28(1). [www]

  11. [Tveite1997] Tveite, H. (1997). Data modelling and database requirements for geographical data. PhD Thesis. [www]

  12. [Finnseth2001] Finnseth, A. and Jökulsson, G. (2001). A software system for large dynamic maps based on networked geographical databases. ScanGIS'2001. [www]

  13. [Strauch1998] Strauch, J.C.M., de Souza, J.M., and Mattoso, M. (1998). A methodology for GIS Databases integration. IEEE Knowledge and Data Engineering Exchange Workshop (KDEX'98), IEEE CS Press, Taipei, Taiwan, November 1998, pp.151-159. [www]

  14. [Murrel2005] Murrel, P. (2005). R Graphics. Chapman & Hall/CRC. [www]

[...]
Que le Paris est beau quand on chante les oiseaux,
Que le Paris est laid quand il se croît français.
Avec ces sans-papiers qui vont bientôt r'partir,
On a tout pris chez eux, y'a plus rien.
Leur rétention en cale de fond
J'en ai même oublié mon ombre,
Je m'promène moins dans vos décombres,
On m'a donné un bout de rien j'en fais cent mille chemins,
J'en fait cent, J'en ai fait un.
Un chemin de l'identité ni des tentés ni des titans,
L'itentidé, à la ronde.
Et dans ce flot d'univériens j'aurais plus de nom j'aurais plus rien,
Dis moi c'est quand, dis moi c'est quand, que tu reviens.
Que le Paris est beau quand on chante les oiseaux,
Que le Paris est laid quand il se croît français.
Avec tous ces champs de tir et tous ces fous du tir,
Y visent pas que les lapins, c'est plus du gros sel c'est des :
Tomahawk, des missiles sol-air, ou des Scuds
Et moi avec mon pistolet à bouchons, je pars au front.
Paris sera beau, on chantera les oiseaux,
Paris sera beau, si les oiseaux,
Paris sera beau, car les oiseaux,
Allez, Paris sera beau.