Ich vermute, dass es eine einfache Lösung für das Problem gibt, das ich hatte, aber ich habe einige Probleme.Konvertieren eines "Map" -Objekts in ein "SpatialPolygon" -Objekt
ich folgendes map
Objekt zu konvertieren Ich versuche:
require(maps)
usa <- map("state")
in ein SpatialPolygon
Objekt mit der map2SpatialPolygons
Funktion:
require(maptools)
usa.sp <- map2SpatialPolygons(usa, IDs=usa$names,proj4string=CRS("+proj=longlat"))
Ich halte die folgende Fehlermeldung erhalten:
Error in map2SpatialPolygons(usa, IDs = usa$names, proj4string = CRS("+proj=longlat")) :
map and IDs differ in length
Nach einigen Resea rch, es sieht so aus, als hätten die IDs die Länge 63 und das map
Objekt hat die Länge 169 nach Anwendung der Funktion .NAmat2xyList(cbind(map$x, map$y))
(für die ich die Quelle nicht finden kann).
Wer hat irgendwelche Ideen? Hier ist die Struktur des usa
Kartenobjekt:
> str(usa)
List of 4
$ x : num [1:1705] -88.4 -88.1 -88 -87.9 -87.8 ...
$ y : num [1:1705] 30.4 30.4 30.8 30.6 30.3 ...
$ range: num [1:4] -124.7 -67 25.1 49.4
$ names: chr [1:63] "alabama" "arizona" "arkansas" "california" ...
- attr(*, "class")= chr "map"
Wenn Sie die Karte verwenden, indem Sie die Weltdatenbank angeben und auf die Länder über ihren Regionennamen zugreifen, können Sie auf Regionen allgemeiner zugreifen: Deutschland <- map ("world", regions = "Germany", fill = TRUE) Wie ich weiß, ist nur eine begrenzte Anzahl von Datenbanken definiert, so wie Sie es genannt haben, Deutschland zum Beispiel nicht. Trotzdem hat deine Antwort meinen Tag gerettet! – Exocom