| gIntersection {rgeos} | R Documentation |
Function for determining the intersection between the two given geometries
gIntersection(spgeom1, spgeom2, byid=FALSE, id=NULL, drop_not_poly=FALSE)
spgeom1, spgeom2 |
sp objects as defined in package sp |
byid |
Logical vector determining if the function should be applied across ids (TRUE) or the entire object (FALSE) for spgeom1 and spgeom2 |
id |
Character vector defining id labels for the resulting geometries, if unspecified returned geometries will be labeled based on their parent geometries' labels. |
drop_not_poly |
default FALSE, if TRUE and spgeom1, spgeom2 both inherit from SpatialPolygons, POINT and LINESTRING objects will be dropped to simplify output. |
Returns all spatial intersections as sp objects of the appropriate class. If the geometries do not intersect then an empty geometry is returned.
Roger Bivand & Colin Rundel
gDifference
gSymdifference
gUnion
library(maptools)
xx <- readShapeSpatial(system.file("shapes/fylk-val-ll.shp", package="maptools")[1],
proj4string=CRS("+proj=longlat +datum=WGS84"))
bbxx <- bbox(xx)
wdb_lines <- system.file("share/wdb_borders_c.b", package="maptools")
xxx <- Rgshhs(wdb_lines, xlim=bbxx[1,], ylim=bbxx[2,])$SP
res <-gIntersection(xx, xxx)
plot(xx, axes=TRUE)
plot(xxx, lty=2, add=TRUE)
plot(res, add=TRUE, pch=16,col='red')
pol <- readWKT(paste("POLYGON((-180 -20, -140 55, 10 0, -140 -60, -180 -20),",
"(-150 -20, -100 -10, -110 20, -150 -20))"))
library(sp)
GT <- GridTopology(c(-175, -85), c(10, 10), c(36, 18))
gr <- as(as(SpatialGrid(GT), "SpatialPixels"), "SpatialPolygons")
try(res <- gIntersection(pol, gr, byid=TRUE))
res <- gIntersection(pol, gr, byid=TRUE, drop_not_poly=TRUE)