[R-sig-Geo] Helping with write a function. Merging shape files?

Zia Ahmed zua3 at cornell.edu
Wed Jan 20 22:14:49 CET 2010


Thanks! I am trying to write a function to merge or combine several 
shape files.

First I try to use following function when all shape files in one 
folder. It showed error.

setwd("E:/Zia/SURRGO_Data/SSURGO_RAW_DATA/Test1")
library(rgdal)
## obtain shapefile names in current directory
fs <- list.files(pattern = "shp")
 ## read the first one
 d <- readOGR(fs[1], gsub(".shp", "", fs[1]))
 for (i in 2:length(fs)) {
 d.tmp <- readOGR(fs[i], gsub(".shp", "", fs[i]))
 }
 d <- rbind(d, d.tmp)
 >  d <- rbind(d, d.tmp)
Error in validObject(.Object) :
invalid class "SpatialPolygons" object: non-unique Polygons ID slot values


Then I am trying to use following code, but it did  not work. it  
_created a empty layer. _I think I did something wrong.  Any idea, __

# Code for similar file name (shape.shp)
setwd("E:/Zia/SURRGO_Data/SSURGO_RAW_DATA/Testf")
library(rgdal)

files <- list.files(pattern = "shp")  # get all the names in the directory
files <- files[file.info(files)$isdir]  # only keep the directories

layer<- file('layer.shp')  # output file
for (Dir in files){
    input <- readOGR(file.path(Dir, "shape.shp")) 
    rbind(input, layer)  
}
close(layer)

I have a situations  like   all shape files are different names 
(like...001.shp, ...003.shp, ....005.shp  so on ) and were saved in 
different folders (like fn001, fn003, fn005....... If someone helps me 
to write correct code  for solving this it will be great.

Zia 

Hannes Reuter wrote:
> Dear Zia,
>
> 1)check GDAL (www.gdal.org) using the ogr2ogr function -append as well 
> as the RGDAL library out.
> 2)
> 3) -->gdal_rasterize  --> check as well the RGDAL library out. make 
> sure you have a decent version of RGDAL/GDAL as I believe that the 
> rasterize just came in the las two versions or so.
>
> hannes
>
> Zia Ahmed schrieb:
>> Hi:
>> I like use R for data mining, organization, manipulation and mapping 
>> of SSURO data of USA. I have already done first two; I need help for 
>> mapping these data.in R   It will be appreciated if someone helps me 
>> to solve following three issues:
>>
>> *1.       How do I merge several  shape files?*
>> I like to merge several shape files to create a single shape file. 
>> All files are same structure but different names and in different 
>> folders. Below I mentioned how all shape files are organized in 
>> different folder. I want to write a function that I can use to merge 
>> the shape files.
>>  
>> *File organization:*
>> …/State_name/soil_ia001/spatial/file_name01.shp
>> …/State_name/soil_ia003/spatial/file_name03.shp
>> …/State_name/soil_ia005/spatial/file_name05.shp
>> .
>> . …/State_name/soil_ia21/spatial/file_name21.shp
>>  
>> *DBF file associated   all shape files look like below: *
>>  
>> ID            AREASYMBOL    SPATIALVER       MUSYM               MUKEY
>> 1              IA001                    
>> 2                              822D2                    402210
>> 2              IA001                     
>> 2                              24C2                      402161
>> 3              IA001                     
>> 2                              93D2                      402217
>> 4              IA001                     
>> 2                              W                           1857266
>> 5              IA001                     
>> 2                              W                           1857266
>> 6              IA001                     
>> 2                              370C                      402177
>> 7              IA001                     
>> 2                              570B                      402190
>>                 -------
>>  *
>> 2.       My second question is: I like to join a table with this 
>> above mentioned shape   using a conmen ID like MUKEY.  How do I do 
>> this?*
>> *3.       My third question is: how do I convert this shape file to a 
>> grid (as a TIFF format or others? ) that I open some other software?*
>>
>> Thanks
>> Zia
>>  
>>
>> _______________________________________________
>> R-sig-Geo mailing list
>> R-sig-Geo at stat.math.ethz.ch
>> 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/20100120/2aed8f54/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/20100120/2aed8f54/attachment.vcf>


More information about the R-sig-Geo mailing list