我正在尝试在R中创建一个反映ZipCodes的地图。我得到的shapefile(找到here)有很多ZipCode,但是我需要使用实际ZipCode的前两位数字来减少它们。我已经尝试过this source中的以下代码:
require(sf)
shape <- read_sf(dsn = ".", layer = "plz-gebiete")
plz <- shape$plz
maincodes <- substr(plz,1,2)
shape <- cbind(shape, maincodes)
gpclibPermit()
isTRUE(gpclibPermitStatus())
ShapeUnion <- unionSpatialPolygons(shape, maincodes)
我遇到一个错误:不是SpatialPolygons对象。
或者,我尝试了以下代码:
require(sf)
shape <- read_sf(dsn = ".", layer = "plz-gebiete")
plz <- shape$plz
maincodes <- substr(plz,1,2)
shape <- cbind(shape, maincodes)
regions.sp <- gUnaryUnion(shape, id = maincodes)
我又遇到一个错误:无效的几何图形,只能应用于多边形。
我不确定我在这里缺少什么。