[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