maptools (version 0.8-27)

readShapeLines: Read arc shape files into SpatialLinesDataFrame objects

Description

The readShapeLines function reads data from an arc/line shapefile into a SpatialLinesDataFrame object; the shapefile may be of type polygon, but for just plotting for example coastlines, a SpatialLines object is sufficient. The writeLinesShape function writes data from a SpatialLinesDataFrame object to a shapefile. Note DBF file restrictions in write.dbf.

Usage

readShapeLines(fn, proj4string=CRS(as.character(NA)), verbose=FALSE,
 repair=FALSE, delete_null_obj=FALSE)
writeLinesShape(x, fn, factor2char = TRUE, max_nchar=254)

Arguments

fn
shapefile layer name, when writing omitting the extensions *.shp, *.shx and *.dbf, which are added in the function
proj4string
Object of class CRS; holding a valid proj4 string
verbose
default TRUE - report type of shapefile and number of shapes
repair
default FALSE: some shapefiles provided by Geolytics Inc. have values of object sizes stored in the *.shx index file that are eight bytes too large, leading the function to try to read past the end of file. If repair=TRUE, an attempt is made to repair the
delete_null_obj
if TRUE, null geometries will be removed together with their data.frame rows
x
a SpatialLinesDataFrame object
factor2char
logical, default TRUE, convert factor columns to character
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

  • a SpatialLinesDataFrame object

Details

The shpID values of the shapefile will be used as Lines ID values; when writing shapefiles, the object data slot row.names are added to the DBF file as column SL_ID.

See Also

write.dbf

Examples

Run this code
xx <- readShapeLines(system.file("shapes/fylk-val.shp", package="maptools")[1],
 proj4string=CRS("+proj=utm +zone=33 +datum=WGS84"))
plot(xx, col="blue")
summary(xx)
xxx <- xx[xx$LENGTH > 30000,]
plot(xxx, col="red", add=TRUE)
tmpfl <- paste(tempdir(), "xxline", sep="/")
writeLinesShape(xxx, tmpfl)
getinfo.shape(paste(tmpfl, ".shp", sep=""))
axx <- readShapeLines(tmpfl, proj4string=CRS("+proj=utm +zone=33 +datum=WGS84"))
plot(xxx, col="black", lwd=4)
plot(axx, col="yellow", lwd=1, add=TRUE)
unlink(paste(tmpfl, ".*", sep=""))
xx <- readShapeLines(system.file("shapes/sids.shp", package="maptools")[1],
 proj4string=CRS("+proj=longlat +datum=NAD27"))
plot(xx, col="blue")

Run the code above in your browser using DataCamp Workspace