[R-sig-Geo] rbind of SpPolDFs

Roger Bivand Roger.Bivand at nhh.no
Tue May 18 16:38:24 CEST 2010


On Tue, 18 May 2010, Agustin Lobo wrote:

> Hi!
>
> I have a set of shapefiles, each one with one single polygon, and I
> want to end up with one single SpPolDF including all polygons.
> I read the set of shapefiles with readOGR() and thus get one SpPolDF
> for each polygon.
> I (unsuccessfully)  try:
>> delme <- rbind.SpatialPolygonsDataFrame(BesosBoundary,TerBoundary)
> Error in validObject(.Object) :
>  invalid class "SpatialPolygons" object: non-unique Polygons ID slot values

What about using spChFIDs() to assign unique FIDs? For example:

BesosBoundary <- spChFIDs(BesosBoundary, paste("Besos",
   row.names(BesosBoundary), sep="_"))

and so on. As it is, all will have "0", "1", ..., which are then not 
unique when rbind'ed. The user needs to control the FIDs, so needs to 
assign unique values before rbind.

Roger


> Calls: rbind.SpatialPolygons ... SpatialPolygons -> new -> initialize
> -> initialize -> validObject
>
>> delme <- rbind.SpatialPolygonsDataFrame(BesosBoundary[1],TerBoundary[1])
> Error in validObject(.Object) :
>  invalid class "SpatialPolygons" object: non-unique Polygons ID slot values
> Calls: rbind.SpatialPolygonsDataFrame ... SpatialPolygons -> new ->
> initialize -> initialize -> validObject
>
>> delme <- rbind.SpatialPolygonsDataFrame(BesosBoundary at polygons,TerBoundary at polygons)
> Error in as(x, "SpatialPolygons") :
>  no method or default for coercing "list" to "SpatialPolygons"
> Calls: rbind.SpatialPolygonsDataFrame -> do.call -> lapply -> FUN -> as
>
> and some other variants.
>
> Any help on how to do this? A solution would be using joinPolys from
> maptools (the polygons do not overlap), but think that
> rbind.SpatialPolygonsDataFrame() is better suited for this operation.
>
> Agus
>
> _______________________________________________
> 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