Spatial Reference Model Overview - PowerPoint PPT Presentation

1 / 94
About This Presentation
Title:

Spatial Reference Model Overview

Description:

... reference as often used with the Space Shuttle, or a non-Earth planetary body, ... Where the Data Consumer specifies an alternative SRF, this 'SRM check utility' ... – PowerPoint PPT presentation

Number of Views:66
Avg rating:3.0/5.0
Slides: 95
Provided by: MIT5150
Category:

less

Transcript and Presenter's Notes

Title: Spatial Reference Model Overview


1
Spatial Reference Model Overview
  • Its not just coordinate systems any more!
  • http//www.sedris.org/srm.htm
  • also
  • 99F-SIW-183 Choosing a Coordinate Framework for
    Simulations

2
Outline
  • Why?
  • Review of Basic Terminology
  • The SRM A Composition of ORMs, CSs, and SRFs
  • Coordinate Operations and Geometry Distortion
  • Valid, Extended, and Invalid Coordinates
  • ORM/ERM Support Status
  • SRF Support Status
  • Operations Support Status

3
Simulation Begins with a Location
  • Defining and using a consistent spatial reference
    framework is critical for MS interoperability
  • System models (men, material, )
  • Environmental data, models, phenomena

4
Why is a SRM Needed?
  • Traditionally the MS community has not been
    consistent in the treatment of models of the
    earth and related spatial reference frames
  • Consistency is required for joint distributed
    simulation in order to
  • achieve a reasonably level playing field, and
  • to support meaningful Validation, Verification
    Accreditation
  • A number of different ERMs are currently employed
    and this affects
  • representation of the environment in simulations
    authoritative data bases
  • dynamics formulations, both kinematics and
    kinetics (movement)
  • acquisition modeling and processing
    (inter-visibility)
  • Approximations in coordinate operations
    (conversion transformation algorithms) made to
    reduce processing time may introduce additional
    inconsistencies
  • An SRM is needed to promote lossless and accurate
    operations
  • A nomenclature inconsistency evolves when there
    is no SRM
  • For example, how do these variables relate?
  • Altitude, elevation, height, geodetic height,
    ellipsoidal height, orthometric height, height
    above sea level, height above mean sea level,
    depth below MLLW, terrain height, pressure
    altitude, temperature altitude, nap of the
    earth, ...

5
SRM Requirements
  • Completeness
  • Must include spatial reference frames in common
    usage
  • Must tie those frames together into a common
    model
  • Must educate the system developer
  • E.g., Whats a horizontal datum? A vertical
    datum?
  • Operation Accuracy
  • Generally higher than required for non-simulation
    systems
  • Typically better than 1 cm. up past
    geosynchronous orbit
  • Performance
  • Never fast enough!
  • Many environmental data sets dominated by
    location data
  • Therefore efficient interconversion key to
    meeting 72 hour ready-to-run mandate
  • Federate costs for distributed simulation using
    heterogeneous spatial reference frames can be
    substantial (e.g., 20 or more)

6
Outline
  • Why?
  • Review of Basic Terminology
  • The SRM A Composition of ORMs, CSs, and SRFs
  • Coordinate Operations and Geometry Distortion
  • Valid, Extended, and Invalid Coordinates
  • ORM/ERM Support Status
  • SRF Support Status
  • Operations Support Status

7
Coordinates
  • Coordinates are linear or angular quantities that
    designate the position of a point in a reference
    frame.
  • In the SEDRIS Data Representation Model (DRM),
    they are represented as ltLocationgts.
  • Either ltLocation 3Dgt or ltLocation 2Dgt.

8
Spatial Reference Frames
  • Spatial Reference Frames serve to locate
    coordinates in a multi-dimensional space
    (generally either two- or three-dimensional).
    They are specified in two parts
  • A geometric description (model) of a reference
    object embedded in (and serving to orient) that
    frame -- referred to as an Object Reference Model
    (ORM)
  • An Earth Reference Model (ERM) is a special case
    of an ORM
  • A Coordinate System specifying how a tuple of
    values uniquely determine a location with respect
    to the origin of that frame. By extension, that
    tuple also specifies a location with respect to
    the reference object.
  • SRF ORM CS

There are no naked coordinate systems (in
SEDRIS).
9
Named SRFs in SEDRIS
10
SRF Example
  • A common spatial reference frame is a combination
    of a
  • Specification of the Earth Reference Model (ERM)
    (e.g., an ellipsoid with specific parameters),
    and a
  • Right-handed Cartesian coordinate system in a
    specific relationship to the center or origin,
    and rotational plane (equator) and axis of the
    ERM.

One specific binding of (1) a right-handed
Cartesian coordinate system to (2) the rotational
plane (equator), prime meridian, and rotational
axis (via the north pole) of an ERM. Point P is
then a location defined with respect to that
coordinate system.
11
Coordinates Coordinate Systems
  • Coordinates are linear or angular quantities that
    designate the position of a point within a
    coordinate system. By extension, they also
    designate the position of a point within a
    spatial reference frame.
  • Coordinate Systems are a collection of rules by
    which a tuple of values may be used to spatially
    relate a location to a unique (coordinate system)
    origin location.
  • Cartesian Coordinate Systems are based on an
    ordered set of mutually perpendicular axes formed
    by straight lines. The point of intersection of
    the axes is termed the origin. The directions of
    successive axes are normally related to each
    other by a right hand rule.
  • Cartesian Coordinates (two-dimensional) uniquely
    locate points on a plane using a doublet of
    values, e.g., (x, y).
  • Cartesian Coordinates (three-dimensional)
    uniquely locate points within a volume using a
    triplet of values, e.g. (x, y, z).

12
ERMs
  • Topographic Surface is the interface between the
    solid and liquid/gas portions of the Earth. It
    corresponds to the surface of the land and the
    floor of the ocean.
  • Earth Reference Model (ERM) is a specification of
    the mathematical shape of the Earth, usually in
    terms of a combination of ellipsoidal and
    equipotential (geoidal) surfaces. It excludes
    the topographic surface, and therefore generally
    corre-sponds with mean sea level.

In the SRM, there is no Earth there are only
models of the Earth.
13
ORMs
  • Since the Earth is an important reference
    object in our spatial environment, many Spatial
    Reference Frames will consist of an Earth
    Reference Model plus a Coordinate System.
  • There are spatial reference frames which
    incorporate models of alternative reference
    objects
  • E.g., a spacecraft body-centric reference as
    often used with the Space Shuttle, or a non-Earth
    planetary body, or even a celestial body
  • Local Space Rectangular (LSR) uses a minimalist
    ORM which does not locate the CS origin, but
    orients the axes through specification of up
    and forward and a right-hand rule
  • In general SRF ORM CS
  • Commonly SRF ERM CS

14
Many SRFs
  • There is a potentially infinite set of spatial
    reference frames based on the same Cartesian
    coordinate system with the same relationships to
    an ERM, but with differing ERMs.
  • E.g., as defined by different ellipsoidal models
  • Or which may share a common ERM, but which have
    different relationships between the Cartesian
    coordinate system and the ERM.
  • E.g., Geocentric (GC) and Local Tangent Plane
    (LTP)
  • Each of these spatial reference frames is unique,
    unambiguous, and can be exactly related to the
    others.
  • And each has a customer-base for whom it is the
    preferred (only?) choice ...

15
Spatial Reference Model
  • Spatial Reference Model is a well-defined set of
  • object reference models, and
  • coordinate systems, composed into
  • spatial reference frames,
  • that allows coordinates (and related concepts,
    such as vectors) to be specified succinctly, and
  • converted accurately between different spatial
    reference frames.

The degree of accuracy (and performance)
required is generally application-dependent.
16
SRM Refresher
Earth Referenced, Projection-based 2D and 3D SRFs
Earth Referenced 3D (and 2D) SRFs
GCS
Geocentric (ECEF)
Geodetic (3D and 2D)
With and without Augmentation
Geomagnetic Geocentric Equatorial
Inertial Geocentric Solar Ecliptic Geocentric
Solar Magnetospheric Solar Magnetic
17
Outline
  • Why?
  • Review of Basic Terminology
  • The SRM A Composition of ORMs, CSs, and SRFs
  • Coordinate Operations and Geometry Distortion
  • Valid, Extended, and Invalid Coordinates
  • ORM/ERM Support Status
  • SRF Support Status
  • Operations Support Status

18
Coordinate Operations
  • Coordinate Conversion is the process of
    determining the equivalent spatial location of a
    point in a SRF which is based on the same object
    reference model (e.g., ERM), but a different
    coordinate system.
  • Coordinate Transformation is the process of
    determining the equivalent spatial location of a
    point in a SRF which is based on the same
    coordinate system, but a different object
    reference model (e.g., ERM).
  • Converting coordinates between two arbitrary
    Spatial Reference Frames may require both
    Coordinate Conversion and Coordinate
    Transformation.

19
Types of Operation Errors
  • Formulation (Algorithmic) Errors Inherent in
    optimized algorithms for coordinate operations
    where accuracy may be traded for performance.
  • Implementation Errors Includes errors due to
    finite precision arithmetic and software
    implementation.
  • Usage Errors Includes errors due to extension of
    projection-based SRFs beyond reasonable limits.
  • Where coordinate operations with respect to an
    alternative SRF are required.

20
Coordinate Operations affectGeometrical
Relationships
  • The taxonomy for classifying mathematical
    transformations is complex and there are a lot of
    types
  • isometric, linear, bi-linear, conformal,
    orthogonal, affine, isomorphic, ...
  • For SEDRIS, two classifications are sufficient
    for operations associated with earth referenced
    spatial reference frames
  • Geometry Preserving Transformations (GPT) That
    class of conversions/transformations between
    spatial reference frames that do not distort
    geometrical relationships.
  • Geometry Distorting Transformations (GDT) That
    class of conversions/transformations between
    spatial reference frames that distort some
    geometrical relationships.

21
SRF Operation Relationships
Operations between map projections and these are
GDT.
Operations among earth referenced 3D systems are
GPT.
Map projection-based
GCS
Local Tangent Plane
Geocentric (ECEF)
Geodetic
With and without Augmentation
Geomagnetic Geocentric Equatorial
Inertial Geocentric Solar Ecliptic Geocentric
Solar Magnetospheric Solar Magnetic
22
3D Projection-based SRFs
These result in augmented map projection-based
spatial reference frames.
Ellipsoidal ERM
Spherical ERM
23
Geometric Distortions
  • Distortion caused by Projection Inherent in the
    use of 2D projection-based SRFs, where the
    distortion varies non-linearly with distance from
    the line(s) or point of projection.
  • Distance (on the surface of the ERM)
  • Azimuth
  • Distortion caused by Augmentation Inherent in
    the extension of projection-based 2D SRFs to 3D
    SRFs, where the distortion varies non-linearly
    with both elevation and distance from the line(s)
    or point of projection.
  • Distance (with respect to altitude)
  • Elevation Angle

24
Distance and Elevation Angle
N
Note that the red points do not map
s
s
s
s
Distance is distorted by the projection
Z
X
An augmented projection produces another 2D
system. Note that there are now two distortions
with respect to the original rectangular system.
This process can be extended to the 3D case but
even if the projection is conformal, elevation
angles are distorted by the augmentation.
25
Azimuth
  • Transverse Mercator SRF
  • In geodetic coordinates the origin is at (0,
    -p/2, 0)
  • The longitude of the origin is shown as 90º W
  • And were all familiar with Rhumb lines
    (loxodromes), and great circle distances ...

From N. Bowditch, American Practical
Navigator, U.S. Navy Hydrographic Office, 1966
Ed.
26
Convergence of the Meridian
Consider any conformal map projection P is a
given location in the projected system The
central meridian appears as a straightline (the
y axis) Generally other meridians are
curved(an exception is the Mercator
projection) T is the tangent line to the
meridian at P is the Convergence of the
Meridian The convergence of the meridian is the
anglebetween SRF North and true North onthe
source ORM/ERM (positive clockwise).
The formula for computing the convergence of the
meridianranges from very simple (0 for the
Mercator-based SRFs)to very complex for TM.
27
Flattening the ERMDistance and Geometry
  • Augmented UTM (AUTM) example
  • Several distortions are introduced, especially at
    the higher latitudes.

The results of such elevation angle and range
distortions may not be so apparent when all
simulations involved use AUTM. However, in a
federation involving real world coordinate
systems the distortions may become evident. Use
of AUTM increases visibility, causes interactions
to prosecute too fast, leads to an uneven playing
field and is not recommended for use in joint
simulations.
28
Outline
  • Why?
  • Review of Basic Terminology
  • SRM A Composition of ORMs, CSs, and SRFs
  • Coordinate Operations and Geometry Distortion
  • Valid, Extended, and Invalid Coordinates
  • ORM/ERM Support Status
  • SRF Support Status
  • Operations Support Status

29
Valid Coordinates
  • Coordinates, and operations on coordinates, are
    characterized as being of three types
  • Exact, in which the coordinate falls within the
    well-defined extents of a SRF.
  • Extended, in which the coordinate falls outside
    of the well-defined extents of a SRF, but falls
    within a well-defined extended bound for which
    GDT errors have been well-defined.
  • Extended coordinates are supported by the SRM
    implementation, however a warning will be issued
    each time one is input or output.
  • Invalid, in which the coordinate falls outside of
    the extended bound.
  • Invalid coordinates will not be supported by the
    SRM checked implementation either as input
    coordinates or as output coordinates. The exact
    extents of invalid are specified for each SRF.

30
Coordinate Validity
  • ltLocationgts may then be referred to as being
  • ? valid extended invalid with respect
    to their native SRFs, as well as being
  • ? valid extended invalid with respect
    to another SRF.
  • E.g., a GD coordinate in Britain
    converted/transformed to the UTM Zone 17 SRF
    would be invalid
  • ltLocationgts may thus be
  • ? valid in the context of the SRF of a
    Unified Environment created by a Data Provider,
    but
  • ? invalid in the context of a SRF specified by
    a Data Consumer.

31
Implementation Details (1 of 2)
  • The scope of exact (valid) and extended
    coordinate operations is documented in the SRM,
    and implemented in the form of a SRM check
    utility for use by data providers,
    transmittal-check applications, and data
    consumers.
  • Data Providers may use this SRM check utility
    in the process of preparing a SEDRIS Unified
    Environment in order to determine whether any
    ltLocationgts in the source database violate either
    the exact (valid) or extended bounds of a SRF
    (either that of the Unified Environment, or that
    of another SRF).
  • The Unified Environment may still be created
    using these ltLocationgts (as is currently the
    case) -- no checking will occur as the
    ltLocationsgts are written to the transmittal.

Definitions in-progress
32
Implementation Details (2 of 2)
  • Transmittal Validators may use this SRM check
    utility to determine whether a Unified
    Environment contains ltLocationgts which are either
    Extended or Invalid with respect to the SRF of
    the Unified Environment, or some other SRF.
  • Data Consumers will continue to receive
    unrestricted ltLocationgts from a Unified
    Environment where the access remains in the SRF
    of that Unified Environment.
  • Where the Data Consumer specifies an alternative
    SRF, this SRM check utility will be brought
    into play and Extended, and Invalid, errors will
    be appropriately reported as Unified Environment
    ltLocationgts are accessed.
  • Direct use of the SRM API will continue to allow
    applications to accomplish either checked or
    unchecked operations on SRFs.

33
Range Extension (1 of 2)
  • It will be possible to specify that a coordinate
    should be converted to a specific target SRF,
    even if in that target SRF the coordinate would
    be characterized as Extended.
  • For ltLocationgts in GD being converted to any
    projection-based SRF, the preceding definitions
    inherently result in range extension.
  • The data consumer necessarily forces a specific
    (e.g., zoned UTM) SRF at the time of specifying
    their retrieval SRF.
  • Thus, if the UTM Zone 17 SRF is selected as
    target, with the source being GD, then attempts
    to convert ltGD_Locationgts falling within the
    extended bound (for which GDT errors have been
    well-defined) will succeed with a warning
    message.
  • Attempts outside the extended bound will (of
    course) fail

34
Range Extension (2 of 2)
  • It will be possible, e.g., to take a GD SRF-based
    Unified Environment and successively extract
    appropriate portions of it containing
  • ltLocationgts specified with respect to the UTM
    Zone 17 SRF,
  • ltLocationgts specified with respect to the UTM
    Zone 18 SRF,
  • ltLocationgts specified with respect to the UTM
    Zone 19 SRF
  • if the Unified Environment extends across all
    three of these UTM SRFs.
  • The Data Consumer has the option to treat these
    three successive data extractions as either
  • Exact (no ltLocationgts appear in more than one UTM
    SRF), or
  • Overlapping (ltLocationgts in overlap regions
    appear in two adjacent UTM SRFs),
  • depending on how they choose to handle the error
    condition of Extended.

35
Outline
  • Why?
  • Review of Basic Terminology
  • SRM A Composition of ORMs, CSs, and SRFs
  • Coordinate Operations and Geometry Distortion
  • Valid, Extended, and Invalid Coordinates
  • ORM/ERM Support Status
  • SRF Support Status
  • Operations Support Status

36
ERM Horizontal Datums
  • Two new ellipsoids
  • EF Everest (Pakistan)
  • ID Indonesian 1974
  • Three datums with updated parameters
  • INF-A Indian 1954 - applicable to Thailand
  • INH-A Indian 1975 - applicable to Thailand
  • TOY-B Tokyo - applicable to South Korea
  • One replaced horizontal datum
  • ARS Arc 1960 - MEAN FOR Kenya, Tanzania
  • ARS-A Arc 1960 - applicable to Kenya
  • ARS-B Arc 1960 - applicable to Tanzania
  • ARS-M Arc 1960 - Mean Solution (Kenya
    Tanzania)
  • 34 new horizontal datums
  • See SCR MITRE-112B

37
Standard ERM Ellipsoids
?
?
38
Standard ERM Spheres
39
Standard ERM Horizontal Datums
40
ERM Vertical Datums
  • Three new vertical datums
  • EGM96 Earth Gravity Model of 1996 Geoid
  • NAVD88 North American Vertical Datum of 1988
  • NGVD29 National Geodetic Vertical Datum of 1929
  • Previous vertical datums retained
  • MSL Mean Sea Level
  • WGS84E World Geodetic System of 1984 Ellipsoid
  • WGS84G World Geodetic System of 1984 Geoid
  • And eight spheres of varying radii

41
Standard ERM Vertical Datums
42
ERM Datum Transformations
  • Horizontal Datums
  • Still no transformation support
  • Planning for 3-parameter Molodensky
    implementation
  • Vertical Datums
  • WGS-84 Geoidal separation now calculated (scalar)
  • MSL and WGS84G are treated as identical
  • Transformations now supported for
  • WGS84E ? WGS84G
  • WGS84E ? MSL
  • Automatically loads full ERM data ( 10 MB)
  • Ellipsoids/datums definitions, and associated
    transformations based on
  • Department of Defense World Geodetic System
    1984, National Imagery and Mapping Agency, Third
    Edition, TR8350.2, 1997.

43
Init WGS84 Geoidal Separation
extern SE_COORD_STATUS_CODE_ENUM
SE_InitializeWGS84GeoidalSeparation ( const
SE_CONVERT_COORD_SYSTEM_PAIR convert_params_ptr )
  • Reads WGS84 geoid separation data from a
    specified file (environment variable) creates
    in-memory array
  • SE_COORD_MISSING_WGS84_GEOID_SEPARATION_FILE
  • If the separation file can not be found or
    accessed
  • SE_COORD_INVALID_WGS84_GEOID_SEPARATION_FILE
  • If the separation file is incomplete or
    improperly formatted
  • SE_COORD_SUCCESS
  • Otherwise
  • Currently (re)loads stores for each Initialize
    call

44
Get WGS84 Geoidal Separation
extern SE_COORD_STATUS_CODE_ENUM
SE_GetWGS84GeoidalSeparation ( const
SE_CONVERT_COORD_SYSTEM_PAIR convert_params_
ptr, const SE_GD_2D_COORD WGS84GeodeticLoc
ation, SE_FLOAT64 GeoidalSeparation
)
  • Separation (metres) height of WGS84 geoid
    minus height of WGS84 ellipsoid
  • SE_COORD_SUCCESS
  • SE_COORD_FAILURE
  • Scalar, not Vector
  • Free using SE_FreeCoordConversionConstants

45
Outline
  • Why?
  • Review of Basic Terminology
  • SRM A Composition of ORMs, CSs, and SRFs
  • Coordinate Operations and Geometry Distortion
  • Valid, Extended, and Invalid Coordinates
  • ORM/ERM Support Status
  • SRF Support Status
  • Operations Support Status

46
SRFs
  • 151 distinct SRFs supported by DRM, either as
    subclass of ltLocation 2Dgt or ltLocation 3Dgt
  • LSR LSR2
  • GC (3D)
  • GD GD2
  • LTP LTP2
  • GCS (3D)
  • Projection-based 2D
  • M, OM, TM, LCC, PS 12, EC
  • UTM 160 UPS 1...2
  • Augmented projection-based 3D
  • AM, AOM, ATM, ALCC, APS 12, AEC
  • AUTM 160 AUPS 12
  • Inertial quasi-inertial
  • GM, GEI, GSE, GSM, SM

47
SRFs Supported
GCS
Spherical ERM Only
Geocentric (ECEF)
Geodetic (3D and 2D)
With and without Augmentation
Geomagnetic Geocentric Equatorial
Inertial Geocentric Solar Ecliptic Geocentric
Solar Magnetospheric Solar Magnetic
Spherical ERM Only
48
SRFs with CS Origin Offsets
  • Almost all projection-based SRFs (2D 3D)
  • M
  • OM
  • TM
  • UTM
  • EC
  • LCC
  • PS
  • UPS (not supported no current requirement)
  • Topocentric SRFs
  • LTP
  • GCS

Not Offset of Projection Origin
49
Local Space Rectangular
SRM_LSR_Coordinate struct SRM_FLOAT64 x
// meters, unless used in unitless Model
SRM_FLOAT64 y // meters, unless used in unitless
Model SRM_FLOAT64 z // Elevation or height,
unless used in unitless Model
// positive along XY surface normal
SRM_LSR_Parameters struct // Specification
of Object Reference Model (ORM)
SRM_DIRECTION_OF_UP_ENUM up_direction
SRM_DIRECTION_OF_FORWARD_ENUM forward_direction
// Specification of
Projection Basis // Not Applicable //
Origin of Coordinate System // Not
Applicable // Origin Displacement of
Coordinate System // Not
Applicable SRM_Direction_Of_Up_ENUM enum
SRM_Direction_Of_Up_Positive_Primary_Axis
SRM_Direction_Of_Up_Positive_Secondary_Axis
SRM_Direction_Of_Up_Positive_Tertiary_Axis
SRM_Direction_Of_Up_Negative_Primary_Axis
SRM_Direction_Of_Up_Negative_Secondary_Axis
SRM_Direction_Of_Up_Negative_Tertiary_Axi
s
50
Local Space Rectangular (2D)
SRM_LSR2_Coordinate struct SRM_FLOAT64 x
// meters, unless used in unitless Model
SRM_FLOAT64 y // meters, unless used in unitless
Model
SRM_EC_Parameters struct // Specification
of Object Reference Model (ORM)
SRM_DIRECTION_OF_FORWARD_ENUM forward_direction
// Specification of
Projection Basis // Not Applicable //
Origin of Coordinate System // Not
Applicable // Origin Displacement of
Coordinate System // Not
Applicable SRM_Direction_Of_Forward_ENUM
enum SRM_Direction_Of_Forward_Positive_Pri
mary_Axis SRM_Direction_Of_Forward_Positiv
e_Secondary_Axis SRM_Direction_Of_Forward_
Positive_Tertiary_Axis SRM_Direction_Of_Fo
rward_Negative_Primary_Axis
SRM_Direction_Of_Forward_Negative_Secondary_Axis
SRM_Direction_Of_Forward_Negative_Tertiary_
Axis
51
Geocentric
SRM_GC_Coordinate struct SRM_FLOAT64 x
// meters positive towards Prime Meridian
// in equatorial plane origin at
mass-center SRM_FLOAT64 y // meters
positive towards 90 degrees east
// of Prime Meridian in equatorial plane
// origin at mass-center
SRM_FLOAT64 z // meters positive northwards
along rotational axis
// origin at mass-center
SRM_EC_Parameters struct // Specification
of Object Reference Model (ORM)
// WGS84 Ellipsoid //
Specification of Projection Basis // Not
Applicable // Origin of Coordinate System
// WGS84 Ellipsoid Origin (mass center)
// Origin Displacement of Coordinate System
// Not Applicable
52
Geodetic
SRM_GD_Coordinate struct SRM_FLOAT64
geodetic_longitude // degrees SRM_FLOAT64
geodetic_latitude // degrees SRM_FLOAT64
elevation // Elevation or height
positive //
"outwards" along the direction
// normal to the
ORM/ERM
SRM_GD_Parameters struct // Specification
of Object Reference Model (ORM)
SRM_HORIZONTAL_DATUM_ENUM horizontal_datum
SRM_VERTICAL_DATUM_ENUM vertical_datum //
Specification of Projection Basis // Not
Applicable // Origin of Coordinate System
// Prime Meridian Equator //
Coordinate System Units SRM_DISTANCE_UNITS_
ENUM z_units // feet or meters
// Origin Displacement of Coordinate
System // Not Applicable
53
Geodetic (2D)
SRM_GD2_Coordinate struct SRM_FLOAT64
geodetic_longitude // degrees
SRM_FLOAT64 geodetic_latitude
// degrees
SRM_GD2_Parameters struct // Specification
of Object Reference Model (ORM)
SRM_HORIZONTAL_DATUM_ENUM
horizontal_datum // Specification of
Projection Basis // Not Applicable //
Origin of Coordinate System // Prime
Meridian Equator // Origin Displacement of
Coordinate System // Not Applicable
54
Local Tangent Plane
SRM_LTP_Coordinate struct SRM_FLOAT64 x
// meters positive eastward (when azimuth equal
zero) SRM_FLOAT64 y // meters positive
northward (when azimuth equal zero)
SRM_FLOAT64 z // Elevation or height positive
along XY surface normal
SRM_LTP_Parameters struct // Specification
of Object Reference Model (ORM)
SRM_HORIZONTAL_DATUM_ENUM horizontal_datum
SRM_VERTICAL_DATUM_ENUM vertical_datum //
Specification of Projection Basis // Not
Applicable // Origin of Coordinate System
SRM_FLOAT64 geodetic_longitude // degrees
SRM_FLOAT64 geodetic_latitude // degrees
SRM_FLOAT64 azimuth // angle, in arc
degrees, positive clockwise,
// from geographic north to the
direction // of the
positive Y axis // Coordinate System Units
SRM_DISTANCE_UNITS_ENUM z_units // feet or
meters // Origin Displacement of Coordinate
System SRM_FLOAT64 x_offset // origin
relative displacement in X SRM_FLOAT64
y_offset // origin relative displacement in Y
55
Local Tangent Plane (2D)
SRM_LTP2_Coordinate struct SRM_FLOAT64 x
// meters positive eastward (when azimuth equal
zero) SRM_FLOAT64 y // meters positive
northward (when azimuth equal zero)
SRM_LTP2_Parameters struct //
Specification of Object Reference Model (ORM)
SRM_HORIZONTAL_DATUM_ENUM horizontal_datum
// Specification of Projection Basis //
Not Applicable // Origin of Coordinate
System SRM_FLOAT64 geodetic_longitude //
degrees SRM_FLOAT64 geodetic_latitude //
degrees SRM_FLOAT64 azimuth // angle, in
arc degrees, positive clockwise,
// from geographic north to
the direction // of
the positive Y axis // Origin Displacement
of Coordinate System SRM_FLOAT64 x_offset
// origin relative displacement in X
SRM_FLOAT64 y_offset // origin relative
displacement in Y
56
GCS
SRM_GCS_Coordinate struct SRM_UINT16
cell_ID SRM_FLOAT64 x // meters positive
eastward SRM_FLOAT64 y // meters positive
northward SRM_FLOAT64 z // meters
Elevation or height //
positive along XY surface normal

SRM_GCS_Parameters struct // Specification
of Object Reference Model (ORM)
// WGS84 Ellipsoid //
Specification of Projection Basis // Not
Applicable // Origin of Coordinate System
// Defined by Cell ID // Origin
Displacement of Coordinate System
SRM_FLOAT64 x_offset // origin relative
displacement in X SRM_FLOAT64 y_offset //
origin relative displacement in Y
57
Mercator
SRM_M_Coordinate struct SRM_FLOAT64 x //
meters positive eastward SRM_FLOAT64 y //
meters positive northward

SRM_M_Parameters struct // Specification
of Object Reference Model (ORM)
SRM_HORIZONTAL_DATUM_ENUM horizontal_datum
// Specification of Projection Basis
SRM_FLOAT64 geodetic_longitude // degrees
specifying the meridian
// of the Y axis (positive
northwards) SRM_FLOAT64 central_scale_facto
r // unitless normally close to (lt)1.0 //
Origin of Coordinate System // Equator
// Origin Displacement of Coordinate System
SRM_FLOAT64 x_offset // origin relative
displacement in X SRM_FLOAT64 y_offset //
origin relative displacement in Y
58
Augmented Mercator
SRM_AM_Coordinate struct SRM_FLOAT64 x
// meters positive eastward SRM_FLOAT64 y
// meters positive northward SRM_FLOAT64 z
// Elevation or height positive along XY surface
normal
SRM_AM_Parameters struct // Specification
of Object Reference Model (ORM)
SRM_HORIZONTAL_DATUM_ENUM horizontal_datum
SRM_VERTICAL_DATUM_ENUM vertical_datum //
Specification of Projection Basis
SRM_FLOAT64 geodetic_longitude // degrees
specifying the meridian
// of the Y axis (positive
northwards) SRM_FLOAT64 central_scale_facto
r // unitless normally close to (lt)1.0
// Origin of Coordinate System //
Equator // Coordinate System Units
SRM_DISTANCE_UNITS_ENUM z_units // feet or
meters // Origin Displacement of Coordinate
System SRM_FLOAT64 x_offset // origin
relative displacement in X SRM_FLOAT64
y_offset // origin relative displacement in Y
59
Oblique Mercator
SRM_OM_Coordinate struct SRM_FLOAT64 x
// meters positive "rightwards" of y axis
SRM_FLOAT64 y // meters positive in direction
from parametric //
location 1 to parametric location 2

SRM_OM_Parameters struct // Specification
of Object Reference Model (ORM)
SRM_HORIZONTAL_DATUM_ENUM horizontal_datum
// Specification of Projection Basis
SRM_FLOAT64 geodetic_latitude1 // degrees
defines X origin SRM_FLOAT64
geodetic_longitude1 // degrees defines Y
origin SRM_FLOAT64 geodetic_latitude2
// degrees SRM_FLOAT64 geodetic_longitude2
// degrees SRM_FLOAT64
central_scale_factor // unitless normally close
to (lt)1.0 // Origin Displacement of
Coordinate System SRM_FLOAT64 x_offset //
origin relative displacement in X
SRM_FLOAT64 y_offset // origin relative
displacement in Y
60
Augm. Oblique Mercator
SRM_AOM_Coordinate struct SRM_FLOAT64 x
// meters positive "rightwards" of y axis
SRM_FLOAT64 y // meters positive in direction
from parametric //
location 1 to parametric location 2
SRM_FLOAT64 z // Elevation or height positive
along XY surface normal
SRM_AOM_Parameters struct // Specification
of Object Reference Model (ORM)
SRM_HORIZONTAL_DATUM_ENUM horizontal_datum
SRM_VERTICAL_DATUM_ENUM vertical_datum //
Specification of Projection Basis
SRM_FLOAT64 geodetic_latitude1 // degrees
defines X origin SRM_FLOAT64
geodetic_longitude1 // degrees defines Y
origin SRM_FLOAT64 geodetic_latitude2
// degrees SRM_FLOAT64 geodetic_longitude2
// degrees SRM_FLOAT64
central_scale_factor // unitless normally close
to (lt)1.0 // Coordinate System Units
SRM_DISTANCE_UNITS_ENUM z_units // feet or
meters // Origin Displacement of Coordinate
System SRM_FLOAT64 x_offset // origin
relative displacement in X SRM_FLOAT64
y_offset // origin relative displacement in Y
61
Transverse Mercator
SRM_TM_Coordinate struct SRM_FLOAT64 x
// meters positive eastward SRM_FLOAT64 y
// meters positive northward

SRM_TM_Parameters struct // Specification
of Object Reference Model (ORM)
SRM_HORIZONTAL_DATUM_ENUM horizontal_datum
// Specification of Projection Basis
SRM_FLOAT64 geodetic_latitude // degrees used
to define origin SRM_FLOAT64
geodetic_longitude // degrees specifying the
//
meridian of the positive Y axis
// (which is positive
northwards) SRM_FLOAT64 central_scale_facto
r // unitless normally close to (lt) 1.0
// Origin Displacement of Coordinate System
SRM_FLOAT64 x_offset // origin relative
displacement in X SRM_FLOAT64 y_offset //
origin relative displacement in Y
62
Augm. Transverse Mercator
SRM_ATM_Coordinate struct SRM_FLOAT64 x
// meters positive eastward SRM_FLOAT64 y
// meters positive northward SRM_FLOAT64 z
// Elevation or height positive along XY surface
normal
SRM_ATM_Parameters struct // Specification
of Object Reference Model (ORM)
SRM_HORIZONTAL_DATUM_ENUM horizontal_datum
SRM_VERTICAL_DATUM_ENUM vertical_datum //
Specification of Projection Basis
SRM_FLOAT64 geodetic_latitude // degrees used
to define origin SRM_FLOAT64
geodetic_longitude // degrees specifying the
//
meridian of the positive Y axis
// (which is positive
northwards) SRM_FLOAT64 central_scale_facto
r // unitless normally close to (lt) 1.0
// Coordinate System Units
SRM_DISTANCE_UNITS_ENUM z_units // feet or
meters // Origin Displacement of Coordinate
System SRM_FLOAT64 x_offset // origin
relative displacement in X SRM_FLOAT64
y_offset // origin relative displacement in Y
63
Universal Transverse Mercator
SRM_UTM_Coordinate struct
SRM_HEMISPHERE_ENUM hemisphere SRM_FLOAT64
x // meters positive eastward
SRM_FLOAT64 y // meters positive
northward
SRM_UTM_Parameters struct // Specification
of Object Reference Model (ORM)
SRM_HORIZONTAL_DATUM_ENUM horizontal_datum
// Specification of Projection Basis
SRM_UINT8 zone // 1 60 // Origin
Displacement of Coordinate System
SRM_FLOAT64 x_offset // origin relative
displacement in X
SRM_FLOAT64 y_offset // origin relative
displacement in Y SRM_Hemisphere_ENUM enum
SRM_NORTHERN_HEMISPHERE SRM_SOUTHERN_HEMISPHER
E
64
Augm. Univ. Transverse Mercator
SRM_AUTM_Coordinate struct
SRM_HEMISPHERE_ENUM hemisphere SRM_FLOAT64
x // meters positive eastward
SRM_FLOAT64 y // meters positive northward
SRM_FLOAT64 z // Elevation or height
positive along XY surface normal
SRM_AUTM_Parameters struct //
Specification of Object Reference Model (ORM)
SRM_HORIZONTAL_DATUM_ENUM horizontal_datum
SRM_VERTICAL_DATUM_ENUM vertical_datum
// Specification of Projection Basis
SRM_UINT8 zone // 1 60 //
Coordinate System Units SRM_DISTANCE_UNITS_
ENUM z_units // feet or meters // Origin
Displacement of Coordinate System
SRM_FLOAT64 x_offset // origin relative
displacement in X
SRM_FLOAT64 y_offset // origin relative
displacement in Y
65
Lambert Conformal Conic
SRM_LCC_Coordinate struct SRM_FLOAT64 x
// meters positive eastward SRM_FLOAT64 y
// meters positive northward

SRM_LCC_Parameters struct // Specification
of Object Reference Model (ORM)
SRM_HORIZONTAL_DATUM_ENUM horizontal_datum
// Standard Parallels SRM_FLOAT64
north_parallel_geodetic_latitude // degrees
SRM_FLOAT64 south_parallel_geodetic_latitude //
degrees // Origin of Rectangular
Coordinates SRM_FLOAT64 geodetic_latitude
// degrees specifying the parallel
// of the X axis
positive eastwards SRM_FLOAT64
geodetic_longitude // degrees specifying the
meridian
// of the Y axis positive northwards //
Origin Displacement of Coordinate System
SRM_FLOAT64 x_offset // origin relative
displacement in X SRM_FLOAT64 y_offset //
origin relative displacement in Y
66
Augm. Lambert Conformal Conic
SRM_ALCC_Coordinate struct SRM_FLOAT64 x
// meters positive eastward SRM_FLOAT64 y
// meters positive northward SRM_FLOAT64 z
// Elevation or height positive along XY surface
normal
SRM_ALCC_Parameters struct //
Specification of Object Reference Model (ORM)
SRM_HORIZONTAL_DATUM_ENUM horizontal_datum
SRM_VERTICAL_DATUM_ENUM vertical_datum
// Standard Parallels SRM_FLOAT64
north_parallel_geodetic_latitude // degrees
SRM_FLOAT64 south_parallel_geodetic_latitude //
degrees // Origin of Rectangular
Coordinates SRM_FLOAT64 geodetic_latitude
// degrees specifying the parallel
// of the X axis
positive eastwards SRM_FLOAT64
geodetic_longitude // degrees specifying the
meridian
// of the Y axis positive northwards //
Coordinate System Units SRM_DISTANCE_UNITS_
ENUM z_units // feet or meters // Origin
Displacement of Coordinate System
SRM_FLOAT64 x_offset // origin relative
displacement in X SRM_FLOAT64 y_offset //
origin relative displacement in Y
67
Polar Stereographic
SRM_PS_Coordinate struct SRM_FLOAT64 x
// meters SRM_FLOAT64 y // meters along
meridian defined by // the
applicable PS SRF parameters
SRM_PS_Parameters struct // Specification
of Object Reference Model (ORM)
SRM_HORIZONTAL_DATUM_ENUM horizontal_datum
// Specification of Projection Basis
SRM_PS_POLE_ENUM pole // North or
South SRM_FLOAT64 geodetic_longitude //
degrees specifying the
// meridian of the positive Y
axis SRM_FLOAT64 central_scale_factor //
unitless normally close to (lt) 1.0 //
Origin Displacement of Coordinate System
SRM_FLOAT64 x_offset // origin relative
displacement in X SRM_FLOAT64 y_offset //
origin relative displacement in
Y SRM_PS_POLE_ENUM enum
SRM_North_Pole SRM_South_Pole
68
Augm. Polar Stereographic
SRM_APS_Coordinate struct SRM_FLOAT64 x
// meters SRM_FLOAT64 y // meters along
meridian defined by // the
applicable PS SRF parameters SRM_FLOAT64 z
// Elevation or height positive along XY surface
normal
SRM_APS_Parameters struct // Specification
of Object Reference Model (ORM)
SRM_HORIZONTAL_DATUM_ENUM horizontal_datum
SRM_VERTICAL_DATUM_ENUM vertical_datum //
Specification of Projection Basis
SRM_PS_POLE_ENUM pole // North or
South SRM_FLOAT64 geodetic_longitude //
degrees specifying the
// meridian of the positive Y
axis SRM_FLOAT64 central_scale_factor //
unitless normally close to (lt) 1.0 //
Coordinate System Units SRM_DISTANCE_UNITS_
ENUM z_units // feet or meters // Origin
Displacement of Coordinate System
SRM_FLOAT64 x_offset // origin relative
displacement in X SRM_FLOAT64 y_offset //
origin relative displacement in Y
69
Universal Polar Stereographic
SRM_UPS_Coordinate struct SRM_FLOAT64 x
// meters SRM_FLOAT64 y // meters along
meridian defined by // the
applicable PS SRF parameters
SRM_UPS_Parameters struct // Specification
of Object Reference Model (ORM)
SRM_HORIZONTAL_DATUM_ENUM horizontal_datum
// Specification of Projection Basis
SRM_PS_POLE_ENUM pole // North or
South // Origin Displacement of Coordinate
System SRM_FLOAT64 x_offset // origin
relative displacement in X
SRM_FLOAT64 y_offset // origin relative
displacement in Y SRM_PS_POLE_ENUM enum
SRM_North_Pole SRM_South_Pole
70
Augm. Univ. Polar Stereographic
SRM_AUPS_Coordinate struct SRM_FLOAT64 x
// meters SRM_FLOAT64 y // meters along
meridian defined by // the
applicable PS SRF parameters SRM_FLOAT64 z
// Elevation or height positive along XY surface
normal
SRM_AUPS_Parameters struct //
Specification of Object Reference Model (ORM)
SRM_HORIZONTAL_DATUM_ENUM horizontal_datum
SRM_VERTICAL_DATUM_ENUM vertical_datum
// Specification of Projection Basis
SRM_PS_POLE_ENUM pole // North or
South // Coordinate System Units
SRM_DISTANCE_UNITS_ENUM z_units // feet or
meters // Origin Displacement of Coordinate
System SRM_FLOAT64 x_offset // origin
relative displacement in X
SRM_FLOAT64 y_offset // origin relative
displacement in Y
71
Equidistant Cylindrical
SRM_EC_Coordinate struct SRM_FLOAT64 x
// meters positive eastward SRM_FLOAT64 y
// meters positive northward

SRM_EC_Parameters struct // Specification
of Object Reference Model (ORM)
SRM_HORIZONTAL_DATUM_ENUM horizontal_datum
// Specification of Projection Basis (standard
parallel) SRM_FLOAT64 geodetic_latitude
// degrees standard parallel and
// origin of the
projected X axis
// (which is positive northwards)
SRM_FLOAT64 central_scale_factor // unitless
normally close to (lt)1.0 // Origin of
Coordinate System SRM_FLOAT64
geodetic_longitude // degrees specifying the
meridian
// of the Y axis positive northwards) //
Origin Displacement of Coordinate System
SRM_FLOAT64 x_offset // origin relative
displacement in X SRM_FLOAT64 y_offset //
origin relative displacement in Y
72
Augm. Equidistant Cylindrical
SRM_AEC_Coordinate struct SRM_FLOAT64 x
// meters positive eastward SRM_FLOAT64 y
// meters positive northward SRM_FLOAT64 z
// Elevation or height positive along XY surface
normal
SRM_AEC_Parameters struct // Specification
of Object Reference Model (ORM)
SRM_HORIZONTAL_DATUM_ENUM horizontal_datum
SRM_VERTICAL_DATUM_ENUM vertical_datum //
Specification of Projection Basis (standard
parallel) SRM_FLOAT64 geodetic_latitude
// degrees standard parallel and
// origin of the
projected X axis
// (which is positive northwards)
SRM_FLOAT64 central_scale_factor // unitless
normally close to (lt)1.0 // Origin of
Coordinate System SRM_FLOAT64
geodetic_longitude // degrees specifying the
meridian
// of the Y axis positive northwards) //
Coordinate System Units SRM_DISTANCE_UNITS_
ENUM z_units // feet or meters // Origin
Displacement of Coordinate System
SRM_FLOAT64 x_offset // origin relative
displacement in X SRM_FLOAT64 y_offset //
origin relative displacement in Y
73
Geocentric Equatorial Inertial
SRM_GEI_Coordinate struct SRM_FLOAT64
right_ascension // in degrees of arc
SRM_FLOAT64 declination // in degrees of arc
SRM_FLOAT64 radius // distance from
the mass-center of the
// reference object non-negative in
meters
SRM_GEI_Parameters struct // Specification
of Object Reference Model (ORM)
// WGS84 Ellipsoid //
Origin of Coordinate System // WGS84
Ellipsoid Origin (mass center) // Coordinate
System Orientation SRM_GEI_EPOCH_ENUM
epoch SRM_GEI_Epoch_ENUM enum
SRM_ATD_Epoch // Aries-True-of-Date
SRM_M50_Epoch
// Aries-Mean-of-1950 SRM_FK5_J2000_Epoch
// Aries-Mean-of-2000
74
Geomagnetic
SRM_GM_Coordinate struct SRM_FLOAT64
gm_latitude // degrees SRM_FLOAT64
gm_longitude // degrees SRM_FLOAT64 radius
// distance from the mass-center of the
// reference object
non-negative expressed
// in units of ORM/ERM radius
SRM_GM_Parameters struct // Specification
of Object Reference Model (ORM)
SRM_FLOAT64 gm_radius // radius
of the reference object
// non-negative in meters // Origin
of Coordinate System // WGS84 Ellipsoid
Origin (mass center) // Coordinate System
Orientation SRM_UINT16 gm_epoch // epoch
definition in year Common Era
75
Geocentric Solar Ecliptic
SRM_GSE_Coordinate struct SRM_FLOAT64
longitude // in degrees of arc SRM_FLOAT64
latitude // in degrees of arc SRM_FLOAT64
radius // distance from the mass-center of
the // reference
object non-negative in meters
SRM_GSE_Parameters struct // Specification
of Object Reference Model (ORM)
// WGS84 Ellipsoid //
Origin of Coordinate System // WGS84
Ellipsoid Origin (mass center)
76
Geocentric Solar Magnetic
SRM_GSM_Coordinate struct SRM_FLOAT64
longitude // in degrees of arc SRM_FLOAT64
latitude // in degrees of arc SRM_FLOAT64
radius // distance from the mass-center of
the // reference
object non-negative in meters
SRM_GSM_Parameters struct // Specification
of Object Reference Model (ORM)
// WGS84 Ellipsoid //
Origin of Coordinate System // WGS84
Ellipsoid Origin (mass center)
77
Solar Magnetic
SRM_SM_Coordinate struct SRM_FLOAT64
longitude // in degrees of arc SRM_FLOAT64
latitude // in degrees of arc SRM_FLOAT64
radius // distance from the mass-center of
the // reference
object non-negative in meters
SRM_SM_Parameters struct // Specification
of Object Reference Model (ORM)
// WGS84 Ellipsoid //
Origin of Coordinate System // WGS84
Ellipsoid Origin (mass center)
78
Outline
  • Why?
  • Review of Basic Terminology
  • SRM A Composition of ORMs, CSs, and SRFs
  • Coordinate Operations and Geometry Distortion
  • Valid, Extended, and Invalid Coordinates
  • ORM/ERM Support Status
  • SRF Support Status
  • Operations Support Status

79
Op Support
To Be Discussed
GCS
Spherical ERM Only
Geocentric (ECEF)
Geodetic (3D and 2D)
With and without Augmentation
Geomagnetic Geocentric Equatorial
Inertial Geocentric Solar Ecliptic Geocentric
Solar Magnetospheric Solar Magnetic
Spherical ERM Only
80
Coordinate Operation Chains
  • All applicable (but potentially sub-optimally)
  • LSR_LSR, LSR2_LSR2
  • GCS_GC, GCS_GCS
  • GC_LTP, GC_GCS, GC_GD, GC_GC
  • LTP_GC, LTP_LTP
  • GD_GC, GD_M, GD_OM, GD_TM, GD_UTM, GD_PS,
    GD_UPS, GD_LCC, GD_EC, GD_GD
  • M_GD, M_M
  • OM_GD, OM_OM
  • TM_GD, TM_TM
  • UTM_GD, UTM_UTM
  • PS_GD, PS_PS
  • UPS_GD, UPS_UPS
  • EC_GD, EC_EC
  • LCC_GD, LCC_LCC
  • Interial/Quasi-Inertial
  • GM_GM, GEI_GEI, GSE_GSE, GSM_GSM, SM_SM
  • GC?, ?GC

Not yet supported
81
Status Codes (1 of 3)
/ Return codes used by the SRM coordinate
operations (conversion, transformation, etc.). /
typedef enum SE_COORD_SUCCESS, /
Coordinate operation successful
/ SE_COORD_INVALID_SOURCE_SRF_PARAMETERS,
/ If the source spatial reference frame (SRF)
parameters are wrong, or the pointer is NULL
/ SE_COORD_INVALID_DEST_SRF_PARAMETERS, /
If the destination spatial reference frame
(SRF) parameters are wrong, or the pointer is
NULL / SE_COORD_INVALID_SRF_PAIR, / If the
merged sourcedestination spatial reference
frame (SRF) parameters ptr is NULL or invalid
/ SE_COORD_INVALID_SOURCE_COORD, / If the
source coordinate is NULL, or invalid within
the source spatial reference frame (SRF) /
82
Status Codes (2 of 3)
SE_COORD_EXTENDED_SOURCE_COORD, / If the
coordinate falls within extended range in
source spatial reference frame (SRF)
/ SE_COORD_INVALID_DEST_COORD, / If the
destination coord is NULL, or invalid within
the destination SRF / SE_COORD_EXTENDED_DEST_C
OORD, / If the coordinate falls within
extended range in destination SRF
/ SE_COORD_EXTENDED_SOURCE_AND_DEST_COORD,
/ If the coordinate falls within extended range
in both the source and destination SRFs
/ SE_COORD_UNSUPPORTED, / If the operation
(conversion/transformation) is
unsupported / SE_COORD_FAILURE, /
Coordinate operation NOT successful /
83
Status Codes (3 of 3)
SE_COORD_INVALID_SOURCE_VECTOR, / If the
source vector is NULL / SE_COORD_INVALID_DEST_VEC
TOR, / If the destination vector is NULL
/ SE_COORD_INVALID_SOURCE_MATRIX, / If the
source matrix is NULL / SE_COORD_INVALID_DEST_MAT
RIX, / If the destination matrix is NULL
/ SE_COORD_INVALID_DEST_COSINE_GAMMA, / If
the destination cosine gamma is NULL
/ SE_COORD_INVALID_DEST_SINE_GAMMA, / If
the destination sine gamma is NULL
/ SE_COORD_MISSING_WGS84_GEOID_SEPARATION_FILE,
/ If the WGS84 geoid separation file
cannot be found or opened for reading
/ SE_COORD_INVALID_WGS84_GEOID_SEPARATION_FILE,
/ If the WGS84 geoid separation file is
damaged / SE_COORD_STATUS_CODE_ENUM
84
Interface Specification(s)
  • Controlling the retrieval Spatial Reference Frame
  • SE_GetSRFParameters
  • SE_UseDefaultSRFParameters
  • SE_SetSRFParameters
  • Initialization of Spatial Reference Frame
    parameters
  • SRM_CreateCoordinateOperationsConstants
  • Convert a coordinate
  • SRM_ApplyOperationToCoordinate
  • SRM_ApplyOperationToCoordinateUnchecked
  • Free Spatial Reference Frame parameters
  • SRM_FreeCoordinateOperationsConstants

For use within the SEDRIS Read API
For use independent of the SEDRIS Read API
85
Operation Setup
extern SE_COORD_STATUS_CODE_ENUM
SE_CreateCoordConversionConstants ( const
SE_SRF_PARAMETERS src_srf_ptr, const
SE_SRF_PARAMETERS dest_srf_ptr,
SE_CONVERT_COORD_SYSTEM_PAIR convert_coord_s
ystem_ptr) )
  • SE_COORD_INVALID_SOURCE_SRF_PARAMETERS
  • SE_COORD_INVALID_DEST_SRF_PARAMETERS
  • SE_COORD_INVALID_SRF_PAIR
  • SE_COORD_SUCCESS
  • SE_COORD_UNSUPPORTED
  • SE_COORD_FAILURE

86
Conversion Operation
extern SE_COORD_STATUS_CODE_ENUM
SE_ConvertCoordToGivenSystem ( const
SE_CONVERT_COORD_SYSTEM_PAIR convert_params_ptr,
const SE_COORD src_coord_ptr,
SE_COORD dest_coord_ptr )
  • SE_COORD_EXTENDED_SOURCE_COORD
  • SE_COORD_INVALID_SOURCE_COORD
  • SE_COORD_EXTENDED_DEST_COORD
  • SE_COORD_INVALID_DEST_COORD
  • SE_COORD_EXTENDED_SOURCE_AND_DEST_COORD
  • SE_COORD_SUCCESS
  • SE_COORD_UNSUPPORTED
  • SE_COORD_FAILURE

Not yet supported
87
Multi-conversion Operation
extern SE_COORD_STATUS_CODE_ENUM
SE_ConvertCoordArray ( const
SE_CONVERT_COORD_SYSTEM_PAIR convert_params_ptr,
SE_PINT32 array_size, const
SE_COORD source_coord_array,
SE_COORD dest_coord_array)
  • Similar to SE_ConvertCoordtoGivenSystem
  • Invalid status is returned if any coordinates are
    invalid (source or destination)
  • Source Extended status takes precedence over
    Destination Extended status
  • See SCR CORE-158B for full details

88
Boundary Checking
extern SE_COORD_STATUS_CODE_ENUM
SE_ConvertCoordToGivenSystemWithoutBoundaryCheckin
g ( const SE_CONVERT_COORD_SYSTEM_PAIR
convert_params_ptr, const SE_COORD
src_coord_ptr, SE_COORD
dest_coord_ptr )
  • For Sapphire release may simply duplicate
    SE_ConvertCoordToGivenSystem (with checking)

89
Operation Teardown
extern SE_COORD_STATUS_CODE_ENUM
SE_FreeCoordConversionConstants (
SE_CONVERT_COORD_SYSTEM_PAIR to_free )
  • SE_COORD_FAILURE
  • if to_free NULL
  • SE_COORD_SUCCESS

90
Vector Operation
extern SE_COORD_STATUS_CODE_ENUM
SE_ConvertVector3Type ( const
SE_CONVERT_COORD_SYSTEM_PAIR convert_params_
ptr, const SE_COORD conversion_location_p
tr, const SE_VECTOR_3_TYPE
source_vec_ptr, SE_VECTOR_3_TYPE
dest_vec_ptr )
  • SE_COORD_INVALID_SRF_PAIR
  • SE_COORD_INVALID_SOURCE_COORD
  • SE_COORD_INVALID_SOURCE_VECTOR
  • SE_COORD_INVALID_DEST_VECTOR
  • SE_COORD_SUCCESS
  • SE_COORD_FAILURE

91
Matrix Operation
extern SE_COORD_STATUS_CODE_ENUM
SE_ConvertMatrix3x3 ( const
SE_CONVERT_COORD_SYSTEM_PAIR convert_params_
ptr, const SE_COORD conversion_location_p
tr, const SE_MATRIX_3X3_TYPE
source_3x3_ptr, SE_MATRIX_3X3_TYPE
dest_3x3_ptr )
  • SE_COORD_INVALID_SRF_PAIR
  • SE_COORD_INVALID_SOURCE_COORD
  • SE_COORD_INVALID_SOURCE_MATRIX
  • SE_COORD_INVALID_DEST_MATRIX
  • SE_COORD_SUCCESS
  • SE_COORD_FAILURE

Not yet supported
92
Transform
Write a Comment
User Comments (0)
About PowerShow.com