The SEDRIS Data Representation Model
APPENDIX A - Classes
Reference Surface

Class Name: Reference Surface

Superclass - <SEDRIS Abstract Base>

Subclasses

This DRM class is concrete and has no subclasses.

Definition

An instance of this DRM class specifies a constructed, geometric surface that is part of the environment. The <Reference Surface> instance is used to determine the elevation of conforming points in the component tree rooted at each hierarchy instance of which it is a component. Conforming points are either <Location 2D> instances or <Location Surface> instances. A <Reference Surface> instance also specifies how the surface is used in determining the elevation value.

An instance of <Feature Hierarchy> or <Geometry Hierarchy> requires a <Reference Surface> component if the following conditions apply:

  1. There are conforming points below the hierarchy.
  2. The conforming points are in the scope of a 3D SRF.
  3. The data provider wants the locations to lie on a surface other than the last default surface. The initial default is the designated spatial surface specified in the corresponding srf_context_info field. If no designated spatial surface is specified, the surface of the ORM specified for the SRF is used.

The field values of the <Reference Surface> instance in conjunction with its associated <Geometry Hierarchy> instance define a surface for determining the elevation values for conforming points. There are several cases:

  1. The <Geometry Hierarchy> instance is a <Property Grid Hook Point> instance that has at least one <Property Grid> component G with these qualifications:

    1. the <Classification Data> component of G matches the classification field of the <Reference Surface> instance,
    2. G has two spatial axes corresponding to the horizontal coordinates of the SRF, and
    3. G has a <Table Property Description> component for height, elevation, or bathymetry.

    If the <Property Grid> instance meets the above criteria, it defines a reference surface.

  2. The <Geometry Hierarchy> instance is a <Union Of Primitive Geometry> instance that aggregates <Surface Geometry> components with <Classification Data> instances matching the classification field of the <Reference Surface> instance. In this case, all such <Surface Geometry> components combine to form the reference surface.

  3. The <Geometry Hierarchy> instance is a <LOD Related Geometry> instance that aggregates (directly or indirectly) <Geometry Hierarchy> instance cases a and/or b above under an LOD branch selected by the lod_rule field of the <Reference Surface> instance. The <LOD Related Geometry> instance may be of type distance, index, map scale, or spatial resolution. The branch selected by the lod_rule field forms the reference surface.

  4. The <Geometry Hierarchy> instance aggregates some combination of cases a, b, or c. For each such case, the combination of the individual reference surfaces forms the composite reference surface.

The third coordinate-component of a conforming point is determined as specified in 4.7.3 Location of ISO/IEC 18023-1.

Primary Page in DRM Diagram:

Secondary Pages in DRM Diagram:

Example

  1. Consider an <Environment Root> instance ER, having both a <Union Of Geometry Hierarchy> component UGH and a <Union Of Features> component UF.

    UGH contains a <Union Of Primitive Geometry> instance UPG_1 classified as ECC_TERRAIN_ELEVATION and containing <Polygon> components that inherit the <Classification Data> instance. UPG_1 is a polygonal representation of terrain, forming part of the larger environmental representation ER.

    UF, the feature representation of ER, has a <Reference Surface> component that associates to UPG_1 as depicted in Figure 53:

    Reference Surface, Example 1

    Figure 53 — <DRM Reference Surface> ECC_TERRAIN_ELEVATION example

    Consequently, conforming points found in the component tree of UF use the terrain polygons of UPG_1 to resolve elevation.

  2. Continuing the previous example, the <Union Of Geometry Hierarchy> instance UGH under ER contains another <Union Of Primitive Geometry> instance UPG_2 with <Polygon> components classified as ECC_INLAND_WATER_ELEVATION as depicted in Figure 54.

    Reference Surface, Example 2

    Figure 54 — <DRM Reference Surface> ECC_INLAND_WATER_ELEVATION example

    UF, in turn, has a <Union Of Features> component UF_2 that is classified as ECC_ENGINEERING_BRIDGE and contains <Linear Feature> instances using <Location 2D> instances. UF_2 also has a <Reference Surface> component with classification = ECC_INLAND_WATER_ELEVATION and associated to UPG_2.

    Consequently, the conforming points of UF_2 have elevation values derived for them by being evaluated against UPG_2.

  3. Consider a <Reference Surface> instance R for which the geometry is a <Spatial Index Related Geometry> instance S. Each branch of S is a polygonal representation, part of which represents terrain surface, part roads, and part forest canopy. R associates to S, and its classification field = ECC_TERRAIN_ELEVATION. The resolution process then ignores the road and canopy polygons, but sees all the terrain polygons regardless of which union they are in.

    Consider a <Linear Feature> instance L representing a road that mostly stays on the road geometry but sometimes strays off. L is placed in a <Union Of Features> instance aggregating a different <Reference Surface> instance R2 with associates to the same <Spatial Index Related Geometry> instance but has classification = ECC_ROAD. Like R, R2 associates to S. The resolution process for R2 sees the road <Polygon> instances and ignores the others. For <Feature Node> instances that stray off the road, the corresponding conforming points' rays fail to intersect any road polygon, so the resolution process (as per case 3) applies, and the resolution process falls back on the previous override, which was the terrain surface.

  4. Consider a terrain representation organized in three-minute regions that are grouped into one-degree cells. The cells are all collected under one <Union Of Geometry Hierarchy> instance. In the same transmittal, <Feature Representation> instances and non-terrain <Geometry Representation> instances are organized under a corresponding spatial organization. Each three-minute hierarchy has a <Reference Surface> instance associated to the corresponding three-minute terrain region. Each one-degree hierarchy has a <Reference Surface> instance associated to the corresponding one-degree terrain cell. Each of the highest level feature and non-terrain geometry hierarchies has a <Reference Surface> instance associated to the terrain <Geometry Hierarchy> instance.

    In this scheme, a <Location 2D> instance in a three-minute region finds its resolution surface in the corresponding three-minute terrain region. If a <Location 2D> instance is outside its region (i.e., strict_organizing_principle = SE_FALSE), the containing one-degree terrain cell resolves the conforming point. If the location ray fails to intersect the one-degree terrain cell, the full terrain <Union Of Geometry Hierarchy> instance is used. If ray / surface intersection still fails, the elevation is resolved by the designated spatial surface.

FAQs

Why does a hierarchy need a <Reference Surface> instance? What is meant by "elevations" for conforming points? They don't have elevation.

In a 3D SRF, conforming points are thought of as lying on a surface. Which surface is intended seems to be subjective at best. A cartographer may prefer the designated spatial surface as the conforming point surface, while others prefer the "terrain surface". Terrain surface is also a subjective term, and terrain surfaces have been mapped to the DRM in a variety of ways. Even if one notion of surface for conforming points were mandated, it would not meet everyone's requirements.

The solution is to mandate a clearly defined surface (the initial default) and provide a flexible mechanism to override the default for all or for selected parts of the transmittal.

How does a <Feature Hierarchy> instance or <Geometry Hierarchy> instance use a <Reference Surface> instance to resolve elevations for conforming points within their component trees?

Consider a <Reference Surface> instance that is associated to a <Geometry Hierarchy> instance that contains a surface. A conforming point corresponds to the (unique) ray which is:

  1. normal to the surface of the SRF's ORM (*),

  2. intersects the ORM at the same horizontal coordinates as the conforming point, and

  3. extends below the surface of the ORM to a depth equal to the minor radius of the ORM, if the ORM is an ellipsoid.

(*) NOTE: For augmented Projected SRFs, this is the projection ellipsoid. For LSR, use the z=0 plane, where z is the coordinate axis specified by the SRM_LSR_3D_Parameters up_direction value.

The intersection of this ray with the resolution surface defines the candidate set for the corresponding 3D location. One 3D location is selected from the ray/surface intersection set according to the following three cases.

  1. If the set contains one and only one element, the spatial position of that point resolves the conforming point instance.

  2. If the set contains more than one element, the multiplicity_rule value is used to select exactly one element.
    (For example, if several overlapping <Property Grid> instances with <Grid Overlap> components are part of the <Reference Surface> instance, use <Grid Overlap> component's rules to define the <Reference Surface> instance in the overlap region of two or more of the surface grids. If the intersection set still has more than one point, use multiplicity_rule.)

  3. If the intersection is empty, look for other <Reference Surface> instances higher up the component tree and repeat this resolution process with that surface instead. If there are no other <Reference Surface> instances higher up the component tree, use the designated spatial surface (which is guaranteed to be a case 1 surface). (See also example 5).

What if there is no single <Union Of Primitive Geometry> instance that defines the <Reference Surface> instance?

There is no requirement that the aggregate be free of non-reference surface geometry (See example 3). In this case, find the higher level <Geometry Hierarchy> instance that aggregates the desired <Union Of Primitive Geometry> sub-hierarchies, and use that for the <Reference Surface> association.

What happens to <LSR 2D Location> instances in an LSR <Model> instance M when M is instanced by a model instance object in a non-LSR 3D SRF?

That depends on whether or not the scoping SRF supports conforming points.

(Note 1): LSR models are not permitted to contain <Reference Surface> instances; see constraints.
(Note 2): Conformal behaviour may also be modelled with <LSR 3D Location Control Link> instances.

Can a <Geometry Model Instance> instance be used for a <Reference Surface> instance's association?

Yes, if the <Model> instance's SRF matches the currently scoped SRF.

How are conforming points converted consuming data in a different SRF?

There are two cases.

Case 1 - both SRFs have the same ORM.
Case 2 - The two SRFs have different ORMs.

In case 1 (Same ORM), the ray determined by the conforming point is invariant, so the horizontal coordinates are converted in the usual way.

In case 2 (Different ORMs), the ray may change, so three steps are needed:

Step 1 Resolve elevation in the originating SRF and convert the conforming point to a <Location 3D> instance.
Step 2 Convert the <Location 3D> instance to the second SRF (conversion not currently supported).
Step 3 Collapse the <Location 3D> instance to a conforming point.
If a transmittal is consumed in an SRF other than its native SRF, should elevations be resolved in the originating or the consuming SRF?

It should not make a difference if the two SRFs are both "real world" or both Augmented Projected Coordinate Systems (APCS). In the case in which one is "real" world and the other is APCS, there are two ways to deal with the "conversion distortion" that tends to bend flat surfaces.

Consider a conforming point whose ray intersects the resolution surface near the centre of exactly one triangular <Polygon> instance. The intersection point determines the elevation, and therefore a corresponding <Location 3D> instance. If elevations are resolved in the first SRF, and the <Location 3D> instance is then converted, the location will match the transmittal point, but it may no longer lie on the triangle's surface. On the other hand, if the conforming point is converted and then elevations are resolved in the second SRF, the corresponding <Location 3D> instance will lie on the triangle's surface, but may differ a little in elevation from the originating point. Therefore if absolute location is more important than conformality, resolve in the originating SRF. If conformality is more important, resolve in the consuming SRF.

Constraints

Associated to (one-way)

Composed of (two-way)

Component of (two-way)

Inherited Field Elements

This class has no inherited field elements.

Field Elements

EDCS_Classification_Code

classification;

3

SE_Reference_Surface_Elevation_Select

multiplicity_rule;

4

SE_Reference_Surface_LOD_Select

lod_rule;

5


Notes

Associated to Notes


Geometry_Hierarchy

This specifies the <Geometry Hierarchy> instance containing the <Surface Geometry> instances and/or <Property Grid> instances to be used as the reference surface.

Composed of Notes


Property_Value

A <Reference Surface> instance has <Property Value> components only when the classification of the <Reference Surface> requires elaboration by <Property Value> components.

Fields Notes

classification

Within the reference surface, only geometry matching the (possibly elaborated) classification specified by the classification field is used.

multiplicity_rule

The multiplicity_rule field specifies a rule to select a single point from multiple intersections of a ray with the reference surface defined by the instance of <Reference Surface>.

lod_rule

The lod_rule field specifies a rule to select one LOD branch.


Prev: Reference Origin. Next: Reference Vector. Up:Index.