maptools (version 0.7-25)

write.polylistShape: Write a polygon-type shapefile

Description

The function calls code from shapelib to write a polygon-type shapefile from an S3 polylist object.

Usage

write.polylistShape(polylist, df, file, factor2char = TRUE,
 strictFilename=FALSE, force = TRUE, max_nchar=254)

Arguments

polylist
list of polygons of class polylist
df
a data frame object
file
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
factor2char
logical, default TRUE, convert factor columns to character
strictFilename
if TRUE, impose file basename length limit of 8 characters
force
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
max_nchar
default 254, may be set to a higher limit and passed through to the DBF writer, please see Details in write.dbf

Value

  • no return value.

Details

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.

References

http://shapelib.maptools.org/

See Also

write.pointShape, write.dbf

Examples

Run this code
col_orig <- read.shape(system.file("shapes/columbus.shp", package="maptools")[1])
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)

Run the code above in your browser using DataCamp Workspace