I haven't tested it but also, using the Reduce function may work to apply spRbind function across different Spatial*DataFrame objects contained in a list:
spMerged<-Reduce(rbind,listSp) 2011/5/25 Zia Ahmed <[email protected]> > I used following code to merge a series of shape files with similar file > structure. We can try this, but you need to do some modification of the > code. > Zia > > > ############################################################################### > > # Require packages: rgdal and maptool > #------------------------------------- > > library(rgdal) > library(maptools) > > # Get list of all shape files from county directories/sptial/ > #------------------------------------------------------------ > > files <- list.files(pattern="soilmu_a_ia.*.shp$", > recursive=TRUE,full.names=TRUE) > uid<-1 > > # Get polygons from first file (_001) > #------------------------------------- > > poly.data<- readOGR(files[1],gsub("^.*/(.*).shp$", "\\1", files[1])) > n <- length(slot(poly.data, "polygons")) > poly.data <- spChFIDs(poly.data, as.character(uid:(uid+n-1))) > uid <- uid + n > > # mapunit polygoan: combin remaining polygons with first polygoan > #----------------------------------------------------------------- > > for (i in 2:length(files)) { > temp.data <- readOGR(files[i], gsub("^.*/(.*).shp$", "\\1",files[i])) > n <- length(slot(temp.data, "polygons")) > temp.data <- spChFIDs(temp.data, as.character(uid:(uid+n-1))) > uid <- uid + n > poly.data <- spRbind(poly.data,temp.data) > } > > names(poly.data) > proj4string(poly.data) > > > On 5/25/2011 3:22 AM, Pierre Roudier wrote: > > Hi Nicolas, > > I do not have a R session handy, but if I remember correctly, the > function gUnion() in the rgeos package would do what you want. > > Hope this helps, > > Pierre > > 2011/5/25 Nicolas Degallier <[email protected]> > <[email protected]>: > > Hi All, > > I have read different shapefiles that are contiguous and that have different > column names with the function "readShapePoly". > > example : > > noumea <- readShapePoly(noumea.file, IDvar = "NOUMEA2_ID", proj4string = > crs_rgnc) > > and > > dumbea <- readShapePoly(dumbea.file, IDvar = "DUMBEA2_", proj4string = > crs_rgnc) > > Now I would like to create a new shapefile with all the polygones in the > "noumea" and "dumbea" spatial polygone data frames. > > I tried : > spRbind(noumea, dumbea) > > I get this message error : > > Error in spRbind(as(obj, "SpatialPolygons"), as(x, "SpatialPolygons")) : > non-unique polygon IDs > > I have tried with the function rbind() > I have tried to set noumea$NOUMEA2_ID and dumbea$DUMBEA2_ with unique values > but I still get the same message error as if the function spRbind was not > using those two columns as polygons ID... > > Does anyone know how I can fix this problem ? > > Thanks a lot > > Nicolas > > > Nicolas Degallier > > IRD UMR182 > Laboratoire d'Océanographie et du Climat, Expérimentation et Approches > Numériques (LOCEAN) > Tour 45-55, 4e ét., case 100, 4 place Jussieu > 75252 Paris Cedex 5 France > tél: (33) 01 44 27 51 57 > fax: (33) 01 44 27 38 05 > > E-mail: <[email protected]> <[email protected]> > pdf reprints:http://www.locean-ipsl.upmc.fr/~ndelod/production/ > > Skype:"xuxaxu" > > _______________________________________________ > R-sig-Geo mailing > [email protected]https://stat.ethz.ch/mailman/listinfo/r-sig-geo > > > _______________________________________________ > R-sig-Geo mailing list > [email protected] > https://stat.ethz.ch/mailman/listinfo/r-sig-geo > > [[alternative HTML version deleted]]
_______________________________________________ R-sig-Geo mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-sig-geo
