Beim Zeichnen der gadm
Karte von Russland in habe R
ich ein Problem am 180-Grad-Meridian, wo ein Teil der russischen Region separat dargestellt wird. Sie können es auf dem Plot mit dem folgenden Code sehen (es ist die Kante links und der Teil ist rechts). Kann jemand vorschlagen, wie dieses Problem vermieden werden kann?
Hier ist eine kurze Version des Codes für meine Frage:
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")
quelle
sp
Erwähnungen, dass diese Klasse "Methoden wie Drucken / Anzeigen , Plotten, Teilmenge, [, [[, \ $, Namen, Dim, Zusammenfassung, ..." unterstützt. Die Hilfeseite fürsubset
zeigt ihre Syntax. Der Trick besteht darin, zu wissen, auf welchem Feld Moskau gefunden werden soll! Ich fand es, indem ich mir die einzigartigen Werte aller Felder ansah und schließlich ausstieglevels(gadm$NAME_1)
. Dies führte dazuspplot(subset(gadm.prj, subset=(NAME_1=="Moskva")),"regions")
, was den Trick macht.Ich sehe, dass Whuber mich schon geschlagen hat, aber ich werde meine Antwort trotzdem posten.
Wenn Sie die Daten in der Longlat-Projektion behalten möchten, können Sie der Proj4-Zeichenfolge den Parameter " Longitudinal Wrapping " hinzufügen.
Dadurch wird Ihre Karte auf 105 Grad östlicher Länge zentriert.
quelle
spTransform
.