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? Artem _______________________________________________ talk mailing list talk@openstreetmap.org http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk