intersection of two polygons
On Tue, 20 Mar 2007, St?phane Dray wrote:
I have a code that do the job for polylist objects at http://biomserv.univ-lyon1.fr/~dray/files/softwares/spatialRLQ/spatialrlq.R The function uses gpclib and only returns area or binary matrices (1 intersect, 0 not). It could be easily modify to return the intersection of two polygons (remove the loops over the polylists and return interAB)
Thanks, this will be useful, especially for users searching the archives! This also relates to the question of how much vector GIS functionality should be within R. Roger
Roger Bivand wrote:
On Tue, 20 Mar 2007, Sebastien wrote:
Dear helpers,
I need to find the intersection of two polygons. I have two overlapping
polygons and I want to find the polygon corresponding to the common
part. Is there a fonction, like unionSpatialPolygons which can do that.
I have converted my polygons to "owin" and use the function
'intersect.owin' in the pachage spatstat but it returns a binary matrice
of class "owin" or I would prefer a polygon.
No, there is not. I think that joinPolys() in the PBSmapping package can do this, and you can get to the PBS PolySet representation using SpatialPolygons2PolySet() in the maptools package, but then you'd need to get back again to SpatialPolygons, which would involve coding. The alternative of using gpclib like unionSpatialPolygons() would also involve coding. Roger
Thanks for your help, S?bastien Ollier #### #### #### S?bastien Ollier Ma?tre de Conf?rences Universit? Paris-Sud 11 Facult? des Sciences d'Orsay Unit? Ecologie, Syst?matique et Evolution D?partement Biodiversit?, Syst?matique et Evolution UMR - 8079 UPS-CNRS-ENGREF B?t. 360, 91405 ORSAY CEDEX FRANCE Tel : 33 (0) 1 69 15 56 70 Fax : 33 (0) 1 69 15 46 97 http://www.ese.u-psud.fr/ #### #### ####
Roger Bivand Economic Geography Section, Department of Economics, Norwegian School of Economics and Business Administration, Helleveien 30, N-5045 Bergen, Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43 e-mail: Roger.Bivand at nhh.no