De la non-connexité du Vaucluse

December 30, 2012
By

Avant-hier, José, un ancien collègue rennais me faisait noter une bizarrerie de la cartographie (et me posait des questions sur l’impact sur les cartes faites avec R). En fait, il m’a fait découvrir que le département du Vaucluse n’était pas connexe. Comme on le voit sur la carte ci-contre, il y a l’enclave des papes, qui est enclavé dans la Drome, mais administrativement rattachée au Vaucluse. Étonnant non ?

Maintenant avec R, ce genre de choses existent. Par exemple, il est possible de travailler avec les îles, qui sont rattachées à tel ou tel département. Regardons ce qui se passe ici, avec les cartes standards de R,

>  library(maps)
>  france = map(database="france")
>  france$names
  [1] "Nord"                                
  [2] "Pas-de-Calais"

(…)

 [92] "Gard"                                
 [93] "Vaucluse"                            
 [94] "Tarn-et-Garonne"                     
 [95] "Alpes-Maritimes"                     
 [96] "Vaucluse"                            
 [97] "Tarn"                                
[108] "Hautes-Pyrenees"                     
[109] "Var:Iles d'Hyeres:I. du Levant"      
[110] "Var:Iles d'Hyeres:I. de Porquerolles"
[111] "Var:Iles d'Hyeres:I. de Port Cros"   
[112] "Haute-Corse"                         
[113] "Pyrenees-Orientales"                 
[114] "Corse du Sud"

On voit que le Vaucluse apparaît deux fois dans la liste des départements. Pour les îles, elles sont rattachées à un département avec un nom spécifique (comme on le voit sur l’île de Porquerolles, par exemple). Mais pas l’enclave des papes. En fait, si on cherche le Vaucluse, il apparaît deux fois

>  which(substr(tolower(france$names),1,5)=="vaucl")
[1] 93 96

Aussi, si on colore le Vaucluse, c’est le département tout entier (avec l’enclave) qui ressort,

 Le code est ici

>  dpt="Vaucluse"
>  couleur="red"
>  match=match.map(france,dpt)
>  color=couleur[match]
>  map(database="france", fill=TRUE, col=color)

On peut aussi faire ressortir l’enclave. Pour cela, il suffit d’aller demander de colorer de manières différentes les deux régions,

>  match[which(match==1)[2]]=2
>  couleur=c("blue","red")
>  color=couleur[match]
>  map(database="france", fill=TRUE, col=color)

Ah, la joie des cartes avec R…

 


Arthur Charpentier

Arthur Charpentier, professor in Montréal, in Actuarial Science. Former professor-assistant at ENSAE Paristech, associate professor at Ecole Polytechnique and assistant professor in Economics at Université de Rennes 1.  Graduated from ENSAE, Master in Mathematical Economics (Paris Dauphine), PhD in Mathematics (KU Leuven), and Fellow of the French Institute of Actuaries.

More Posts - Website

Follow Me:
TwitterLinkedInGoogle Plus

Print This Post Print This Post

Tags: , , ,

Posted in: R, Statistics, Spatial

5 Responses to “ De la non-connexité du Vaucluse ”

  1. Julien on 16/01/2013 at 4:05 AM

    Il y a mieux : vers la frontière indo-pakistanaise, il y a une enclave dans une enclave dans une enclave : http://freakonometrics.hypotheses.org/files/2013/01/pakistan.png ou encore http://freakonometrics.hypotheses.org/files/2013/01/CoochBehar_Annotated.jpg)

    Au niveau de la petite flèche

  2. José on 02/01/2013 at 5:27 AM

    Merci Joël pour cette précision et le post sur la cartographie. J’avais pensé utiliser les .shp et c’est l’avantage de R de proposer plusieurs solutions à un même problème. Mais, c’est aussi là son défaut ! Il est parfois difficile de choisir entre plus plusieurs packages et lorsqu’on commence à maîtriser un package c’est couteux d’en changer.

  3. Joël on 30/12/2012 at 3:04 PM

    À titre de précision (tu le sais sans doute, mais ça peut intéresser les lecteurs), R propose plusieurs classes pour les objets cartographiques. La classe maps en est une, mais les classes issues du package “sp” (dans le cas présent, une classe SpatialPolygons ou SpatialPolygonsDataFrame) de Roger Bivand me semblent les plus largement utilisées et, surtout, les meilleures techniquement.
    Or, dans une classe SpatialPolygons(DataFrame), le département du Vaucluse serait constitué d’un seul objet polygone. Cela me semble préférable/plus logique, notamment lors de l’étape de la jointure entre les données spatiales (le fonds de carte) et les données à représenter.
    Nos voisins de quanti.hypotheses.org ont fait il y a peu un post sur la cartographie avec R : http://quanti.hypotheses.org/795/. Je crois que nous sommes par ailleurs plusieurs à développer des fonctions cartographiques sous R.

  4. José on 30/12/2012 at 11:04 AM

    Merci Arthur pour cette élégante solution !
    Je comprends maintenant pourquoi le Vaucluse apparait deux fois dans la liste des départements ! C’est aussi le cas du Nord:

    > which(substr(tolower(france$names),1,5)==”nord”)
    [1] 1 4

    et des “Hautes-Pyrenees”. En consultant la page wikipedia, indiquée par Baptiste, je m’aperçois que c’est certainement pour des raisons similaires.
    A bientôt,
    José

  5. Baptiste on 30/12/2012 at 3:21 AM

Leave a Reply

Disclaimer

SA Creative Commons Attribution icon Creative Commons Noncommercial icon

Install R

Top site mentions

Savvy Site on Statistics

rss-vision

Students


Research blogs