Learn R Programming

stplanr (version 0.1.0)

mapshape: Simplify geometry of spatial objects with the mapshaper library

Description

Simplify geometry of spatial objects with the mapshaper library

Usage

mapshape(shp, percent = 10, ms_options = "", dsn = "mapshape",
  silent = FALSE)

Arguments

shp
A spatial object to be simplified.
percent
A number between 1 and 100 stating how aggressively to simplify the object (1 is a very aggressive simplification)
ms_options
Text string of options passed to mapshaper such as
dsn
The name of the temporary file to write to (deleted after use)
silent
Logical determining whether the function call is printed to screen no-topology (a flag) and snap-interval=1 (a key value pair). See the mapshaper documentation for details: https://github.com/mbloch/mapshaper/wiki/Command-Re

Details

Note: more advance R/mapshaper tools are provided by the rmapshaper package: https://github.com/ateucher/rmapshaper.

Calls the JavaScript command-line GIS application mapshaper (https://github.com/mbloch/mapshaper) from the system to simplify geographic features, and then tidies up. mapshaper must be installed and available to system. mapshape writes new a file to disk. Thanks to Richard and Adrian Ellison for demonstrating this in R.

See Also

gSimplify

Examples

Run this code
data(routes_fast)
shp <- routes_fast[1,]
rfs10 <- mapshape(shp)
rfs5 <- mapshape(shp, percent = 5)
rfs1 <- mapshape(shp, percent = 1)
plot(shp)
plot(rfs10, add = TRUE, col ="red")
plot(rfs5, add = TRUE, col ="blue")
plot(rfs1, add = TRUE, col = "grey")
# snap the lines to the nearest interval
rfs_int <- mapshape(shp, ms_options = "snap-interval=0.001")
plot(shp)
plot(rfs_int, add = TRUE)

Run the code above in your browser using DataLab