Umwandeln eines "Karten" -Objekts in ein "SpatialPolygon" -Objekt

Ich vermute, es gibt eine einfache Lösung für das Problem, das ich hatte, aber ich habe einige Probleme.

Ich versuche, die folgenden @ zu konvertiermap Objekt

require(maps)
usa <- map("state")

in einSpatialPolygon Objekt mit demmap2SpatialPolygons Funktion:

require(maptools)
usa.sp <- map2SpatialPolygons(usa, IDs=usa$names,proj4string=CRS("+proj=longlat"))

Ich erhalte immer den folgenden Fehler:

Error in map2SpatialPolygons(usa, IDs = usa$names, proj4string = CRS("+proj=longlat")) : 
  map and IDs differ in length

Nach einiger Recherche sieht es so aus, als hätten die IDs die Länge 63 und dasmap 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).

Jemand irgendwelche ideen? Hier ist die Struktur desusa 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"

Antworten auf die Frage(2)

Ihre Antwort auf die Frage