ShellType, Shell ShellPropertyType Geometric primitives 3-dimensional

88 Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. sequence complexType A property with the content model of gml:ShellPropertyType encapsulates a shell to represent a component of a solid boundary. 11 GML schema — Geometric complex, geometric composites and geometric aggregates

11.1 Overview

This clause describes the geometry schema components for geometric complexes and aggregates. NOTE The geometry schema documents, geometryAggregates.xsd and geometryComplexes.xsd see Annex C, are identified by the following location-independent name using URN syntax: urn:x-ogc:specification:gml:schema-xsd:geometryAggregates:3.2.1 urn:x-ogc:specification:gml:schema-xsd:geometryComplexes:3.2.1 Geometric aggregates i.e. instances of a subtype of gml:AbstractGeometricAggregateType are arbitrary aggregations of geometry elements. They are not assumed to have any additional internal structure and are used to collect pieces of geometry of a specified type. Application schemas may use aggregates for features that use multiple geometric objects in their representations. Geometric complexes i.e. instances of gml:GeometricComplexType are closed collections of geometric primitives, i.e. they will contain their boundaries. A geometric complex gml:GeometricComplex is defined by ISO 19107 :2003, 6.6.1 as ―a set of primitive geometric objects in a common coordinate system whose interiors are disjoint. Further, if a primitive is in a geometric complex, then there exists a set of primitives in that complex whose point-wise union is the boundary of this first primitive.‖ A geometric composite gml:CompositeCurve, gml:CompositeSurface and gml:CompositeSolid represents a geometric complex with an underlying core geometry that is isomorphic to a primitive, i.e. it can be viewed as a primitive and as a complex. See ISO 19107:2003, 6.1 and 6.6.3 for more details on the nature of composite geometries. Geometric complexes and composites are intended to be used in application schemas where the sharing of geometry is important.

11.2 Geometric complex and geometric composites

11.2.1 Geometric complex 11.2.1.1 GeometricComplexType, GeometricComplex complexType name=GeometricComplexType complexContent extension base=gml:AbstractGeometryType sequence element name=element type=gml:GeometricPrimitivePropertyType maxOccurs=unbounded Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. 89 sequence attributeGroup ref=gml:AggregationAttributeGroup extension complexContent complexType element name=GeometricComplex type=gml:GeometricComplexType substitutionGroup=gml:AbstractGeometry gml:GeometricComplex implements ISO 19107 GM_Complex see ISO 19107:2003, 6.6.2 and 6.6.1 as specified in D.2.3.6. gml:element references or contains inline one geometric primitive this includes composite geometries.

11.2.1.2 GeometricComplexPropertyType

complexType name=GeometricComplexPropertyType sequence minOccurs=0 choice element ref=gml:GeometricComplex element ref=gml:CompositeCurve element ref=gml:CompositeSurface element ref=gml:CompositeSolid choice sequence attributeGroup ref=gml:OwnershipAttributeGroup attributeGroup ref=gml:AssociationAttributeGroup complexType A property that has a geometric complex as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element where remote includes geometry elements located elsewhere in the same document. Either the reference or the contained element shall be given, but neither both nor none. NOTE The allowed geometry elements contained in such a property or referenced by it are modelled by an XML Schema choice element since the composites conceptually inherit both from geometric complex and geometric primitive and are already part of the gml:AbstractGeometricPrimitive substitution group. 11.2.2 Composite geometries 11.2.2.1 General representation of composites in GML The members of a geometric composite shall represent a homogeneous collection of geometric primitives whose union would be the core geometry of the composite. The complex would include all member primitives and all primitives on the boundary of these primitives, and so forth until gml:Point s are included. Thus the member‖ properties in gml:CompositeCurve, gml:CompositeSurface and gml:CompositeSolid represent a subset of the gml:element property of gml:GeometricComplex. As XML Schema does not support the concept of ―multiple inheritance‖ which is used in ISO 19107 to express the duality of the geometric composites as an open primitive and as a closed complex in the GML schema, the composites derive from gml:AbstractGeometricPrimitiveType only. However, by using a choice element in the property type gml:GeometricComplexPropertyType, a composite can be used in any property which expects a gml:GeometricComplex as its value.