EDIT: these days I would use the 'intersect', 'cover', 'erase', 'union' and related functions in the 'raster' package. They do the hard work to keep the top-level object and attributes.
ORIG:
You could use the rgeos
package with its gIntersection
function. Successive calls between pairs and resulting intersections will get you there. See
library(rgeos)
?gIntersection
You will need to get into the structure of "SpatialPolygons" in the sp
package to get the final coordinates. See the vignette("sp").
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…