ms_erase {rmapshaper} | R Documentation |
Remove features or portions of features that fall inside a specified area
Description
Removes portions of the target layer that fall inside the erasing layer or bounding box.
Usage
ms_erase(target, erase = NULL, bbox = NULL, remove_slivers = FALSE, ...)
Arguments
target |
the target layer from which to remove portions. One of:
|
erase |
the erase layer (polygon). One of:
|
bbox |
supply a bounding box instead of an erasing layer to remove from
the target layer. Supply as a numeric vector: |
remove_slivers |
Remove tiny sliver polygons created by erasing. (Default |
... |
Arguments passed on to
|
Value
erased target in the same format as the input target
Examples
if (rmapshaper:::check_v8_major_version() >= 6L) {
library(geojsonsf, quietly = TRUE)
library(sf)
points <- structure("{\"type\":\"FeatureCollection\",
\"features\":[{\"type\":\"Feature\",\"properties\":{},
\"geometry\":{\"type\":\"Point\",\"coordinates\":
[52.8658,-44.7219]}},{\"type\":\"Feature\",\"properties\":{},
\"geometry\":{\"type\":\"Point\",\"coordinates\":
[53.7702,-40.4873]}},{\"type\":\"Feature\",\"properties\":{},
\"geometry\":{\"type\":\"Point\",\"coordinates\":[55.3204,-37.5579]}},
{\"type\":\"Feature\",\"properties\":{},\"geometry\":
{\"type\":\"Point\",\"coordinates\":[56.2757,-37.917]}},
{\"type\":\"Feature\",\"properties\":{},\"geometry\":
{\"type\":\"Point\",\"coordinates\":[56.184,-40.6443]}},
{\"type\":\"Feature\",\"properties\":{},\"geometry\":
{\"type\":\"Point\",\"coordinates\":[61.0835,-40.7529]}},
{\"type\":\"Feature\",\"properties\":{},\"geometry\":
{\"type\":\"Point\",\"coordinates\":[58.0202,-43.634]}}]}",
class = c("geojson", "json"))
points <- geojson_sf(points)
plot(points)
erase_poly <- structure('{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[51, -40],
[55, -40],
[55, -45],
[51, -45],
[51, -40]
]
]
}
}', class = c("geojson", "json"))
erase_poly <- geojson_sf(erase_poly)
out <- ms_erase(points, erase_poly)
plot(out, add = TRUE)
}