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

Reply via email to