Abstract topological primitives .1 AbstractTopoPrimitive, AbstractTopoPrimtive

Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. 139 gml:AbstractTopoPrimitive implements ISO 19107 TP_Primitive see D.2.4.3 and ISO 19107:2003, 7.3.10. This abstract type acts as the base type for all topological primitives. Topological primitives are the atomic smallest possible units of a topology complex. Each topological primitive may contain references to other topology primitives of codimension 2 or more gml:isolated, implemented in subtypes. EXAMPLE Faces may contain isolated nodes and solids may contain isolated nodes and edges. Conversely, nodes may have faces as containers and nodes and edges may have solids as containers gml:container, implemented in subtypes. 13.3.2 Topological primitives 0-dimensional 13.3.2.1 NodeType, Node complexType name=NodeType complexContent extension base=gml:AbstractTopoPrimitiveType sequence element name=container type=gml:FaceOrTopoSolidPropertyType minOccurs=0 element ref=gml:directedEdge minOccurs=0 maxOccurs=unbounded element ref=gml:pointProperty minOccurs=0 sequence attributeGroup ref=gml:AggregationAttributeGroup extension complexContent complexType element name=Node type=gml:NodeType substitutionGroup=gml:AbstractTopoPrimitive gml:Node represents the 0-dimensional primitive and implements ISO 19107 TP_Node see D.2.4.3 and ISO 19107:2003, 7.3.12. The gml:container property element implements the role of the same name of the ISO 19107 ―Isolated In‖ association see ISO 19107:2003, 7.3.10.4 and D.2.4.3. complexType name=FaceOrTopoSolidPropertyType choice minOccurs=0 element ref=gml:Face element ref=gml:TopoSolid choice attributeGroup ref=gml:AssociationAttributeGroup attributeGroup ref=gml:OwnershipAttributeGroup complexType The optional coboundary of a node gml:directedEdge is a sequence of directed edges which are incident on this node. Edges emanating from this node appear in the node coboundary with a negative orientation. In the case of planar topology, the sequence of gml:directedEdges shall be clockwise to ensure a lossless topology representation. If provided, the aggregationType attribute shall have the value ―sequence‖. A node may optionally be realized by a 0-dimensional geometric primitive gml:pointProperty. 140 Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.

13.3.2.2 DirectedNodePropertyType, directedNode

element name=directedNode type=gml:DirectedNodePropertyType complexType name=DirectedNodePropertyType sequence minOccurs=0 element ref=gml:Node sequence attribute name=orientation type=gml:SignType default=+ attributeGroup ref=gml:AssociationAttributeGroup attributeGroup ref=gml:OwnershipAttributeGroup complexType A gml:directedNode property element describes the boundary of topology edges and is used in the support of topological point features via the gml:TopoPoint expression, see below. The orientation attribute of type gml:SignType expresses the sense in which the included node is used: start ―-‖ or end ―+‖ node. 13.3.3 Topological primitives 1-dimensional 13.3.3.1 EdgeType, Edge complexType name=EdgeType complexContent extension base=gml:AbstractTopoPrimitiveType sequence element name=container type=gml:TopoSolidPropertyType minOccurs=0 element ref=gml:directedNode minOccurs=2 maxOccurs=2 element ref=gml:directedFace minOccurs=0 maxOccurs=unbounded element ref=gml:curveProperty minOccurs=0 sequence attributeGroup ref=gml:AggregationAttributeGroup extension complexContent complexType element name=Edge type=gml:EdgeType substitutionGroup=gml:AbstractTopoPrimitive gml:Edge represents the 1-dimensional primitive and implements ISO 19107 TP_Edge see D.2.4.3 and ISO 19107:2003, 7.3.14. The gml:container property element implements the role of the same name of the ISO 19107 ―Isolated In‖ association see ISO 19107:2003, 7.3.10.4 and D.2.4.3. The topological boundary of an Edge gml:directedNode consists of a negatively directed start Node and a positively directed end Node. The optional coboundary of an edge gml:directedFace is a circular sequence of directed faces which are incident on this edge in document order. In the 2D case, the orientation of the face on the left of the edge is +; the orientation of the face on the right on its right is -. If provided, the aggregationType attribute shall have the value ―sequence‖. An edge may optionally be realized by a 1-dimensional geometric primitive gml:curveProperty.