Zgaduję, że istnieje proste rozwiązanie problemu, który miałem, ale mam pewne problemy.Przekształcanie obiektu "mapy" w obiekt "Przestrzennyokolipt"
Próbuję przekonwertować następujący map
obiektu:
require(maps)
usa <- map("state")
w SpatialPolygon
obiektu przy użyciu map2SpatialPolygons
funkcję:
require(maptools)
usa.sp <- map2SpatialPolygons(usa, IDs=usa$names,proj4string=CRS("+proj=longlat"))
ciśgle następujący błąd:
Error in map2SpatialPolygons(usa, IDs = usa$names, proj4string = CRS("+proj=longlat")) :
map and IDs differ in length
Po części resea rch, wygląda na to, że identyfikatory mają długość 63, a obiekt map
ma długość 169 po zastosowaniu funkcji .NAmat2xyList(cbind(map$x, map$y))
(dla której nie mogę znaleźć źródła).
Ktoś ma jakieś pomysły? Oto struktura obiektu usa
mapy:
> 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"
Korzystając z mapy, podając światową bazę danych i uzyskując dostęp do krajów według nazwy regionu, można uzyskać dostęp do regionów w bardziej ogólny sposób: Niemcy <- mapa ("świat", regiony = "Niemcy", wypełnienie = PRAWDA) Jak rozumiem, tylko ograniczony zestaw baz danych jest zdefiniowany w sposób, w jaki je nazwałeś, na przykład Niemcy nie są. Niemniej Twoja odpowiedź uratowała mój dzień! – Exocom