Topologically-aware geometry simplification.
Uses mapshaper to simplify polygons.
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 )
input |
spatial object to simplify. One of:
|
keep |
proportion of points to retain (0-1; default 0.05) |
method |
simplification method to use: |
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 |
no_repair |
disable intersection repair after simplification (default
|
snap |
Snap together vertices within a small distance threshold to fix
small coordinate misalignment in adjacent polygons. Default |
explode |
Should multipart polygons be converted to singlepart polygons?
This prevents small shapes from disappearing during simplification if
|
force_FC |
should the output be forced to be a |
drop_null_geometries |
should Features with null geometries be dropped?
Ignored for |
snap_interval |
Specify snapping distance in source units, must be a
numeric. Default |
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. |
a simplified representation of the geometry in the same class as the input
# 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)Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.