Artem Pavlenko wrote: >Sent: 08 February 2008 11:42 AM >To: talk Openstreetmap >Cc: OSM-Dev Openstreetmap >Subject: [OSM-dev] Polygons and Multipolygons > >Hello, > >I found the way term 'Multipolygon' is used in OSM context is confusing. > >Here are ISO 19125-1 definitions : > >1. Polygon > >A Polygon is a planar Surface, defined by 1 exterior boundary and 0 >or more interior boundaries. Each >interior boundary defines a hole in the Polygon. > >The assertions for polygons (the rules that define valid polygons) are: >1. Polygons are topologically closed. >2. The boundary of a Polygon consists of a set of LinearRings that >make up its exterior and interior >boundaries. >3. No two rings in the boundary cross, the rings in the boundary of a >Polygon may intersect at a Point but >only as a tangent : >" P Î Polygon, " c1, c2 Î P.Boundary(), c1 1 c2, " p, q Î Point, p, q >Î c1, p 1 q, [ p Î c2 ? q Ï c2] >4. A Polygon may not have cut lines, spikes or punctures: >" P Î Polygon, P = Closure(Interior(P)) >5. The Interior of every Polygon is a connected point set. >6. The Exterior of a Polygon with 1 or more holes is not connected. >Each hole defines a connected >component of the Exterior. >In the above assertions, Interior, Closure and Exterior have the >standard topological definitions. The >combination of 1 and 3 make a Polygon a Regular Closed point set. > >2. MultiPolygon > >A MultiPolygon is a MultiSurface whose elements are Polygons. > >The assertions for MultiPolygons are : >1. The interiors of 2 Polygons that are elements of a MultiPolygon >may not intersect. >" M Î MultiPolygon, " Pi, Pj Î M.Geometries(), i1j, Interior(Pi) Ç >Interior(Pj) = Æ >2. The Boundaries of any 2 Polygons that are elements of a >MultiPolygon may not cross and may touch >at only a finite number of points. (Note that crossing is prevented >by assertion 1 above). >" M Î MultiPolygon, " Pi, Pj Î M.Geometries(), " ci Î Pi.Boundaries >(), cj Î Pj.Boundaries() >ci Ç cj = {p1, .., pk | pi Î Point, 1 <= i <= k} >3. A MultiPolygon is defined as topologically closed. >4. A MultiPolygon may not have cut lines, spikes or punctures, a >MultiPolygon is a Regular, Closed point >set: >" M Î MultiPolygon, M = Closure(Interior(M)) >5. The interior of a MultiPolygon with more than 1 Polygon is not >connected, the number of connected >components of the interior of a MultiPolygon is equal to the number >of Polygons in the MultiPolygon. > >The boundary of a MultiPolygon is a set of closed curves >(LineStrings) corresponding to the boundaries of >its element Polygons. Each Curve in the boundary of the MultiPolygon >is in the boundary of exactly 1 >element Polygon, and every Curve in the boundary of an element >Polygon is in the boundary of the >MultiPolygon. > > >It might look quite verbose but it all comes down to very simple fact: > >1. What we call Multipolygon is just a Polygon >2. Multipolygon is a collection of Polygons > > >Shouldn't we be calling MultiPolygon Polygon? >
Mostly I suspect so. Perhaps the issue came to light when people started to refer to islands in lakes where there are two polygons, one inside the other. Cheers Andy _______________________________________________ talk mailing list talk@openstreetmap.org http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk