Read or write a shapefile

Share:

Description

Reading and writing of "ESRI shapefile" format spatial data. Only the three vector types (points, lines, and polygons) can be stored in shapefiles. These are simple wrapper functions around readOGR and writeOGR (rgdal package). A shapefile should consist of at least four files: .shp (the geomotry), .dbf (the attributes), .shx (the index that links the two, and .prj (the coordinate reference system). If the .prj file is missing, a warning is given. If any other file is missing an error occurs (although one could in principle recover the .shx from the .shp file). Additional files are ignored.

Usage

1
2
3
4
5
## S4 method for signature 'character'
shapefile(x, stringsAsFactors=FALSE, verbose=FALSE, warnPRJ=TRUE, ...)

## S4 method for signature 'Spatial'
shapefile(x, filename='', overwrite=FALSE, ...)

Arguments

x

character (a file name, when reading a shapefile) or Spatial* object (when writing a shapefile)

filename

character. Filename to write a shapefile

overwrite

logical. Overwrite existing shapefile?

verbose

logical. If TRUE, information about the file is printed

warnPRJ

logical. If TRUE, a warning is given if there is no .prj file

stringsAsFactors

logical. If TRUE, strings are converted to factors

...

Additional arguments passed to rgdal functions readOGR or writeOGR

Value

Spatial*DataFrame (reading). Nothing is returned when writing a shapefile.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
if (require(rgdal)) {

filename <- system.file("external/lux.shp", package="raster")
filename
p <- shapefile(filename)

## Not run: 
shapefile(p, 'copy.shp')

## End(Not run)
}

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.