我猜有一个简单的解决方案可以解决我一直遇到的问题,但是我遇到了一些麻烦。
我正在尝试转换以下map
对象:
require(maps)
usa <- map("state")
使用函数进入SpatialPolygon
对象:map2SpatialPolygons
require(maptools)
usa.sp <- map2SpatialPolygons(usa, IDs=usa$names,proj4string=CRS("+proj=longlat"))
我不断收到以下错误:
Error in map2SpatialPolygons(usa, IDs = usa$names, proj4string = CRS("+proj=longlat")) :
map and IDs differ in length
经过一番研究,在应用该函数后,ID 的长度似乎为 63,而map
对象的长度为 169 .NAmat2xyList(cbind(map$x, map$y))
(我无法找到其来源)。
有人有想法么?这是usa
地图对象的结构:
> 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"