Learn R Programming

tmaptools (version 2.0-2)

simplify_shape: Simplify shape

Description

Simplify a shape consisting of polygons or lines. This can be useful for shapes that are too detailed for visualization, especially along natural borders such as coastlines and rivers. The number of coordinates is reduced.

Usage

simplify_shape(shp, fact = 0.1, keep.units = FALSE,
  keep.subunits = FALSE, ...)

Arguments

shp

a SpatialPolygons(DataFrame) or a SpatialLines(DataFrame), or an sf object that can be coerced to one of them.

fact

simplification factor, number between 0 and 1 (default is 0.1)

keep.units

d

keep.subunits

d

...

other arguments passed on to the underlying function ms_simplify (except for the arguments input, keep, keep_shapes and explode)

Value

sf object

Details

This function is a wrapper of ms_simplify. In addition, the data is preserved. Also sf objects are supported.

Examples

Run this code
# NOT RUN {
if (require(tmap)) {
    data(World)

    # show different simplification factors
    tm1 <- qtm(World %>% simplify_shape(fact = 0.05), title="Simplify 0.05")
    tm2 <- qtm(World %>% simplify_shape(fact = 0.1), title="Simplify 0.1")
    tm3 <- qtm(World %>% simplify_shape(fact = 0.2), title="Simplify 0.2")
    tm4 <- qtm(World %>% simplify_shape(fact = 0.5), title="Simplify 0.5")
    tmap_arrange(tm1, tm2, tm3, tm4)

    # show different options for keeping smaller (sub)units
    tm5 <- qtm(World %>% simplify_shape(keep.units = TRUE, keep.subunits = TRUE),
        title="Keep units and subunits")
    tm6 <- qtm(World %>% simplify_shape(keep.units = TRUE, keep.subunits = FALSE),
        title="Keep units, ignore small subunits")
    tm7 <- qtm(World %>% simplify_shape(keep.units = FALSE),
        title="Ignore small units and subunits")
    tmap_arrange(tm5, tm6, tm7)
}
# }

Run the code above in your browser using DataLab