: Public <<normative>> Package
Created: 4/10/2008 12:16:11 PM
Modified: 4/10/2008 12:16:12 PM
Project:
Advanced:
The geometry packages (Figure 4) contain the various classes for coordinate geometry. All of these classes through the root class GM_Object inherit an optional association to a coordinate reference system. All direct positions exposed through the interfaces defined in this standard shall be in the coordinate reference system of the geometric object accessed. All elements of a geometric complex, composite, or aggregate shall be associated to the same coordinate reference system. When instances of GM_Object are aggregated in another GM_Object (such as a GM_Aggregate, or GM_Complex) which already has a coordinate reference system specified, then these elements are assumed to be in that same coordinate reference system unless otherwise specified. <br /></p><p>The geometry package has several internal packages that separate primitive geometric objects, aggregates and complexes, which have a more elaborate internal structure than simple aggregates. Figure 4 shows the dependencies between the geometry packages as well as a list of classes for each package<br /></p><p>Figure 5 shows the basic classes defined in the geometry packages. Any object that inherits the semantics of the GM_Object acts as a set of direct positions. Its behavior will be determined by which direct positions it contains. Objects under GM_Primitive will be open, that is, they will not contain their boundary points; curves will not contain their end points, surfaces will not contain their boundary curves, and solids will not contain their bounding surfaces. Objects under GM_Complex will be closed, that is, they will contain their boundary points. This leads to some apparent ambiguity. A representation of a line as a primitive must reference its end points, but will not contain these points as a set of direct positions. A representation of a line as a complex will also reference its end points, and will contain these points as a set of direct positions. This means that identical digital representations will have slightly different semantics depending on whether they are accessed as primitives or complexes. <br /></p><p>This difference of semantics is most striking in the GM_CompositeCurve. Composite curves are used to represent features whose geometry could also be represented as curve primitives. From a cartographic point of view, these two representations are not different. From a topological point of view, they are different. This distinction appears in the inheritance diagram (Figure 5) as an inheritance relationship between GM_CompositeCurve and GM_OrientableCurve. The primary semantics of a GM_CompositeCurve (see 6.6.5) is as a closed GM_Object, but it may also act as an open GM_Object under GM_Primitive operations (see 6.3.10). Interface protocols depending upon the topological details of this object will have to be distinguished as to whether they have been inherited from GM_Primitive or GM_Complex, where the distinction first occurs. Even though these protocols have been inherited from the same operations defined at GM_Object, they will act differently depending upon the branch of the inheritance tree from which they have inherited semantics. Creators of implementation profiles may take this into account and use a proxy mechanism for realization relationships that cause semantic dissonance. Such a procedure will be necessary in object-oriented programming and databases in systems that disallow multiple inheritance or make limiting assumptions about method binding.<br /></p>
Object Type Connection Notes
«applicationSchema» Statistical Units Vector Package Package  
«applicationSchema» Area Management Restriction and Regulation Zones Package Dependency  
Tracking Package Dependency  
Network Package Dependency  
Geometry Package Dependency  
«Leaf» Temporal Reference System Package Dependency  
Coverages Package Dependency  
«applicationSchema» LandCoverVector Package Package  
«informative» Floods_Example_Model Package Dependency  
«normative» Topology Package Dependency  
ISO 19129:2009 IGCD Package Dependency  
ISO 06709 Location Representation Package Dependency  
ISO 19136 GML Package Dependency  
ISO 19115:2006 Metadata (Corrigendum) Package Dependency  
ISO 19109:2005 Application Schema Package Dependency  
ISO 19134 MultiModal Navigation Package Dependency  
ISO 19116 Positioning Services Package Dependency  
ISO 19132 LBS Reference Model Package Dependency  
ISO 19112 Location by Identifier Package Dependency  
ISO 19115-2:2009 Metadata - Imagery Package Dependency  
ISO 19137 Generally Used Profiles Package Dependency  
ISO 19141 Moving Features Package Dependency  
ISO 19111 Referencing by Coordinates Package Dependency  
Basic Types Package Dependency  
Primitive Package Dependency  
Derived Package Dependency  
Implementation Package Dependency  
ISO 19103:2005 Schema Language Package Dependency  
ISO 19111 Referencing by Coordinates Package Dependency