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

Reply via email to