En traçant la gadm
carte de la Russie R
, j'ai un problème au méridien à 180 degrés, où une partie de la région russe est tracée séparément. Vous pouvez le voir sur l'intrigue en utilisant le code suivant (c'est le bord gauche et la partie est à droite). Quelqu'un peut-il suggérer comment éviter ce problème?
Voici une version courte du code de ma question:
require(sp)
rus<-url("http://www.gadm.org/data/rda/RUS_adm1.RData")
print(load(rus))
gadm$regions = as.factor(1:88)
spplot(gadm,"regions")
la source
sp
mentionne que cette classe prend en charge "les méthodes incluant print / show, plot, subset, [, [[, \ $, names, dim, summary, ..." La page d'aide poursubset
affiche sa syntaxe. L'astuce est de savoir quel champ utiliser pour trouver Moscou! Je l'ai trouvé en regardant les valeurs uniques de tous les domaines, enfin en descendantlevels(gadm$NAME_1)
. Cela a conduit àspplot(subset(gadm.prj, subset=(NAME_1=="Moskva")),"regions")
, ce qui fait l'affaire.Je vois que whuber m'a déjà battu, mais je posterai quand même ma réponse.
Si vous souhaitez conserver les données dans la projection longue, vous pouvez ajouter le paramètre " Enveloppement longitudinal " à la chaîne Proj4.
Cela centrera votre carte à 105 degrés de longitude est.
la source
spTransform
.