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@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

<<attachment: zua3.vcf>>

_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

Reply via email to