erase function

Erase parts of a SpatialPolygons* or SpatialLines* object. The inverse of this can be done with intersect

Erase parts of a SpatialPolygons* or SpatialLines* object. The inverse of this can be done with intersect

Erase parts of a SpatialPolygons* or SpatialLines* object with a SpatialPolygons* object methods

## S4 method for signature 'SpatialPolygons,SpatialPolygons' erase(x, y, ...) ## S4 method for signature 'SpatialLines,SpatialPolygons' erase(x, y, ...)

Arguments

  • x: SpatialPolygons or SpatialLines object
  • y: SpatialPolygons object
  • ...: Additional arguments (none)

Returns

Spatial*

See Also

The equivalent for raster data is mask

Examples

# erase parts of polygons with other polygons p <- shapefile(system.file("external/lux.shp", package="raster")) b <- as(extent(6, 6.4, 49.75, 50), 'SpatialPolygons') crs(b) <- crs(p) e <- erase(p, b) plot(e) # erase parts of lines with polygons r <- raster(extent(p) +c(-.1,.1,-.1,.1), crs=crs(p)) start <- xyFromCell(r, cellFromCol(r, 1)) end <- xyFromCell(r, cellFromCol(r, ncol(r))) lines <- do.call(spLines, lapply(1:10, function(i)rbind(start[i,], end[i,]))) crs(lines) <- crs(p) e2 <- erase(lines, p) plot(p) lines(lines, col='blue', lwd=4, lty=3) lines(e2, col='red', lwd=2)
  • Maintainer: Robert J. Hijmans
  • License: GPL (>= 3)
  • Last published: 2025-03-28