ms_simplify

0th

Percentile

Topologically-aware geometry simplification.

Uses mapshaper to simplify polygons.

Usage
ms_simplify(input, keep = 0.05, method = NULL, weighting = 0.7,
  keep_shapes = FALSE, no_repair = FALSE, snap = TRUE,
  explode = FALSE, force_FC = TRUE, drop_null_geometries = TRUE,
  snap_interval = NULL, sys = FALSE)
Arguments
input

spatial object to simplify. One of:

  • geo_json or character polygons or lines;

  • geo_list polygons or lines;

  • SpatialPolygons* or SpatialLines*;

  • sf or sfc polygons or lines object

keep

proportion of points to retain (0-1; default 0.05)

method

simplification method to use: "vis" for Visvalingam algorithm, or "dp" for Douglas-Peuker algorithm. If left as NULL (default), uses Visvalingam simplification but modifies the area metric by underweighting the effective area of points at the vertex of more acute angles, resulting in a smoother appearance. See this https://github.com/mbloch/mapshaper/wiki/Simplification-Tipslink for more information.

weighting

Coefficient for weighting Visvalingam simplification (default is 0.7). Higher values produce smoother output. weighting=0 is equivalent to unweighted Visvalingam simplification.

keep_shapes

Prevent small polygon features from disappearing at high simplification (default FALSE)

no_repair

disable intersection repair after simplification (default FALSE).

snap

Snap together vertices within a small distance threshold to fix small coordinate misalignment in adjacent polygons. Default TRUE.

explode

Should multipart polygons be converted to singlepart polygons? This prevents small shapes from disappearing during simplification if keep_shapes = TRUE. Default FALSE

force_FC

should the output be forced to be a FeatureCollection even if there are no attributes? Default TRUE. FeatureCollections are more compatible with rgdal::readOGR and geojsonio::geojson_sp. If FALSE and there are no attributes associated with the geometries, a GeometryCollection will be output. Ignored for Spatial objects, as the output is always the same class as the input.

drop_null_geometries

should Features with null geometries be dropped? Ignored for Spatial* objects, as it is always TRUE.

snap_interval

Specify snapping distance in source units, must be a numeric. Default NULL

sys

Should the system mapshaper be used instead of the bundled mapshaper? Gives better performance on large files. Requires the mapshaper node package to be installed and on the PATH.

Value

a simplified representation of the geometry in the same class as the input

Aliases
  • ms_simplify
Examples
# NOT RUN {
# With a simple geojson object
poly <- structure('{
 "type": "Feature",
 "properties": {},
 "geometry": {
   "type": "Polygon",
   "coordinates": [[
     [-70.603637, -33.399918],
     [-70.614624, -33.395332],
     [-70.639343, -33.392466],
     [-70.659942, -33.394759],
     [-70.683975, -33.404504],
     [-70.697021, -33.419406],
     [-70.701141, -33.434306],
     [-70.700454, -33.446339],
     [-70.694274, -33.458369],
     [-70.682601, -33.465816],
     [-70.668869, -33.472117],
     [-70.646209, -33.473835],
     [-70.624923, -33.472117],
     [-70.609817, -33.468107],
     [-70.595397, -33.458369],
     [-70.587158, -33.442901],
     [-70.587158, -33.426283],
     [-70.590591, -33.414248],
     [-70.594711, -33.406224],
     [-70.603637, -33.399918]
   ]]
 }
}', class = c("json", "geo_json"))

ms_simplify(poly, keep = 0.1)

# With a SpatialPolygonsDataFrame:

poly_sp <- geojsonio::geojson_sp(poly)
ms_simplify(poly_sp, keep = 0.5)

# }
Documentation reproduced from package rmapshaper, version 0.4.1, License: MIT + file LICENSE

Community examples

Looks like there are no examples yet.