merging several shapefiles into one
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<nicolas.degallier at ird.fr>:
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:<Nicolas.Degallier at ird.fr> pdf reprints: http://www.locean-ipsl.upmc.fr/~ndelod/production/ Skype:"xuxaxu"
_______________________________________________ R-sig-Geo mailing list R-sig-Geo at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-geo
-------------- next part -------------- An HTML attachment was scrubbed... URL: <https://stat.ethz.ch/pipermail/r-sig-geo/attachments/20110525/df96063a/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: zua3.vcf Type: text/x-vcard Size: 281 bytes Desc: not available URL: <https://stat.ethz.ch/pipermail/r-sig-geo/attachments/20110525/df96063a/attachment.vcf>