Package org.opengis.geometry.primitive
Interface SurfaceBoundary
-
- All Superinterfaces:
Boundary
,Complex
,Geometry
,PrimitiveBoundary
,TransfiniteSet
@UML(identifier="GM_SurfaceBoundary", specification=ISO_19107) public interface SurfaceBoundary extends PrimitiveBoundary
The boundary of surfaces. ASurfaceBoundary
consists of some number of rings, corresponding to the various components of its boundary. In the normal 2D case, one of these rings is distinguished as being the exterior boundary. In a general manifold this is not always possible, in which case all boundaries shall be listed as interior boundaries, and the exterior will be empty.NOTE: The use of exterior and interior here is not intended to invoke the definitions of "interior" and "exterior" of geometric objects. The terms are in common usage, and reflect a linguistic metaphor that uses the same linguistic constructs for the concept of being inside an object to being inside a container. In normal mathematical terms, the exterior boundary is the one that appears in the Jordan Separation Theorem (Jordan Curve Theorem extended beyond 2D). The exterior boundary is the one that separates the surface (or solid in 3D) from infinite space. The interior boundaries separate the object at hand from other bounded objects. The uniqueness of the exterior comes from the uniqueness of unbounded space. Essentially, the Jordan Separation Theorem shows that normal 2D or 3D space separates into bounded and unbounded pieces by the insertion of a ring or shell, respectively. It goes beyond that, but this specification is restricted to at most 3 dimensions.
EXAMPLE 1: If the underlying manifold is an infinite cylinder, then two transverse cuts of the cylinder define a compact surface between the cuts, and two separate unbounded portions of the cylinders. In this case, either cut could reasonably be called exterior. In cases of such ambiguity, the standard chooses to list all boundaries in the "interior" set. The only guarantee of an exterior boundary being unique is in the 2-dimensional plane, E2.
EXAMPLE 2: Taking the equator of a sphere, and generating a 1 meter buffer, we have a surface with two isomorphic boundary components. There is no unbiased manner to distinguish one of these as an exterior.
- Since:
- GeoAPI 1.0
- Author:
- Martin Desruisseaux (IRD)
- See Also:
SolidBoundary
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Ring
getExterior()
Returns the exterior ring, ornull
if none.List<Ring>
getInteriors()
Returns the interior rings.-
Methods inherited from interface Complex
getElements, getSubComplexes, getSuperComplexes, isMaximal
-
Methods inherited from interface Geometry
clone, distance, getBoundary, getBuffer, getCentroid, getClosure, getConvexHull, getCoordinateDimension, getCoordinateReferenceSystem, getDimension, getEnvelope, getMaximalComplex, getMbRegion, getPrecision, getRepresentativePoint, isMutable, isSimple, toImmutable, transform, transform
-
Methods inherited from interface TransfiniteSet
contains, contains, difference, equals, intersection, intersects, symmetricDifference, union
-
-
-
-
Method Detail
-
getExterior
@UML(identifier="exterior", obligation=MANDATORY, specification=ISO_19107) Ring getExterior()
Returns the exterior ring, ornull
if none.- Returns:
- The exterior ring, or
null
.
-
getInteriors
@UML(identifier="interior", obligation=MANDATORY, specification=ISO_19107) List<Ring> getInteriors()
Returns the interior rings.- Returns:
- The interior rings. Never
null
, but may be an empty array.
-
-