[R-sig-Geo] unique spatial polygons
Roger Bivand
Roger.Bivand at nhh.no
Wed Apr 29 08:42:35 CEST 2009
On Tue, 28 Apr 2009, Alina Sheyman wrote:
> I'm trying to combine two shapefiles using
> zipmaps5 <- spRbind(zipmaps1,zipmaps2)
>
> and getting the following error message
> Error in spRbind(as(obj, "SpatialPolygons"), as(x, "SpatialPolygons")) :
> non-unique polygon IDs
>
> Does anyone know how I can get rid of duplicate polygons in a shapefile?
This isn't the problem. The real problem is that zipmaps1 and zipmaps2
have non-unique polygon IDs, so that it isn't obvious to the function what
you want to do. By default:
sapply(slot(zipmaps1, "polygons"), slot, "ID")
is set to the FID of the shapefile in readOGR() and equivalently in
readShapeSpatial() in maptools. These typically run 0:(n-1). For two
objects, they obviously overlap. Please use spChFIDs() methods in maptools
to assign IDs that are unique for the output object; in the worst case:
zipmaps1 <- spChFIDs(zipmaps1, paste("map1", sapply(slot(zipmaps1,
"polygons"), slot, "ID"), sep="_"))
and a different "map*" string for zipmaps2 will work, but a unique,
meaningful ID is best.
This is covered in detail in the code examples for Chapter 5 in our book,
and on the help page for ?"spChFIDs-methods".
Hope this helps,
Roger
>
> thank you!
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
--
Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Helleveien 30, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: Roger.Bivand at nhh.no
More information about the R-sig-Geo
mailing list