write.polylistShape {maptools}R Documentation

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 = FALSE)

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 FALSE, can be set to 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 objects. Attempts are made to check for known problems, but using polylist objects rather than sp SpatialPolygons objects is known to be more risky.

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.

Value

no return value.

Note

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 Roger.Bivand@nhh.no. It is likely that this function and its arguments will be changed.

Author(s)

Nicholas J. Lewin-Koh, modified by Roger Bivand; shapelib by Frank Warmerdam

References

http://shapelib.maptools.org/

See Also

write.pointShape, write.dbf

Examples

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)

[Package maptools version 0.6-9 Index]