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…