Write a polygon-type shapefile
The function calls code from shapelib to write a polygon-type shapefile from an S3 polylist object.
write.polylistShape(polylist, df, file, factor2char = TRUE, strictFilename=FALSE, force = TRUE, max_nchar=254)
- list of polygons of class
- a data frame object
- a file name of maximum 8 chararacters, numbers or the underscore symbol to be written, omitting the extensions *.shp, *.shx and *.dbf, which are added in the function
- logical, default TRUE, convert factor columns to character
- if TRUE, impose file basename length limit of 8 characters
- default TRUE, to try to force malformed polylist objects to some reasonable form that will not cause both maptools and R to crash. Because polylist objects are old-style rather than new-style classes, it is possible to crash R by trying to write malformed
- default 254, may be set to a higher limit and passed through to the DBF writer, please see Details in
The function calls code from shapelib to write a polygon-type shapefile (both the geometry file with a *.shp extension, the index file with a *.shx extension, and the database file with a *.dbf extension - see
write.dbf for details of the data frame export within this function.
- no return value.
From maptools 0.4-7, this function is placed in the user-visible namespace on a trial basis, and reports of any malfunction should be sent to the package maintainer, Roger Bivand
col_orig <- read.shape(system.file("shapes/columbus.shp", package="maptools")) mappolys <- Map2poly(col_orig, as.character(col_orig$att.data$NEIGNO)) plot(mappolys) col_df <- col_orig$att.data col_cheap <- subset(mappolys, col_df$HOVAL < 34) col_df_cheap <- subset(col_df, col_df$HOVAL < 34) file <- tempfile("") write.polylistShape(col_cheap, col_df_cheap, file) getinfo.shape(paste(file, ".shp", sep="")) col_new <- read.shape(paste(file, ".shp", sep="")) mappolys <- Map2poly(col_new, as.character(col_new$att.data$NEIGNO)) plot(mappolys, border="red", add=TRUE)