5 Definition of fundamental data types

5.1 Introduction

5.1.1 Table of contents

Table 5.1 — Table of contents

5 Definition of fundamental data types

5.1 Introduction

5.1.1 Table of contents

5.1.2 Description

5.2 Mapping of non-object data types

5.2.1 Numbers

5.2.1.1 Integer data types

5.2.1.2 Real type

5.2.2 Object reference data type<

5.2.3 Enumerated data types

5.2.3.1 Overview

5.2.3.2 SRM_Direction_Of_Forward

5.2.3.3 SRM_Direction_Of_Up

5.2.4 Selection data types

5.2.4.1 Overview

5.2.4.2 SRM_ORM

5.2.4.3 SRM_SRF

5.2.4.4 SRM_Status_Code

5.2.4.5 SRM_Vertical_Offset_Surface

5.2.5 Structured data types

5.2.5.1 Introduction

5.2.5.2 SRM_Simple_ORM_Parameters

5.2.5.3 LSR_3D_Parameters

5.2.5.4 LSR_2D_Parameters

5.2.5.5 SRM_LTP_Parameters

5.2.5.6 SRM_ATP_Parameters

5.2.5.7 SRM_Mercator_Parameters

5.2.5.8 SRM_OM_Parameters

5.2.5.9 SRM_LCC_Parameters

5.2.5.10 SRM_PS_Parameters

5.2.5.11 SRM_EC_Parameters

5.2.5.12 SRM_UTM_Parameters

5.2.5.13 SRM_GCS_Parameters

5.2.5.14 RM_2D_Cartesian_Coordinate

5.2.5.15 SRM_3D_Cartesian_Coordinate

5.2.5.16 SRM_2D_Spherical_Coordinate

5.2.5.17 SRM_3D_Spherical_Coordinate

5.2.5.18 SRM_3D_Inertial_Coordinate

5.2.5.19 SRM_3D_GM_Coordinate

5.2.5.20 SRM_3D_GC_Coordinate

5.2.5.21 SRM_2D_GD_Coordinate

5.3 Objects

5.3.1 Introduction

5.3.2 Method signatures

5.3.2.1 Overview

5.3.2.2 SRM_Create3DCoordinate

5.3.2.3 SRM_CreateDirection

5.3.2.4 SRM_GetCoordinate3DValues

5.3.2.5 SRM_GetDirectionValues

5.3.2.6 SRM_ChangeCoordinate3DSRF

5.3.2.7 SRM_ChangeDirectionSRF

5.3.2.8 SRM_Create2DCoordinate

5.3.2.9 SRM_GetCoordinate2DValues

5.3.2.10 SRM_ChangeCoordinate2DSRF

5.3.2.11 SRM_Free2DCoordinate

5.3.2.12 SRM_CreateSurfaceCoordinate

5.3.2.13 SRM_GetSurfaceCoordinateValues

5.3.2.14 SRM_AssociatedSurfaceCoordinate

5.3.2.15 SRM_PromoteSurfaceCoordinate

5.3.2.16 SRM_CreateLocalTangentPlaneSRF

5.3.2.17 SRM_Create

5.3.2.18 SRM_Create_Celestiocentric

5.3.2.19 SRM_GetSRFParametersCelestiocentric

5.3.2.20 SRM_Create3DLocalSpaceRectangular

5.3.2.21 SRM_GetSRFParameters3DLocalSpaceRectangular

5.3.2.22 SRM_Create2DLocalSpaceRectangular

5.3.2.23 SRM_GetSRFParameters2DLocalSpaceRectangular

5.3.2.24 SRM_CreateCelestiodetic

5.3.2.25 SRM_GetSRFParametersCelestiodetic

5.3.2.26 SRM_Create3DLocalTangentPlane

5.3.2.27 SRM_GetSRFParameters3DLocalTangentPlane

5.3.2.28 SRM_CreateLocalAzimuthalSphericalTangentPlane

5.3.2.29 SRM_GetSRFParametersLocalAzimuthalSphericalTangentPlane

5.3.2.30 SRM_CreateSurfaceLocalAzimuthalTangentPlane

5.3.2.31 SRM_GetSRFParametersSurfaceLocalAzimuthalTangentPlane

5.3.2.32 SRM_Create2DAzimuthal

5.3.2.33 SRM_GetSRFParameters2DAzimuthal

5.3.2.34 SRM_CreateLocalCylindricalTangentPlane

5.3.2.35 SRM_GetSRFParametersLocalCylindricalTangentPlane

5.3.2.36 SRM_Create2DPolar

5.3.2.37 SRM_GetSRFParameters2DPolar

5.3.2.38 SRM_CreateCelestiomagnetic

5.3.2.39 SRM_GetSRFParametersCelestiomagnetic

5.3.2.40 SRM_CreateEquatorialInertial

5.3.2.41 SRM_GetSRFParametersEquatorialInertial

5.3.2.42 SRM_CreateSolarEcliptic

5.3.2.43 SRM_GetSRFParametersSolarEcliptic

5.3.2.44 SRM_CreateSolarEquatorial

5.3.2.45 SRM_GetSRFParametersSolarEquatorial

5.3.2.46 SRM_CreateSolarMagnetospheric

5.3.2.47 SRM_GetSRFParametersSolarMagnetospheric

5.3.2.48 SRM_CreateSolarMagnetic

5.3.2.49 SRM_GetSRFParametersSolarMagnetic

5.3.2.50 SRM_CreateSolarHeliosphericAriesEcliptic

5.3.2.51 SRM_GetSRFParametersSolarHeliosphericAriesEcliptic

5.3.2.52 SRM_CreateSolarHeliosphericEarthEcliptic

5.3.2.53 SRM_GetSRFParametersSolarHeliosphericEarthEcliptic

5.3.2.54 SRM_CreateSolarHeliosphericEarthEquatorial

5.3.2.55 SRM_GetSRFParametersSolarHeliosphericEarthEquatorial

5.3.2.56 SRM_CreateMercator

5.3.2.57 SRM_GetSRFParametersMercator

5.3.2.58 SRM_CreateObliqueMercator

5.3.2.59 SRM_GetSRFParametersObliqueMercator

5.3.2.60 SRM_CreateTransverseMercator

5.3.2.61 SRM_GetSRFParametersTransverseMercator

5.3.2.62 SRM_CreateLambertConformalConic

5.3.2.63 SRM_GetSRFParametersLambertConformalConic

5.3.2.64 SRM_CreatePolarStereographic

5.3.2.65 SRM_GetSRFParametersPolarStereographic

5.3.2.66 SRM_CreateEquidistantCylindrical

5.3.2.67 SRM_GetSRFParametersEquidistantCylindrical

5.3.2.68 SRM_CreateBritishNationalGrid

5.3.2.69 SRM_GetSRFParametersBritishNationalGrid

5.3.2.70 SRM_CreateAlabamaSPCS

5.3.2.71 SRM_GetSRFParametersAlabamaSPCS

5.3.2.72 SRM_CreateUTM

5.3.2.73 SRM_GetSRFParametersUTM

5.3.2.74 SRM_CreateGCS

5.3.2.75 SRM_GetSRFParametersGCS

5.3.3 Interfaces

5.3.3.1 Overview

5.3.3.2 SRF concrete classes

5.3.3.2.1 SRM_Celestiocentric

5.3.3.2.2 SRM_3DLocalSpaceRectangular

5.3.3.2.3 SRM_2DLocalSpaceRectangular

5.3.3.2.4 SRM_Celestiodetic

5.3.3.2.5 SRM_3DLocalTangentPlane

5.3.3.2.6 SRM_LocalAzimuthalSphericalTangentPlane

5.3.3.2.7 SRM_SurfaceLocalAzimuthalTangentPlane

5.3.3.2.8 SRM_2DAzimuthal

5.3.3.2.9 SRM_LocalCylindricalTangentPlane

5.3.3.2.10 SRM_2DPolar

5.3.3.2.11 SRM_Celestiomagnetic

5.3.3.2.12 SRM_EquatorialInertial

5.3.3.2.13 SRM_SolarEcliptic

5.3.3.2.14 SRM_SolarEquatorial

5.3.3.2.15 SRM_SolarMagnetospheric

5.3.3.2.16 SRM_SolarMagnetic

5.3.3.2.17 SRM_SolarHeliosphericAriesEcliptic

5.3.3.2.18 SRM_SolarHeliosphericEarthEcliptic

5.3.3.2.19 SRM_SolarHeliosphericEarthEquatorial

5.3.3.2.20 SRM_Mercator

5.3.3.2.21 SRM_ObliqueMercator

5.3.3.2.22 SRM_TransverseMercator

5.3.3.2.23 SRM_LambertConformalConic

5.3.3.2.24 SRM_PolarStereographic

5.3.3.2.25 SRM_EquidistantCylindrical

5.3.3.2.26 SRM_BritishNationalGrid

5.3.3.2.27 SRM_AlabamaSPCS

5.3.3.2.28 SRM_UTM

5.3.3.2.29 SRM_GCS

5.4 Data types for SRM dictionary entries

5.4.1 Overview

5.4.2 SRM_CS_Code

5.4.3 SRM_RD_Code

5.4.4 SRM_ORM_Template_Code

5.4.5 SRM_ORM_Code

5.4.6 SRM_SRF_Template_Code

5.4.7 SRM_SRF_Code

5.4.8 SRM_SRF_Set_Code

5.4.9 SRF set members

5.4.9.1 SRM_SRFS_ALABAMA_SPCS_SRFSM_Code<

5.4.9.2 SRM_SRFS_GLOBAL_COORDINATE_SYSTEM_SRFSM_Code

5.4.9.3 SRM_SRFS_LAMBERT_NTF_SRFSM_Code>

5.4.9.4 SRM_SRFS_MARS_TRANSVERSE_MERCATOR_BODY_SRFSM_Code

5.4.9.5 SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_Code

5.4.9.6 SRM_SRFS_UNIVERSAL_POLAR_STEREOGRAPHIC_SRFSM_Code

5.4.9.7 SRM_SRFS_UNIVERSAL_TRANSVERSE_MERCATOR_SRFSM_Code

5.4.9.8 SRM_SRFS_WISCONSIN_SPCS_SRFSM_Code

5.4.10 SRM_Vertical_Offset_Surface_Spectification_Code

5.1.2 Description

The SRM standard, ISO/IEC 18026-1, specifies a set of fundamental abstract data types. This clause gives the mapping from those data types to the data types defined in this binding. All implementation dependent data types are defined after all implementation independent data types in each category.

5.2 Mapping of non-object data types

5.2.1 Numbers

5.2.1.1 Integer data types

Table 5.2 defines the mapping of SRM abstract integer data types to data types in the C language:

Table 5.2 — Mapping of integer data types

SRM data type name

C binding type definition

Byte

typedef char SRM_Byte;

Short_Integer

typedef short SRM_Short_Integer;

Short_Integer_Unsigned

typedef unsigned short SRM_Short_Integer_Unsigned;

5.2.1.2 Real type

Table 5.3 defines the mapping of SRM abstract floating point data types to data types in the C language:

Table 5.3 — Mapping of floating point data types

SRM data type name

C binding type definition

Long_Float

typedef double SRM_Long_Float;

5.2.2 Object reference data type

The SRM abstract data type for referencing generic objects is Object_Reference. This data type is mapped as follows:

typedef void* SRM_Object_Reference;

References to an object of a specific object type are supported by additional data types formed as follows:

typedef SRM_Object_Reference SRM_name of object type_Reference;

EXAMPLE typedef SRM_Object_Reference SRM_3D_Coordinate_Reference;

5.2.3 Enumerated data types

5.2.3.1 Overview

The following type definitions map the SRM abstract enumerated data types to appropriate data types in the C binding.

5.2.3.2 SRM_Direction_Of_Forward

SRM Data Type:  Direction_Of_Forward

typedef enum { SRM_DOF_POSITIVE_PRIMARY_AXIS,
               SRM_DOF_POSITIVE_SECONDARY_AXIS,
               SRM_DOF_POSITIVE_TERTIARY_AXIS,
               SRM_DOF_NEGATIVE_PRIMARY_AXIS,
               SRM_DOF_NEGATIVE_SECONDARY_AXIS,
               SRM_DOF_NEGATIVE_TERTIARY_AXIS
} SRM_Direction_Of_Forward;

5.2.3.3 SRM_Direction_Of_Up

SRM Data Type:  Direction_Of_Up

typedef enum { SRM_DOU_POSITIVE_PRIMARY_AXIS,
               SRM_DOU_POSITIVE_SECONDARY_AXIS,
               SRM_DOU_POSITIVE_TERTIARY_AXIS,
               SRM_DOU_NEGATIVE_PRIMARY_AXIS,
               SRM_DOU_NEGATIVE_SECONDARY_AXIS,
               SRM_DOU_NEGATIVE_TERTIARY_AXIS
} SRM_Direction_Of_Up;

5.2.4 Selection data types

5.2.4.1 Overview

SRM selection data types are bound to the C programming language using the SRM_Short­_Integer data type along with a corresponding set of macros which may be used to set and compare values for these data types. The following are the SRM selection data types defined in this binding.

5.2.4.2 SRM_ORM

SRM Data Type:  ORM

typedef SRM_Short_Integer  SRM_ORM;

#define SRM_ORM_ABSTRACT                           (1)
#define SRM_ORM_ACCRA                              (2)
#define SRM_ORM_ADINDAN_BURKINA_FASO               (3)
#define SRM_ORM_ADINDAN_CAMEROON                   (4)
#define SRM_ORM_ADINDAN_ETHIOPIA                   (5)
#define SRM_ORM_ADINDAN_MALI                       (6)
#define SRM_ORM_ADINDAN_MEAN_SOLUTION              (7)
#define SRM_ORM_ADINDAN_SENEGAL                    (8)
#define SRM_ORM_ADINDAN_SUDAN                      (9)
#define SRM_ORM_ADRASTEA                           (10)
#define SRM_ORM_AFGOOYE_SOMALIA                    (11)
#define SRM_ORM_AIN_EL_ABD_1970_BAHRAIN            (12)
#define SRM_ORM_AIL_EL_ABD_1970_SAUDI              (13)
#define SRM_ORM_AMALTHEA                           (14)
#define SRM_ORM_AMERICAN_SAMOA_1962                (15)
#define SRM_ORM_AMERSFOORT_1885_1903               (16)
#define SRM_ORM_ANANKE                             (17)
#define SRM_ORM_ANNA_1_ASTRO_1965                  (18)
#define SRM_ORM_ANTIGUA_ISLAND_ASTRO_1943          (19)
#define SRM_ORM_ARC_1935_AFRICA                    (20)
#define SRM_ORM_ARC_1950_BOTSWANA                  (21)
#define SRM_ORM_ARC_1950_BURUNDI                   (22)
#define SRM_ORM_ARC_1950_LESOTHO                   (23)
#define SRM_ORM_ARC_1950_MALAWI                    (24)
#define SRM_ORM_ARC_1950_MEAN_SOLUTION             (25)
#define SRM_ORM_ARC_1950_SWAZILAND                 (26)
#define SRM_ORM_ARC_1950_ZAIRE                     (27)
#define SRM_ORM_ARC_1950_ZAMBIA                    (28)
#define SRM_ORM_ARC_1950_ZIMBABWE                  (29)
#define SRM_ORM_ARC_1950_ZIMBABWE_7                (30)
#define SRM_ORM_ARC_1960_KENYA                     (31)
#define SRM_ORM_ARC_1960_KENYA_7                   (32)
#define SRM_ORM_ARC_1960_MEAN_SOLUTION             (33)
#define SRM_ORM_ARC_1960_TANZANIA                  (34)
#define SRM_ORM_ARIEL                              (35)
#define SRM_ORM_ASCENSION_ISLAND_1958              (36)
#define SRM_ORM_ASTRO_BEACON_E_1945                (37)
#define SRM_ORM_ASTRO_DOS_71_4                     (38)
#define SRM_ORM_ASTRO_STATION_1952                 (39)
#define SRM_ORM_ASTRO_TERN_IS_1961                 (40)
#define SRM_ORM_ATLAS                              (41)
#define SRM_ORM_AUSTRALIAN_GEOD_1966               (42)
#define SRM_ORM_AUSTRALIAN_GEOD_1984               (43)
#define SRM_ORM_AUSTRALIAN_GEOD_1984_7             (44)
#define SRM_ORM_AV_TERRESTRIAL_SYSTEM_1977         (45)
#define SRM_ORM_AYABELLE_LIGHTHOUSE                (46)
#define SRM_ORM_BEKAA_BASE_SOUTH_END               (47)
#define SRM_ORM_BELGIUM_1950                       (48)
#define SRM_ORM_BELGIUM_1972                       (49)
#define SRM_ORM_BELINDA                            (50)
#define SRM_ORM_BELLEVUE_IGN                       (51)
#define SRM_ORM_BERMUDA_1957                       (52)
#define SRM_ORM_BERN_1898                          (53)
#define SRM_ORM_BERN_1898_ZERO                     (54)
#define SRM_ORM_BIANCA                             (55)
#define SRM_ORM_BISSAU                             (56)
#define SRM_ORM_BJZ54                              (57)
#define SRM_ORM_BJZ54_MODIFIED                     (58)
#define SRM_ORM_BOGOTA_OBS                         (59)
#define SRM_ORM_BOGOTA_OBS_ZERO                    (60)
#define SRM_ORM_BUKIT_RIMPAH                       (61)
#define SRM_ORM_CALIBAN                            (62)
#define SRM_ORM_CALLISTO                           (63)
#define SRM_ORM_CALLISTO_INERTIAL                  (64)
#define SRM_ORM_CALLISTO_MAGNETIC                  (65)
#define SRM_ORM_CALYPSO                            (66)
#define SRM_ORM_CAMACUPA_BASE_SW_END               (67)
#define SRM_ORM_CAMP_AREA_ASTRO                    (68)
#define SRM_ORM_CAMPO_INCHAUSPE                    (69)
#define SRM_ORM_CANTON_ASTRO_1966                  (70)
#define SRM_ORM_CAPE_CANAVERAL                     (71)
#define SRM_ORM_CAPE_SOUTH_AFRICA                  (72)
#define SRM_ORM_CARME                              (73)
#define SRM_ORM_CARTHAGE                           (74)
#define SRM_ORM_CHARON                             (75)
#define SRM_ORM_CHATHAM_ASTRO_1971                 (76)
#define SRM_ORM_CHUA_ASTRO                         (77)
#define SRM_ORM_COAMPS                             (78)
#define SRM_ORM_COMP_GEOD_DU_QUEBEC_1977           (79)
#define SRM_ORM_CONAKRY_PYRAMID                    (80)
#define SRM_ORM_CORDELIA                           (81)
#define SRM_ORM_CORREGO_ALEGRE                     (82)
#define SRM_ORM_CRESSIDA                           (83)
#define SRM_ORM_CYPRUS_1935                        (84)
#define SRM_ORM_DABOLA                             (85)
#define SRM_ORM_DCS3_LIGHTHOUSE                    (86)
#define SRM_ORM_DECEPTION_ISLAND                   (87)
#define SRM_ORM_DEIMOS                             (88)
#define SRM_ORM_DESDEMONA                          (89)
#define SRM_ORM_DESPINA                            (90)
#define SRM_ORM_DIONE                              (91)
#define SRM_ORM_DJAKARTA                           (92)
#define SRM_ORM_DJAKARTA_ZERO                      (93)
#define SRM_ORM_DOS_1968                           (94)
#define SRM_ORM_EARTH_INERTIAL_ARIES_1950          (95)
#define SRM_ORM_EARTH_INERTIAL_ARIES_TRUE_OF_DATE  (96)
#define SRM_ORM_EARTH_INERTIAL_J2000r0             (97)
#define SRM_ORM_EARTH_SOLAR_ECLIPTIC               (98)
#define SRM_ORM_EARTH_SOLAR_EQUATORIAL             (99)
#define SRM_ORM_EARTH_SOLAR_MAG_DIPOLE             (100)
#define SRM_ORM_EARTH_SOLAR_MAG_ECLIPTIC           (101)
#define SRM_ORM_EASTER_ISLAND_1967                 (102)
#define SRM_ORM_ELARA                              (103)
#define SRM_ORM_ENCELADUS                          (104)
#define SRM_ORM_EPIMETHEUS                         (105)
#define SRM_ORM_EROS                               (106)
#define SRM_ORM_ESTONIA_1937                       (107)
#define SRM_ORM_ETRS_1989                          (108)
#define SRM_ORM_EUR_1950_ALGERIA                   (109)
#define SRM_ORM_EUR_1950_BALEARIC_ISLANDS          (110)
#define SRM_ORM_EUR_1950_CHANNEL_ISLANDS           (111)
#define SRM_ORM_EUR_1950_CYPRUS                    (112)
#define SRM_ORM_EUR_1950_CYPRUS_7                  (113)
#define SRM_ORM_EUR_1950_DENMARK                   (114)
#define SRM_ORM_EUR_1950_EGYPT                     (115)
#define SRM_ORM_EUR_1950_GIBRALTAR                 (116)
#define SRM_ORM_EUR_1950_GREECE                    (117)
#define SRM_ORM_EUR_1950_IBERIA                    (118)
#define SRM_ORM_EUR_1950_IRAN                      (119)
#define SRM_ORM_EUR_1950_IRAQ                      (120)
#define SRM_ORM_EUR_1950_IRELAND                   (121)
#define SRM_ORM_EUR_1950_LEBANON                   (122)
#define SRM_ORM_EUR_1950_MALTA                     (123)
#define SRM_ORM_EUR_1950_MEAN_SOLUTION             (124)
#define SRM_ORM_EUR_1950_NORWAY                    (125)
#define SRM_ORM_EUR_1950_OMAN                      (126)
#define SRM_ORM_EUR_1950_PORTUGAL                  (127)
#define SRM_ORM_EUR_1950_SARDINIA                  (128)
#define SRM_ORM_EUR_1950_SCOTLAND                  (129)
#define SRM_ORM_EUR_1950_SICILY                    (130)
#define SRM_ORM_EUR_1950­_SPAIN_EXCEPT_NW           (131)
#define SRM_ORM_EUR_1950_SPAIN_NW                  (132)
#define SRM_ORM_EUR_1950_TUNISIA                   (133)
#define SRM_ORM_EUR_1950_TURKEY                    (134)
#define SRM_ORM_EUR_1950_W_EUROPE                  (135)
#define SRM_ORM_EUR_1950_YUGOSLAVIA_NORTH          (136)
#define SRM_ORM_EUR_1979                           (137)
#define SRM_ORM_EUR_1979_PORTUGAL                  (138)
#define SRM_ORM_EUROPA                             (139)
#define SRM_ORM_EUROPA_INERTIAL                    (140)
#define SRM_ORM_EUROPA_MAGNETIC                    (141)
#define SRM_ORM_FAHUD                              (142)
#define SRM_ORM_FAHUD_7                            (143)
#define SRM_ORM_FORT_THOMAS_1955                   (144)
#define SRM_ORM_GALATEA                            (145)
#define SRM_ORM_GAN_1970                           (146)
#define SRM_ORM_GANDAJIKA_BASE                     (147)
#define SRM_ORM_GANYMEDE                           (148)
#define SRM_ORM_GANYMEDE_INERTIAL                  (149)
#define SRM_ORM_GANYMEDE_MAGNETIC                  (150)
#define SRM_ORM_GASPRA                             (151)
#define SRM_ORM_GDZ80                              (152)
#define SRM_ORM_GEOCENTRIC_DATUM_AUSTRALIA         (153)
#define SRM_ORM_GEODETIC_DATUM_1949                (154)
#define SRM_ORM_GEODETIC_DATUM_1949_7              (155)
#define SRM_ORM_GEOMAGNETIC_1945                   (156)
#define SRM_ORM_GEOMAGNETIC_1950                   (157)
#define SRM_ORM_GEOMAGNETIC_1955                   (158)
#define SRM_ORM_GEOMAGNETIC_1960                   (159)
#define SRM_ORM_GEOMAGNETIC_1965                   (160)
#define SRM_ORM_GEOMAGNETIC_1970                   (161)
#define SRM_ORM_GEOMAGNETIC_1975                   (162)
#define SRM_ORM_GEOMAGNETIC_1980                   (163)
#define SRM_ORM_GEOMAGNETIC_1985                   (164)
#define SRM_ORM_GEOMAGNETIC_1990                   (165)
#define SRM_ORM_GEOMAGNETIC_1995                   (166)
#define SRM_ORM_GEOMAGNETIC_2000                   (167)
#define SRM_ORM_GRACIOSA_BASE_SW_1948              (168)
#define SRM_ORM_GREEK_DATUM                        (169)
#define SRM_ORM_GREEK_GRS_1987                     (170)
#define SRM_ORM_GUAM_1963                          (171)
#define SRM_ORM_GUNONG_SEGARA                      (172)
#define SRM_ORM_GUNONG_SERINDUNG                   (173)
#define SRM_ORM_GUX_1_ASTRO                        (174)
#define SRM_ORM_HARTEBEESTHOCK_1994                (175)
#define SRM_ORM_HELENE                             (176)
#define SRM_ORM_HELSINKI_KALLIO_CHURCH             (177)
#define SRM_ORM_HERAT_NORTH                        (178)
#define SRM_ORM_HERMANNSKOGEL                      (179)
#define SRM_ORM_HERMANNSKOGEL_7                    (180)
#define SRM_ORM_HIMALIA                            (181)
#define SRM_ORM_HJORSEY_1955                       (182)
#define SRM_ORM_HONG_KONG_1929                     (183)
#define SRM_ORM_HONG_KONG_1963                     (184)
#define SRM_ORM_HONG_KONG_1980                     (185)
#define SRM_ORM_HU_TZU_SHAN                        (186)
#define SRM_ORM_HUNGARIAN_1972                     (187)
#define SRM_ORM_HYPERION                           (188)
#define SRM_ORM_IAPETUS                            (189)
#define SRM_ORM_IDA                                (190)
#define SRM_ORM_INDIAN_1954_THAILAND               (191)
#define SRM_ORM_INDIAN_1960_CON_SON_ISLAND         (192)
#define SRM_ORM_INDIAN_1960_VIETNAM_16N            (193)
#define SRM_ORM                                    (194)
#define SRM_ORM_INDIAN_1975_THAI_1997              (195)
#define SRM_ORM_INDIAN_BANGLADESH                  (196)
#define SRM_ORM_INDIAN_BANGLADESH_7                (197)
#define SRM_ORM_INDIAN_NEPAL                       (198)
#define SRM_ORM_INDIAN_PAKISTAN                    (199)
#define SRM_ORM_INDONESIAN_1974                    (200)
#define SRM_ORM_IO                                 (201)
#define SRM_ORM_IO_INERTIAL                        (202)
#define SRM_ORM_IO_MAGNETIC                        (203)
#define SRM_ORM_IRAQ_KUWAIT_BOUNDARY_1992          (204)
#define SRM_ORM_IRELAND_1965                       (205)
#define SRM_ORM_IRELAND_1965_7                     (206)
#define SRM_ORM_ISTS_061_ASTRO_1968                (207)
#define SRM_ORM_ISTS_073_ASTRO_1969                (208)
#define SRM_ORM_JANUS                              (209)
#define SRM_ORM_JOHNSTON_ISLAND_1961               (210)
#define SRM_ORM_JULIET                             (211)
#define SRM_ORM_JUPITER                            (212)
#define SRM_ORM_JUPITER_INERTIAL                   (213)
#define SRM_ORM_JUPITER_MAGNETIC                   (214)
#define SRM_ORM_JUPITER_SOLAR_ECLIPTIC             (215)
#define SRM_ORM_JUPITER_SOLAR_EQUATORIAL           (216)
#define SRM_ORM_JUPITER_SOLAR_MAG_DIPOLE           (217)
#define SRM_ORM_JUPITER_SOLAR_MAG_ECLIPTIC         (218)
#define SRM_ORM_KALIANPUR                          (219)
#define SRM_ORM_KANDAWALA                          (220)
#define SRM_ORM_KANDAWALA_7                        (221)
#define SRM_ORM_KCS_2_SIERRA_LEONE                 (222)
#define SRM_ORM_KERGUELEN_ISLAND_1949              (223)
#define SRM_ORM_KERTAU_1948                        (224)
#define SRM_ORM_KERTAU_1948_7                      (225)
#define SRM_ORM_KKJ_FINLAND                        (226)
#define SRM_ORM_KLEOPATRA                          (227)
#define SRM_ORM_KOREAN_GEODETIC_1995               (228)
#define SRM_ORM_KUSAIE_ASTRO_1951                  (229)
#define SRM_ORM_KUWAIT_OIL_COMPANY_K28             (230)
#define SRM_ORM_LANDESVERMESSUNG_1995              (231)
#define SRM_ORM_LARISSA                            (232)
#define SRM_ORM_LC5_ASTRO_1961                     (233)
#define SRM_ORM_LEDA                               (234)
#define SRM_ORM_LEIGON                             (235)
#define SRM_ORM_LEIGON_7                           (236)
#define SRM_ORM_LIBERIA_1964                       (237)
#define SRM_ORM_LISBON_D73                         (238)
#define SRM_ORM_LKS_1994                           (239)
#define SRM_ORM_LOMO_QUINTANA                      (240)
#define SRM_ORM_LUXEMBOURG_NT                      (241)
#define SRM_ORM_LUZON_APPROXIMATE                  (242)
#define SRM_ORM_LUZON_MINDANAO_ISLAND              (243)
#define SRM_ORM_LUZON_PHILIPPINES                  (244)
#define SRM_ORM_LYSITHEA                           (245)
#define SRM_ORM_M_PORALOKO                         (246)
#define SRM_ORM_MAHE_1971                          (247)
#define SRM_ORM_MARCO_ASTRO                        (248)
#define SRM_ORM_MARS                               (249)
#define SRM_ORM_MARS_INERTIAL                      (250)
#define SRM_ORM_MARTINIQUE_FORT_DESAIX             (251)
#define SRM_ORM_MASS                               (252)
#define SRM_ORM_MASSAWA                            (253)
#define SRM_ORM_MAYOTTE_COMBANI                    (254)
#define SRM_ORM_MERCHICH                           (255)
#define SRM_ORM_MERCURY_INERTIAL                   (256)
#define SRM_ORM_MERCURY                            (257)
#define SRM_ORM_MERCURY_MAGNETIC                   (258)
#define SRM_ORM_METIS                              (259)
#define SRM_ORM_MGI_HERMANNSKOGEL                  (260)
#define SRM_ORM_MIDWAY_ASTRO_1961                  (261)
#define SRM_ORM_MIMAS                              (262)
#define SRM_ORM_MINNA_CAMEROON                     (263)
#define SRM_ORM_MINNA_NIGERIA                      (264)
#define SRM_ORM_MIRANDA                            (265)
#define SRM_ORM_MM5                                (266)
#define SRM_ORM_MODTRAN_MIDLATITUDE                (267)
#define SRM_ORM_MODTRAN_SUBARCTIC                  (268)
#define SRM_ORM_MODTRAN_TROPICAL                   (269)
#define SRM_ORM_MONTJONG_LOWE                      (270)
#define SRM_ORM_MONTSERRAT_ASTRO_1958              (271)
#define SRM_ORM_MOON                               (272)
#define SRM_ORM_MOON_INERTIAL                      (273)
#define SRM_ORM_MOUNT_DILLON                       (274)
#define SRM_ORM_MULTIGEN_FLAT_EARTH                (275)
#define SRM_ORM_N_AM_1983_ALASKA                   (276)
#define SRM_ORM_N_AM_1983_ALEUTIANS                (277)
#define SRM_ORM_N_AM_1983_CANADA                   (278)
#define SRM_ORM_N_AM_1983_CONUS                    (279)
#define SRM_ORM_N_AM_1983_HAWAII                   (280)
#define SRM_ORM_N_AM_1983_MEXICO                   (281)
#define SRM_ORM_N_SAHARA_1959                      (282)
#define SRM_ORM_NAHRWAN_MASIRAH_OMAN               (283)
#define SRM_ORM_NAHRWAN_REVISED                    (284)
#define SRM_ORM_NAHRWAN_SAUDI_ARABIA               (285)
#define SRM_ORM_NAHRWAN_UAE                        (286)
#define SRM_ORM_NAIAD                              (287)
#define SRM_ORM_NAPARIMA                           (288)
#define SRM_ORM_NEPTUNE                            (289)
#define SRM_ORM_NEPTUNE_INERTIAL                   (290)
#define SRM_ORM_NEPTUNE_MAGNETIC                   (291)
#define SRM_ORM_NEREID                             (292)
#define SRM_ORM_NEW_FRENCH                         (293)
#define SRM_ORM_NEW_FRENCH_ZERO                    (294)
#define SRM_ORM_NOGAPS                             (295)
#define SRM_ORM_NORGES_GRAENDSERS_OPPMALING_1948   (296)
#define SRM_ORM_OBERON                             (297)
#define SRM_ORM_OBSERV_METEORO_1939                (298)
#define SRM_ORM_OBSERVATARIO_MOZAMBIQUE            (299)
#define SRM_ORM_OLD_EGYPTIAN_1907                  (300)
#define SRM_ORM_OLD_HAWAIIAN_HAWAII                (301)
#define SRM_ORM_OLD_HAWAIIAN_INT_HAWAII            (302)
#define SRM_ORM_OLD_HAWAIIAN_INT_KAUAI             (303)
#define SRM_ORM_OLD_HAWAIIAN_INT_MAUI              (304)
#define SRM_ORM_OLD_HAWAIIAN_INT_MEAN_SOLUTION     (305)
#define SRM_ORM_OLD_HAWAIIAN_INT_OAHU              (306)
#define SRM_ORM_OLD_HAWAIIAN_KAUAI                 (307)
#define SRM_ORM_OLD_HAWAIIAN_MAUI                  (308)
#define SRM_ORM_OLD_HAWAIIAN_MEAN_SOLUTION         (309)
#define SRM_ORM_OLD_HAWAIIAN_OAHU                  (310)
#define SRM_ORM_OPHELIA                            (311)
#define SRM_ORM_OSGB_1936                          (312)
#define SRM_ORM_OSGB_1936_ENG_ISLE_OF_MAN          (313)
#define SRM_ORM_OSGB_1936_ENGLAND                  (314)
#define SRM_ORM_OSGB_1936_MEAN_SOLUTION            (315)
#define SRM_ORM_OSGB_1936_SCOTLAND                 (316)
#define SRM_ORM_OSGB_1936_WALES                    (317)
#define SRM_ORM_OSLO_OBS_OLD                       (318)
#define SRM_ORM_PADANG_BASE_WEST                   (319)
#define SRM_ORM_PADANG_BASE_WEST_ZERO              (320)
#define SRM_ORM_PALESTINE_1928                     (321)
#define SRM_ORM_PAN                                (322)
#define SRM_ORM_PANDORA                            (323)
#define SRM_ORM_PASIPHAE                           (324)
#define SRM_ORM_PHOBOS                             (325)
#define SRM_ORM_PHOEBE                             (326)
#define SRM_ORM_PICO_DE_LAS_NIEVES                 (327)
#define SRM_ORM_PITCAIRN_ASTRO_1967                (328)
#define SRM_ORM_PLUTO                              (329)
#define SRM_ORM_PLUTO_INERTIAL                     (330)
#define SRM_ORM_POINT_58_MEAN_SOLUTION             (331)
#define SRM_ORM_POINTE_NOIRE_1948                  (332)
#define SRM_ORM_PORTIA                             (333)
#define SRM_ORM_PORTO_SANTO_1936                   (334)
#define SRM_ORM_POTSDAM                            (335)
#define SRM_ORM_PROMETHEUS                         (336)
#define SRM_ORM_PROTEUS                            (337)
#define SRM_ORM_PROV_S_AM_BOLIVIA                  (338)
#define SRM_ORM_PROV_S_AM_COLOMBIA                 (339)
#define SRM_ORM_PROV_S_AM_ECUADOR                  (340)
#define SRM_ORM_PROV_S_AM_GUYANA                   (341)
#define SRM_ORM_PROV_S_AM_MEAN_SOLUTION            (342)
#define SRM_ORM_PROV_S_AM_N_CHILE_19S              (343)
#define SRM_ORM_PROV_S_AM_PERU                     (344)
#define SRM_ORM_PROV_S_AM_S_CHILE_43S              (345)
#define SRM_ORM_PROV_S_AM_VENEZUELA                (346)
#define SRM_ORM_PROV_S_AM_VENEZUELA_7              (347)
#define SRM_ORM_PROV_S_CHILEAN_1963                (348)
#define SRM_ORM_PUCK                               (349)
#define SRM_ORM_PUERTO_RICO                        (350)
#define SRM_ORM_PULKOVO_1942                       (351)
#define SRM_ORM_PULKOVO_1942_ESTONIA               (352)
#define SRM_ORM_PULKOVO_1942_GERMANY               (353)
#define SRM_ORM_QATAR_NATIONAL                     (354)
#define SRM_ORM_QATAR_NATIONAL_1974                (355)
#define SRM_ORM_QATAR_NATIONAL_1995                (356)
#define SRM_ORM_QORNOQ                             (357)
#define SRM_ORM_RAUENBERG                          (358)
#define SRM_ORM_RECONN_TRIANG_MOROCCO              (359)
#define SRM_ORM_REUNION_1947                       (360)
#define SRM_ORM_RGF_1993                           (361)
#define SRM_ORM_RHEA                               (362)
#define SRM_ORM_RIKETS_1990                        (363)
#define SRM_ORM_RIKETS_1990                        (364)
#define SRM_ORM_RIKETS_1990_ZERO                   (365)
#define SRM_ORM_ROME_1940                          (366)
#define SRM_ORM_ROME_1940_7                        (367)
#define SRM_ORM_ROME_1940_SARDINIA                 (368)
#define SRM_ORM_ROME_1940_SICILY                   (369)
#define SRM_ORM_ROME_1940_ZERO                     (370)
#define SRM_ORM_ROME_1940_ZERO_7                   (371)
#define SRM_ORM_ROSALIND                           (372)
#define SRM_ORM_S_AFRICAN                          (373)
#define SRM_ORM_S_AM_1969_ARGENTINA                (374)
#define SRM_ORM_S_AM_1969_BALTRA                   (375)
#define SRM_ORM_S_AM_1969_BOLIVIA                  (376)
#define SRM_ORM_S_AM_1969_BRAZIL                   (377)
#define SRM_ORM_S_AM_1969_CHILE                    (378)
#define SRM_ORM_S_AM_1969_COLOMBIA                 (379)
#define SRM_ORM_S_AM_1969_ECUADOR                  (380)
#define SRM_ORM_S_AM_1969_GUYANA                   (381)
#define SRM_ORM_S_AM_1969_MEAN_SOLUTION            (382)
#define SRM_ORM_S_AM_1969_PARAGUAY                 (383)
#define SRM_ORM_S_AM_1969_PERU                     (384)
#define SRM_ORM_S_AM_1969_TRINIDAD_TOBAGO          (385)
#define SRM_ORM_S_AM_1969_VENEZUELA                (386)
#define SRM_ORM_S_ASIA                             (387)
#define SRM_ORM_S_EAST_ISLAND                      (388)
#define SRM_ORM_S_JTSK                             (389)
#define SRM_ORM_S_JTSK_CZECH                       (390)
#define SRM_ORM_S_JTSK_SLOVAKIA                    (391)
#define SRM_ORM_S42_PULKOVO_1958                   (392)
#define SRM_ORM_S42_PULKOVO_AFGHANISTAN            (393)
#define SRM_ORM_S42_PULKOVO_ALBANIA                (394)
#define SRM_ORM_S42_PULKOVO_CZECH                  (395)
#define SRM_ORM_S42_PULKOVO_HUNGARY                (396)
#define SRM_ORM_S42_PULKOVO_KAZAKHSTAN             (397)
#define SRM_ORM_S42_PULKOVO_LATVIA                 (398)
#define SRM_ORM_S42_PULKOVO_POLAND                 (399)
#define SRM_ORM_S42_PULKOVO_ROMANIA                (400)
#define SRM_ORM_S42_PULKOVO_ROMANIA_G              (401)
#define SRM_ORM_SANTO_DOS_1965                     (402)
#define SRM_ORM_SAO_BRAZ                           (403)
#define SRM_ORM_SAPPER_HILL_1943                   (404)
#define SRM_ORM_SAPPER_HILL_1943_ADJ_2000          (405)
#define SRM_ORM_SATURN                             (406)
#define SRM_ORM_SATURN_INERTIAL                    (407)
#define SRM_ORM_SATURN_MAGNETIC                    (408)
#define SRM_ORM_SCHWARZECK                         (409)
#define SRM_ORM_SELVAGEM_GRANDE_1938               (410)
#define SRM_ORM_SIERRA_LEONE_1960                  (411)
#define SRM_ORM_SINOPE                             (412)
#define SRM_ORM_SIRGAS                             (413)
#define SRM_ORM_SOVIET_GEODETIC_1985               (414)
#define SRM_ORM_SOVIET_GEODETIC_1990               (415)
#define SRM_ORM_ST_PIERRE_ET_MIQUELON_1950         (416)
#define SRM_ORM_STOCKHOLM_1938                     (417)
#define SRM_ORM_SUN                                (418)
#define SRM_ORM_SYCORAX                            (419)
#define SRM_ORM_SYDNEY_OBSERVATORY                 (420)
#define SRM_ORM_TANANARIVE_OBS                     (421)
#define SRM_ORM_TANANARIVE_OBS_7                   (422)
#define SRM_ORM_TANANARIVE_OBS_ZERO                (423)
#define SRM_ORM_TANANARIVE_OBS_ZERO_7              (424)
#define SRM_ORM_TELESTO                            (425)
#define SRM_ORM_TETE_MOZAMBIQUE                    (426)
#define SRM_ORM_TETHYS                             (427)
#define SRM_ORM_THALASSA                           (428)
#define SRM_ORM_THEBE                              (429)
#define SRM_ORM_TIMBALAI_1948                      (430)
#define SRM_ORM_TIMBALAI_1948_BESSEL               (431)
#define SRM_ORM_TIMBALAI_1948_EVEREST              (432)
#define SRM_ORM_TIMBALAI_1968_ADJ_1948             (433)
#define SRM_ORM_TIMBALAI_1968_ADJ_1948_EVEREST     (434)
#define SRM_ORM_TITAN                              (435)
#define SRM_ORM_TITANIA                            (436)
#define SRM_ORM_TOKYO_JAPAN                        (437)
#define SRM_ORM_TOKYO_KOREA_1997                   (438)
#define SRM_ORM_TOKYO_MEAN_SOLUTION                (439)
#define SRM_ORM_TOKYO_OKINAWA                      (440)
#define SRM_ORM_TRINIDAD_1903                      (441)
#define SRM_ORM_TRISTAN_ASTRO_1968                 (442)
#define SRM_ORM_TRITON                             (443)
#define SRM_ORM_UMBRIEL                            (444)
#define SRM_ORM_URANUS                             (445)
#define SRM_ORM_URANUS_INERTIAL                    (446)
#define SRM_ORM_URANUS_MAGNETIC                    (447)
#define SRM_ORM_VENUS                              (448)
#define SRM_ORM_VENUS_INERTIAL                     (449)
#define SRM_ORM_VITI_LEVU_1916                     (450)
#define SRM_ORM_VOIROL_1874                        (451)
#define SRM_ORM_VOIROL_1874_ZERO                   (452)
#define SRM_ORM_VOIROL_1960_ALGERIA                (453)
#define SRM_ORM_VOIROL_1960_ZERO_ALGERIA           (454)
#define SRM_ORM_WAKE_ENIWETOK_1960                 (455)
#define SRM_ORM_WAKE_ISLAND_ASTRO_1952             (456)
#define SRM_ORM_WGS_1972                           (457)
#define SRM_ORM_WGS_1984                           (458)
#define SRM_ORM_YACARE_URUGUAY                     (459)
#define SRM_ORM_ZANDERIJ_SURINAME                  (460)

5.2.4.3 SRM_SRF

SRM Data Type:  SRF

typedef SRM_Short_Integer SRM_SRF;

#define SRM_SRFT_CELESTIOCENTRIC                         (1)
#define SRM_SRFT_3D_LOCAL_SPACE_RECTANGULAR              (2)
#define SRM_SRFT_2D_LOCAL_SPACE_RECTANGULAR              (3)
#define SRM_SRFT_CELESTIODETIC                           (4)
#define SRM_SRFT_3D_LOCAL_TANGENT_PLANE                  (5)
#define SRM_SRFT_LOCAL_AZIMUTHAL_SPHERICAL_TANGENT_PLANE (6)
#define SRM_SRFT_SURFACE_LOCAL_AZIMUTHAL_TANGENT_PLANE   (7)
#define SRM_SRFT_2D_AZIMUTHAL                            (8)
#define SRM_SRFT_LOCAL_CYLINDRICAL_TANGENT_PLANE         (9)
#define SRM_SRFT_2D_POLAR                                (10)
#define SRM_SRFT_CELESTIOMAGNETIC                        (11)
#define SRM_SRFT_EQUATORIAL_INERTIAL                     (12)
#define SRM_SRFT_SOLAR_ECLIPTIC                          (13)
#define SRM_SRFT_SOLAR_EQUITORIAL                        (14)
#define SRM_SRFT_SOLAR_MAGETOSPHERIC                     (15)
#define SRM_SRFT_SOLAR_MAGNETIC                          (16)
#define SRM_SRFT_HELIOSPHERIC_ARIES_ECLIPTIC             (17)
#define SRM_SRFT_HELIOSPHERIC_EARTH_ECLIPTIC             (18)
#define SRM_SRFT_HELIOSPHERIC_EARTH_EQUATORIAL           (19)
#define SRM_SRFT_MERCATOR                                (20)
#define SRM_SRFT_OBLIQUE_MERCATOR                        (21)
#define SRM_SRFT_TRANSVERSE_MERCATOR                     (22)
#define SRM_SRFT_LAMBERT_CONFORMAL_CONIC                 (23)
#define SRM_SRFT_POLAR_STEREOGRAPHIC                     (24)
#define SRM_SRFT_EQUIDISTANT_CYLINDRICAL                 (25)
#define SRM_SRF_BRITISH_NATIONAL_GRID                    (26)
#define SRM_SRF_ALABAMA_SPCS                             (27)
#define SRM_SRFS_UNIVERSAL_TRANSVERSE_MERCATOR           (28)
#define SRM_SRFS_GTRS_GLOBAL_COORDINATE_SYSTEM           (29)

5.2.4.4 SRM_Status_Code

SRM Data Type:  Status_Code

typedef SRM_Short_Integer SRM_Status_Code;

#define SRM_STSC_SUCCESS                               (1)
#define SRM_STSC_INVALID_SRF                           (2)
#define SRM_STSC_INVALID_TARGET_SRF                    (3)
#define SRM_STSC_INVALID_SOURCE_COORDINATE             (4)
#define SRM_STSC_EXTENDED_SOURCE_COORDINATE            (5)
#define SRM_STSC_EXTENDED_DESTINATION                  (6)
#define SRM_STSC_OPERATION_UNSUPPORTED                 (7)
#define SRM_STSC_INVALID_SOURCE_DIRECTION              (8)
#define SRM_STSC_INVALID_INPUT                         (9)
#define SRM_STSC_CREATION_FAILURE                      (10)
#define SRM_STSC_DESTRUCTION_FAILURE                   (11)

5.2.4.5 SRM_Vertical_Offset_Surface

SRM Data Type:  Vertical_Offset_Surface

typedef SRM_Short_Integer  SRM_Vertical_Offset_Surface;

#define SRM_VOS_EGM96_GEOID         (1)
#define SRM_VOS_IGLD_19555          (2)
#define SRM_VOS_MSL                 (3)
#define SRM_VOS_NAVD_1988           (4)
#define SRM_VOS_NGVD_1929           (5)
#define SRM_VOS_OSGM_2002           (6)
#define SRM_VOS_WGS84_GEOID         (7)

5.2.5 Structured data types

5.2.5.1 Introduction

SRM record data types are mapped to C struct data types. Such data types may be either invariant or variant. SRM invariant structured data types are mapped directly to C struct data types. SRM variant data types are mapped to a C struct data type containing an enumerated or selection data type and a union data type. The enumerated or selection data type indicates which option within the C union data type defines the structure of the data.

The following data types are defined by this binding. The data types are listed alphabetically.

5.2.5.2 SRM_Simple_ORM_Parameters

SRM Data Type:  Simple_ORM_Parameters

typedef struct {

SRM_ORM     orm;

} SRM_Simple_ORM_Parameters;

5.2.5.3 LSR_3D_Parameters

SRM Data Type:  LSR_3D_Parameters

typedef struct {

SRM_ORM                    orm;

SRM_Direction_Of_Up        up_direction;

SRM_Direction_Of_Forward   forward_direction;

} SRM_LSR_3D_Parameters;

5.2.5.4 LSR_2D_Parameters

SRM Data Type:  LSR_2D_Parameters

typedef struct {

SRM_ORM                    orm;

SRM_Direction_Of_Forward   forward_direction;

} SRM_LSR_2D_Parameters;

5.2.5.5 SRM_LTP_Parameters

SRM Data Type:  LTP_Parameters

typedef struct {

SRM_ORM         orm;

SRM_Long­_Float  geodetic_longitude;

SRM_Long_Float  geodetic_latitude;

SRM_Long_Float  azimuth;

SRM_Long_Float  x_false_origin;

SRM_Long_Float  y_false_origin;

SRM_Long_Float  height_offset;

} SRM_LTP_Parameters;

5.2.5.6 SRM_ATP_Parameters

SRM Data Type:  ATP_Parameters

typedef struct {

SRM_ORM         orm

SRM_Long_Float  geodetic_longitude;

SRM_Long_Float  geodetic_latitude;

SRM_Long_Float  azimuth;

SRM_Long_Float  height_offset;

} SRM_ATP_Parameters;

5.2.5.7 SRM_Mercator_Parameters

SRM Data Type:  Mercator_Parameters

typedef struct {

SRM_ORM                 orm;

SRM_Long_Float          origin_longitude;

SRM_Long_Float          standard_latitude;

SRM_Long_Float          central_scale;

SRM_Long_Float          false_easting;

SRM_Long_Float          false_northing;

} SRM_Mercator_Parameters;

5.2.5.8 SRM_OM_Parameters

SRM Data Type:  OM_Parameters

typedef struct {

SRM_ORM                 orm;

SRM_Long_Float          false_easting;

SRM_Long_Float          false_northing;

SRM_Long_Float          central_scale_factor;

} SRM_OM_Parameters;

5.2.5.9 SRM_LCC_Parameters

SRM Data Type:  LCC_Parameters

typedef struct {

SRM_ORM        orm;

SRM_Long_Float origin_longitude;

SRM_Long_Float north_parallel_geodetic_latitude;

SRM_Long_Float south_parallel_geodetic_latitude;

SRM_Long_Float false_longitude;

SRM_Long_Float false_latitude;

SRM_Long_Float false_easting;

SRM_Long_Float false_northing;

} SRM_LCC_Parameters;

5.2.5.10 SRM_PS_Parameters

SRM Data Type:  PS_Parameters

typedef struct {

SRM_ORM        orm;

SRM_Long_Float origin_longitude;

SRM_Long_Float standard_latitude;

SRM_Long_Float central_scale_factor;

SRM_Long_Float false_easting;

SRM_Long_Float false_northing;

} SRM_PS_Parameters;

5.2.5.11 SRM_EC_Parameters

SRM Data Type:  EC_Parameters

typedef struct {

SRM_ORM          orm;

SRM_Long_Float   origin_longitude;

SRM_Long_Float   standard_latitude;

SRM_Long_Float   central_scale_factor;

SRM_Long_Float   false_easting;

SRM_Long_Float   false_northing;

} SRM_EC_Parameters;

5.2.5.12 SRM_UTM_Parameters

SRM Data Type:  UTM_Parameters

typedef struct {

SRM_ORM         orm;

SRM_Byte        zone;

SRM_Long_Float  false_easting;

SRM_Long_Float  false_northing;

} SRM_UTM_Parameters;

5.2.5.13 SRM_GCS_Parameters

SRM Data Type:  GCS_Parameters

typedef struct {

SRM_ORM                     orm;

SRM_Short_Integer_Unsigned  tile;

SRM_Long_Float              false_easting;

SRM_Long_Float              false_northing;

} SRM_GCS_Parameters;

5.2.5.14 SRM_2D_Cartesian_Coordinate

SRM Data Type:  2D_Cartesian_Coordinate

typedef struct {

SRM_Long_Float x;

SRM_Long_Float y;

} SRM_2D_Cartesian_Coordinate;

5.2.5.15 SRM_3D_Cartesian_Coordinate

SRM Data Type:  3D_Cartesian_Coordinate

typedef struct {

SRM_Long_Float x;

SRM_Long_Float y;

SRM_Long_Float z;

} SRM_3D_Cartesian_Coordinate;

5.2.5.16 SRM_2D_Spherical_Coordinate

SRM Data Type:  2D_Spherical_Coordinate

typedef struct {

SRM_Long_Float geodetic_longitude;

SRM_Long_Float geodetic_latitude;

} SRM_2D_Spherical_Coordinate;

5.2.5.17 SRM_3D_Spherical_Coordinate

SRM Data Type:  3D_Spherical_Coordinate

typedef struct {

SRM_Long_Float geodetic_longitude;

SRM_Long_Float geodetic_latitude;

SRM_Long_Float elevation;

} SRM_3D_Spherical_Coordinate;

5.2.5.18 SRM_3D_Inertial_Coordinate

SRM Data Type:  3D_Inertial_Coordinate

typedef struct {

SRM_Long_Float  right_ascension;

SRM_Long_Float  declination;

SRM_Long_Float  radius;

} SRM_3D_Inertial_Coordinate;

5.2.5.19 SRM_3D_GM_Coordinate

SRM Data Type:  3D_GM_Coordinate

typedef struct {

SRM_Long_Float geomagnetic_longitude;

SRM_Long_Float geomagnetic_latitude;

SRM_Long_Float radius;

} SRM_3D_GM_Coordinate;

5.2.5.20 SRM_3D_GC_Coordinate

SRM Data Type:  3D_GC_Coordinate

typedef struct {

SRM_Long_Float  longitude;

SRM_Long_Float  latitude;

SRM_Long_Float  radius;

} SRM_3D_GC_Coordinate;

5.2.5.21 SRM_2D_GD_Coordinate

SRM Data Type:  2D_GD_Coordinate

typedef struct {

SRM_Long_Float  longitude;

SRM_Long_Float  latitude;

} SRM_2D_GD_Coordinate;

5.3 Objects

5.3.1 Introduction

Object types defined in ISO/IEC 18026 are mapped to C struct data types comprised of fields that specify the parameters for the object type and fields that specify pointers to the methods available for that object type. The method pointers are mapped to pointers to function types that define the interfaces for the methods. In the following text, the method signatures are defined first followed by the interfaces of the abstract object types.

Concrete object types all inherit the interface specified by the ObjectLifeCycle abstract object type. They may also inherit interfaces from other abstract object types as specified in ISO/IEC 18026. The methods associated with these inherited interfaces are listed first in the object interface in the order specified in ISO/IEC 18026. These are followed by any additional methods defined for the concrete object type.

5.3.2 Method signatures

5.3.2.1 Overview

The method signatures specified in ISO/IEC 18026 are mapped to function prototypes in this part of ISO/IEC 18042.

5.3.2.2 SRM_Create3DCoordinate

SRM Data Type:  Create3DCoordinate

typedef SRM_Status_Code SRM_Create3DCoordinate(

SRM_Long_Float               first_coordinate_component;

SRM_Long_Float               second_coordinate_component;

SRM_Long_Float               third_coordinate_component;

SRM_3D_Coordinate_Reference  *coordinate;

);

5.3.2.3 SRM_CreateDirection

SRM Data Type:  CreateDirection

typedef SRM_Status_Code SRM_CreateDirection(

SRM_SRF_Object_Reference     source_srf;

SRM_3D_Coordinate_Reference  source_coordinate;

SRM_Long_Float               first_direction_component;

SRM_Long_Float               second_direction_component;

SRM_Long_Float               third_direction_component;

SRM_Direction_Reference      *direction_out;

);

5.3.2.4 SRM_GetCoordinate3DValues

SRM Data Type:  GetCoordinate3DValues

typedef SRM_Status_Code SRM_GetCoordinate3DValues(

SRM_SRF_Object_Reference     source_srf;

SRM_3D_Coordinate_Reference  coordinate;

SRM_Long_Float               *first_coordinate_component;

SRM_Long_Float               *second_coordinate_component;

SRM_Long_Float               *third_coordinate_component;

);

5.3.2.5 SRM_GetDirectionValues

SRM Data Type:  GetDirectionValues

typedef SRM_Status_Code SRM_GetDirectionValues(

SRM_SRF_Object_Reference  source_srf;

SRM_Direction_Reference   direction;

SRM_Long_Float            *first_direction_component;

SRM_Long_Float            *second_direction_component;

SRM_Long_Float            *third_direction_component;

);

5.3.2.6 SRM_ChangeCoordinate3DSRF

SRM Data Type:  ChangeCoordinate3DSRF

typedef SRM_Status_Code SRM_ChangeCoordinate3DSRF(

SRM_SRF_Object_Reference     source_srf;

SRM_3D_Coordinate_Reference  source_coordinate;

SRM_SRF_Object_Reference     *target_srf;

SRM_3D_Coordinate_Reference  *target_coordinate;

);

5.3.2.7 SRM_ChangeDirectionSRF

SRM Data Type:  ChangeDirectionSRF

typedef SRM_Status_Code SRM_ChangeDirectionSRF(

SRM_SRF_Object        source_srf;

SRM_Object_Reference  source_direction;

SRM_SRF_Object        *target_srf;

SRM_Object_Reference  *target_direction;

);

5.3.2.8 SRM_Create2DCoordinate

SRM Data Type:  Create2DCoordinate

typedef SRM_Status_Code SRM_Create2DCoordinate(

SRM_Long_Float               first_coordinate_component;

SRM_Long_Float               second_coordinate_component;

SRM_2D_Coordiante_Reference  *coordinate;

);

5.3.2.9 SRM_GetCoordinate2DValues

SRM Data Type:  GetCoordinate2DValues

typedef SRM_Status_Code SRM_GetCoordinate2DValues(

SRM_SRF_Object_Reference     source_srf;

SRM_2D_Coordinate_Reference  coordinate;

SRM_Long_Float               *first_coordinate_component;

SRM_Long_Float               *second_coordinate_component;

);

5.3.2.10 SRM_ChangeCoordinate2DSRF

SRM Data Type:  ChangeCoordinate2DSRF

typedef SRM_Status_Code SRM_ChangeCoordinate2DSRF(

SRM_SRF_Object_Reference     source_srf;

SRM_2D_Coordinate_Reference  source_coordinate;

SRM_SRF_Object_Reference     *target_srf;

SRM_2D_Coordinate_Reference  *target_coordinate;

);

5.3.2.11 SRM_Free2DCoordinate

SRM Data Type:  Free2DCoordinate

typedef SRM_Status_Code SRM_Free2DCoordinate(

SRM_2D_Coordinate_Reference  coordinate_in;

);

5.3.2.12 SRM_CreateSurfaceCoordinate

SRM Data Type:  CreateSurfaceCoordinate

typedef SRM_Status_Code SRM_CreateSurfaceCoordinate(

SRM_SRF_Object_Reference          source_srf;

SRM_Long_Float                    first_coordinate_component;

SRM_Long_Float                    second_coordinate_component;

SRM_Surface_Coordinate_Reference  *new_coordinate;

);

5.3.2.13 SRM_GetSurfaceCoordinateValues

SRM Data Type:  GetSurfaceCoordinateValues

typedef SRM_Status_Code SRM_GetSurfaceCoordinateValues(

SRM_SRF_Object_Reference          source_srf;

SRM_Surface_Coordinate_Reference  coordinate;

SRM_Long_Float                    *first_coordinate_component;

SRM_Long_Float                    *second_coordinate_component;

);

5.3.2.14 SRM_AssociatedSurfaceCoordinate

SRM Data Type:  AssociatedSurfaceCoordinate

typedef SRM_Status_Code SRM_AssociatedSurfaceCoordinate (

SRM_SRF_Object_Reference          source_srf;

SRM_3D_Coordinate_Reference       coordinate;

SRM_Surface_Coordinate_Reference  *surface_coordinate;

);

5.3.2.15 SRM_PromoteSurfaceCoordinate

SRM Data Type:  PromoteSurfaceCoordinate

typedef SRM_Status_Code SRM_PromoteSurfaceCoordinate (

SRM_SRF_Object_Reference          source_srf;

SRM_Surface_Coordinate_Reference  surface_coordinate;

SRM_3D_Coordinate_Reference       *coordinate_on_the_surface;

);

5.3.2.16 SRM_CreateLocalTangentPlaneSRF

SRM Data Type:  CreateLocalTangentPlaneSRF

typedef SRM_Status_Code SRM_CreateLocalTangentPlaneSRF (

SRM_SRF_Object_Reference          source_srf;

SRM_Surface_Coordinate_Reference  surface_coordinate;

SRM_Long_Float                    azimuth;

SRM_Long_Float                    false_x_origin;

SRM_Long_Float                    false_y_origin;

SRM_Long_Float                    offset_height;

SRM_SRF_Object_Reference          new_local_tangent_plane_SRF

);

5.3.2.17 SRM_Create

SRM Data Type:  Create (from LifeCycleObject)

typedef SRM_Status_Code SRM_Create (

SRM_Object_Reference              *objRef;

);

5.3.2.18 SRM_Create_Celestiocentric

SRM Data Type:  Create (from Celestiocentric)

typedef SRM_Status_Code SRM_CreateCelestiocentric (

SRM_ORM                           orm;

SRM_SRF_Object_Reference          *new_srf;

);

5.3.2.19 SRM_GetSRFParametersCelestiocentric

SRM Data Type:  GetSRFParameters (from Celestiocentric)

typedef SRM_Status_Code SRM_GetSRFParametersCelestiocentric (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

);

5.3.2.20 SRM_Create3DLocalSpaceRectangular

SRM Data Type:  Create (from 3DLocalSpaceRectangular)

typedef SRM_Status_Code SRM_Create3DLocalSpaceRectangular (

SRM_Direction_Of_Up               up_direction;

SRM_Direction_Of_Forward          forward_direction;

SRM_SRF_Object_Reference          *new_srf;

);

5.3.2.21 SRM_GetSRFParameters3DLocalSpaceRectangular

SRM Data Type:  GetSRFParameters (from 3DLocalSpaceRectangular)

typedef SRM_Status_Code SRM_GetSRFParameters3DLocalSpaceRectangular (

SRM_SRF_Object_Reference  source_SRF;

SRM_Direction_Of_Up       *up_direction;

SRM_Direction_Of_Forward  *forward_direction;

);

5.3.2.22 SRM_Create2DLocalSpaceRectangular

SRM Data Type:  Create (from 2DLocalSpaceRectangular)

typedef SRM_Status_Code SRM_Create2DLocalSpaceRectangular (

SRM_Direction_Of_Forward  forward_direction;

SRM_SRF                   *new_srf;

);

5.3.2.23 SRM_GetSRFParameters2DLocalSpaceRectangular

SRM Data Type:  GetSRFParameters (from 2DLocalSpaceRectangular)

typedef SRM_Status_Code SRM_GetSRFParameters2DLocalSpaceRectangular (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

);

5.3.2.24 SRM_CreateCelestiodetic

SRM Data Type:  Create (from Celestiodetic)

typedef SRM_Status_Code SRM_CreateCelestiodetic (

SRM_ORM                   orm;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.25 SRM_GetSRFParametersCelestiodetic

SRM Data Type:  GetSRFParameters (from Celestiodetic)

typedef SRM_Status_Code SRM_GetSRFParametersCelestiodetic (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

);

5.3.2.26 SRM_Create3DLocalTangentPlane

SRM Data Type:  Create (from 3DLocalTangentPlane)

typedef SRM_Status_Code SRM_Create3DLocalTangentPlane (

SRM_ORM                   orm;

SRM_Long_Float            geodetic_longitude;

SRM_Long_Float            geodetic_latitude;

SRM_Long_Float            azimuth;

SRM_Long_Float            x_false_origin;

SRM_Long_Float            y_false_origin;

SRM_Long_Float            height_offset;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.27 SRM_GetSRFParameters3DLocalTangentPlane

SRM Data Type:  GetSRFParameters (from 3DLocalTangentPlane)

typedef SRM_Status_Code SRM_GetSRFParameters3DLocalTangentPlane (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

SRM_Long_Float            *geodetic_longitude;

SRM_Long_Float            *geodetic_latitude;

SRM_Long_Float            *azimuth;

SRM_Long_Float            *x_false_origin;

SRM_Long_Float            *y_false_origin;

SRM_Long_Float            *height_offset;

);

5.3.2.28 SRM_CreateLocalAzimuthalSphericalTangentPlane

SRM Data Type:  Create (from LocalAzimuthalSphericalTangentPlane)

typedef SRM_Status_Code SRM_CreateLocalAzimuthalSphericalTangentPlane (

SRM_ORM                   orm;

SRM_Long_Float            geodetic_longitude;

SRM_Long_Float            geodetic_latitude;

SRM_Long_Float            azimuth;

SRM_Long_Float            height_offset;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.29 SRM_GetSRFParametersLocalAzimuthalSphericalTangentPlane

SRM Data Type:  GetSRFParameters (from LocalAzimuthalSphericalTangentPlane)

typedef SRM_Status_Code SRM_GetSRFParametersLocalAzimuthalSphericalTangentPlane (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

SRM_Long_Float            *geodetic_longitude;

SRM_Long_Float            *geodetic_latitude;

SRM_Long_Float            *azimuth;

SRM_Long_Float            *height_offset;

);

5.3.2.30 SRM_CreateSurfaceLocalAzimuthalTangentPlane

SRM Data Type:  Create (from SurfaceLocalAzimuthalTangentPlane)

typedef SRM_Status_Code SRM_CreateSurfaceLocalAzimuthalTangentPlane (

SRM_ORM                   orm;

SRM_Long_Float            geodetic_longitude;

SRM_Long_Float            geodetic_latitude;

SRM_Long_Float            azimuth;

SRM_Long_Float            height_offset;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.31 SRM_GetSRFParametersSurfaceLocalAzimuthalTangentPlane

SRM Data Type:  GetSRFParameters (from SurfaceLocalAzimuthalTangentPlane)

typedef SRM_Status_Code
  SRM_GetSRFParametersSurfaceLocalAzimuthalTangentPlane (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

SRM_Long_Float            *geodetic_longitude;

SRM_Long_Float            *geodetic_latitude;

SRM_Long_Float            *azimuth;

SRM_Long_Float            *height_offset;

);

5.3.2.32 SRM_Create2DAzimuthal

SRM Data Type:  Create (from 2DAzimuthal)

typedef SRM_Status_Code SRM_Create2DAzimuthal (

SRM_ORM                   orm;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.33 SRM_GetSRFParameters2DAzimuthal

SRM Data Type:  GetSRFParameters (from 2DAzimuthal)

typedef SRM_Status_Code SRM_GetSRFParameters2DAzimuthal (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

);

5.3.2.34 SRM_CreateLocalCylindricalTangentPlane

SRM Data Type:  Create (from LocalCylindricalTangentPlane)

typedef SRM_Status_Code SRM_CreateLocalCylindricalTangentPlane (

SRM_ORM                   orm;

SRM_Long_Float            geodetic_longitude;

SRM_Long_Float            geodetic_latitude;

SRM_Long_Float            azimuth;

SRM_Long_Float            height_offset;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.35 SRM_GetSRFParametersLocalCylindricalTangentPlane

SRM Data Type:  GetSRFParameters (from LocalCylindricalTangentPlane)

typedef SRM_Status_Code SRM_GetSRFParametersLocalCylindricalTangentPlane (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

SRM_Long_Float            *geodetic_longitude;

SRM_Long_Float            *geodetic_latitude;

SRM_Long_Float            *azimuth;

SRM_Long_Float            *height_offset;

);

5.3.2.36 SRM_Create2DPolar

SRM Data Type:  Create (from 2DPolar)

typedef SRM_Status_Code SRM_Create2DPolar (

SRM_ORM                   orm;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.37 SRM_GetSRFParameters2DPolar

SRM Data Type:  GetSRFParameters (from 2DPolar)

typedef SRM_Status_Code
  SRM_GetSRFParameters2DPolar (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

);

5.3.2.38 SRM_CreateCelestiomagnetic

SRM Data Type:  Create (from Celestiomagnetic)

typedef SRM_Status_Code SRM_CreateCelestiomagnetic (

SRM_ORM                   orm;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.39 SRM_GetSRFParametersCelestiomagnetic

SRM Data Type:  GetSRFParameters (from Celestiomagnetic)

typedef SRM_Status_Code SRM_GetSRFParametersCelestiomagnetic (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

);

5.3.2.40 SRM_CreateEquatorialInertial

SRM Data Type:  Create (from EquatorialInertial)

typedef SRM_Status_Code SRM_CreateEquatorialInertial (

SRM_ORM                   orm;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.41 SRM_GetSRFParametersEquatorialInertial

SRM Data Type:  GetSRFParameters (from EquatorialInertial)

typedef SRM_Status_Code SRM_GetSRFParametersEquatorialInertial (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

);

5.3.2.42 SRM_CreateSolarEcliptic

SRM Data Type:  Create (from SolarEcliptic)

typedef SRM_Status_Code SRM_CreateSolarEcliptic (

SRM_ORM                   orm;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.43 SRM_GetSRFParametersSolarEcliptic

SRM Data Type:  GetSRFParameters (from SolarEcliptic)

typedef SRM_Status_Code SRM_GetSRFParametersSolarEcliptic (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

);

5.3.2.44 SRM_CreateSolarEquatorial

SRM Data Type:  Create (from SolarEquatorial)

typedef SRM_Status_Code SRM_CreateSolarEquatorial (

SRM_ORM                   orm;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.45 SRM_GetSRFParametersSolarEquatorial

SRM Data Type:  GetSRFParameters (from SolarEquatorial)

typedef SRM_Status_Code SRM_GetSRFParametersSolarEquatorial (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

);

5.3.2.46 SRM_CreateSolarMagnetospheric

SRM Data Type:  Create (from SolarMagnetospheric)

typedef SRM_Status_Code SRM_CreateSolarMagnetospheric (

SRM_ORM                   orm;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.47 SRM_GetSRFParametersSolarMagnetospheric

SRM Data Type:  GetSRFParameters (from SolarMagnetospheric)

typedef SRM_Status_Code SRM_GetSRFParametersSolarMagnetospheric (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

);

5.3.2.48 SRM_CreateSolarMagnetic

SRM Data Type:  Create (from SolarMagnetic)

typedef SRM_Status_Code SRM_CreateSolarMagnetic (

SRM_ORM                   orm;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.49 SRM_GetSRFParametersSolarMagnetic

SRM Data Type:  GetSRFParameters (from SolarMagnetic)

typedef SRM_Status_Code SRM_GetSRFParametersSolarMagnetic (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

);

5.3.2.50 SRM_CreateSolarHeliosphericAriesEcliptic

SRM Data Type:  Create (from SolarHeliosphericAriesEcliptic)

typedef SRM_Status_Code SRM_CreateSolarHeliosphericAriesEcliptic (

SRM_ORM                   orm;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.51 SRM_GetSRFParametersSolarHeliosphericAriesEcliptic

SRM Data Type:  GetSRFParameters (from SolarHeliosphericAriesEcliptic)

typedef SRM_Status_Code SRM_GetSRFParametersSolarHeliosphericAriesEcliptic (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

);

5.3.2.52 SRM_CreateSolarHeliosphericEarthEcliptic

SRM Data Type:  Create (from SolarHeliosphericEarthEcliptic)

typedef SRM_Status_Code SRM_CreateSolarHeliosphericEarthEcliptic (

SRM_ORM                   orm;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.53 SRM_GetSRFParametersSolarHeliosphericEarthEcliptic

SRM Data Type:  GetSRFParameters (from SolarHeliosphericEarthEcliptic)

typedef SRM_Status_Code SRM_GetSRFParametersSolarHeliosphericEarthEcliptic (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

);

5.3.2.54 SRM_CreateSolarHeliosphericEarthEquatorial

SRM Data Type:  Create (from SolarHeliosphericEarthEquatorial)

typedef SRM_Status_Code SRM_CreateSolarHeliosphericEarthEquatorial (

SRM_ORM                   orm;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.55 SRM_GetSRFParametersSolarHeliosphericEarthEquatorial

SRM Data Type:  GetSRFParameters (from SolarHeliosphericEarthEquatorial)

typedef SRM_Status_Code SRM_GetSRFParametersSolarHeliosphericEarthEquatorial (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

);

5.3.2.56 SRM_CreateMercator

SRM Data Type:  Create (from Mercator)

typedef SRM_Status_Code SRM_CreateMercator (

SRM_ORM                   orm;

SRM_Long_Float            origin_longitude;

SRM_Long_Float            standard_latitude;

SRM_Long_Float            central_scale;

SRM_Long_Float            false_easting;

SRM_Long_Float            false_northing;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.57 SRM_GetSRFParametersMercator

SRM Data Type:  GetSRFParameters (from Mercator)

typedef SRM_Status_Code SRM_GetSRFParametersMercator (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

SRM_Long_Float            *origin_longitude;

SRM_Long_Float            *standard_latitude;

SRM_Long_Float            *central_scale;

SRM_Long_Float            *false_easting;

SRM_Long_Float            *false_northing;

);

5.3.2.58 SRM_CreateObliqueMercator

SRM Data Type:  Create (from ObliqueMercator)

typedef SRM_Status_Code SRM_CreateObliqueMercator (

SRM_ORM                   orm;

SRM_Long_Float            central_scale_factor;

SRM_Long_Float            false_easting;

SRM_Long_Float            false_northing;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.59 SRM_GetSRFParametersObliqueMercator

SRM Data Type:  GetSRFParameters (from ObliqueMercator)

typedef SRM_Status_Code SRM_GetSRFParametersObliqueMercator (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

SRM_Long_Float            *central_scale_factor;

SRM_Long_Float            *false_easting;

SRM_Long_Float            *false_northing;

);

5.3.2.60 SRM_CreateTransverseMercator

SRM Data Type:  Create (from TransverseMercator)

typedef SRM_Status_Code SRM_CreateTransverseMercator (

SRM_ORM                   orm;

SRM_Long_Float            origin_longitude;

SRM_Long_Float            standard_latitude;

SRM_Long_Float            central_scale;

SRM_Long_Float            false_easting;

SRM_Long_Float            false_northing;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.61 SRM_GetSRFParametersTransverseMercator

SRM Data Type:  GetSRFParameters (from TransverseMercator)

typedef SRM_Status_Code SRM_GetSRFParametersTransverseMercator (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

SRM_Long_Float            *origin_longitude;

SRM_Long_Float            *standard_latitude;

SRM_Long_Float            *central_scale;

SRM_Long_Float            *false_easting;

SRM_Long_Float            *false_northing;

);

5.3.2.62 SRM_CreateLambertConformalConic

SRM Data Type:  Create (from LambertConformalConic)

typedef SRM_Status_Code SRM_CreateLambertConformalConic (

SRM_ORM                   orm;

SRM_Long_Float            origin_longitude;

SRM_Long_Float            north_parallel_geodetic_latitude;

SRM_Long_Float            north_parallel_geodetic_longitude;

SRM_Long_Float            false_longitude;

SRM_Long_Float            false_latitude;

SRM_Long_Float            false_easting;

SRM_Long_Float            false_northing;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.63 SRM_GetSRFParametersLambertConformalConic

SRM Data Type:  GetSRFParameters (from LambertConformalConic)

typedef SRM_Status_Code SRM_GetSRFParametersLambertConformalConic (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

SRM_Long_Float            *origin_longitude;

SRM_Long_Float            *north_parallel_geodetic_latitude;

SRM_Long_Float            *north_parallel_geodetic_longitude;

SRM_Long_Float            *false_longitude;

SRM_Long_Float            *false_latitude;

SRM_Long_Float            *false_easting;

SRM_Long_Float            *false_northing;

);

5.3.2.64 SRM_CreatePolarStereographic

SRM Data Type:  Create (from PolarStereographic)

typedef SRM_Status_Code SRM_CreatePolarStereographic (

SRM_ORM                   orm;

SRM_Long_Float            origin_longitude;

SRM_Long_Float            central_scale_factor;

SRM_Long_Float            false_easting;

SRM_Long_Float            false_northing;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.65 SRM_GetSRFParametersPolarStereographic

SRM Data Type:  GetSRFParameters (from PolarStereographic)

typedef SRM_Status_Code SRM_GetSRFParametersPolarStereographic (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

SRM_Long_Float            *origin_longitude;

SRM_Long_Float            *central_scale_factor;

SRM_Long_Float            *false_easting;

SRM_Long_Float            *false_northing;

);

5.3.2.66 SRM_CreateEquidistantCylindrical

SRM Data Type:  Create (from EquidistantCylindrical)

typedef SRM_Status_Code SRM_CreateEquidistantCylindrical (

SRM_ORM                   orm;

SRM_Long_Float            origin_longitude;

SRM_Long_Float            standard_latitude;

SRM_Long_Float            central_scale_factor;

SRM_Long_Float            false_easting;

SRM_Long_Float            false_northing;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.67 SRM_GetSRFParametersEquidistantCylindrical

SRM Data Type:  GetSRFParameters (from EquidistantCylindrical)

typedef SRM_Status_Code SRM_GetSRFParametersEquidistantCylindrical (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

SRM_Long_Float            *origin_longitude;

SRM_Long_Float            *standard_latitude;

SRM_Long_Float            *central_scale_factor;

SRM_Long_Float            *false_easting;

SRM_Long_Float            *false_northing;

);

5.3.2.68 SRM_CreateBritishNationalGrid

SRM Data Type:  Create (from BritishNationalGrid)

typedef SRM_Status_Code SRM_CreateBritishNationalGrid (

SRM_ORM                   orm;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.69 SRM_GetSRFParametersBritishNationalGrid

SRM Data Type:  GetSRFParameters (from BritishNationalGrid)

typedef SRM_Status_Code SRM_GetSRFParametersBritishNationalGrid (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

);

5.3.2.70 SRM_CreateAlabamaSPCS

SRM Data Type:  Create (from AlabamaSPCS)

typedef SRM_Status_Code SRM_CreateAlabamaSPCS (

SRM_ORM                   orm;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.71 SRM_GetSRFParametersAlabamaSPCS

SRM Data Type:  GetSRFParameters (from AlabamaSPCS)

typedef SRM_Status_Code SRM_GetSRFParametersAlabamaSPCS (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

);

5.3.2.72 SRM_CreateUTM

SRM Data Type:  Create (from UTM)

typedef SRM_Status_Code SRM_CreateUTM (

SRM_ORM                   orm;

SRM_Byte                  zone;

SRM_Long_Float            false_easting;

SRM_Long_Float            false_northing;

SRM_SRF_Object_Reference  *new_srf;

);

5.3.2.73 SRM_GetSRFParametersUTM

SRM Data Type:  GetSRFParameters (from UTM)

typedef SRM_Status_Code SRM_GetSRFParametersUTM (

SRM_SRF_Object_Reference  source_SRF;

SRM_ORM                   *orm;

SRM_Byte                  *zone;

SRM_Long_Float            *false_easting;

SRM_Long_Float            *false_northing;

);

5.3.2.74 SRM_CreateGCS

SRM Data Type:  Create (from GCS)

typedef SRM_Status_Code SRM_CreateGCS (

SRM_ORM                     orm;

SRM_Short_Integer_Unsigned  tile;

SRM_Long_Float              false_easting;

SRM_Long_Float              false_northing;

SRM_SRF_Object_Reference    *new_srf;

);

5.3.2.75 SRM_GetSRFParametersGCS

SRM Data Type:  GetSRFParameters (from GCS)

typedef SRM_Status_Code SRM_GetSRFParametersGCS (

SRM_SRF_Object_Reference    source_SRF;

SRM_ORM                     *orm;

SRM_Short_Integer_Unsigned  *tile;

SRM_Long_Float              *false_easting;

SRM_Long_Float              *false_northing;

);

5.3.3 Interfaces

5.3.3.1 Overview

Each concrete object is accessed using an interface consisting of any externally exported data elements and a list of access methods. There are many missing concrete classes that are not defined and therefore have not been bound. They should be considered missing from this part of the standard.

5.3.3.2 SRF concrete classes

5.3.3.2.1 SRM_Celestiocentric

SRM Data Type:  Celestiocentric

typedef SRM_Celestiocentric (

SRM_CreateCelestiocentric              *create;

SRM_Destroy                            *destroy;

SRM_Create3DCoordinateCelestiocentric  *create_3D_coordinate;

SRM_CreateDirection                    *create_direction;

SRM_GetCoordinate3DValues              *get_coordinate_3D_values;

SRM_GetDirectionValues                 *get_direction_values;

SRM_ChangeCoordinate3DSRF              *change_coordinate_3D_SRF;

SRM_ChangeDirectionSRF                 *change_direction_SRF;

SRM_GetSRFParametersCelestiocentric    *get_srf_parameters;

);

5.3.3.2.2 SRM_3DLocalSpaceRectangular

SRM Data Type:  3DLocalSpaceRectangular

typedef SRM_3DLocalSpaceRectangular (

SRM_Create3DLocalSpaceRectangular              *create;

SRM_Destroy                                    *destroy;

SRM_Create3DCoordinate3DLocalSpaceRectangular  *create_3D_coordinate;

SRM_CreateDirection                            *create_direction;

SRM_GetCoordinate3DValues                      *get_coordinate_3D_values;

SRM_GetDirectionValues                         *get_direction_values;

SRM_ChangeCoordinate3DSRF                      *change_coordinate_3D_SRF;

SRM_ChangeDirectionSRF                         *change_direction_SRF;

SRM_GetSRFParameters3DLocalSpaceRectangular    *get_srf_parameters;

);

5.3.3.2.3 SRM_2DLocalSpaceRectangular

SRM Data Type:  2DLocalSpaceRectangular

typedef SRM_2DLocalSpaceRectangular (

SRM_Create2DLocalSpaceRectangular              *create;

SRM_Destroy                                    *destroy;

SRM_Create2DCoordinate2DLocalSpaceRectangular  *create_2D_coordinate;

SRM_GetCoordinate2DValues                      *get_coordinate_2D_values;

SRM_ChangeCoordinate2DSRF                      *change_coordinate_2D_SRF;

SRM_ChangeDirectionSRF                         *change_direction_SRF;

SRM_GetSRFParameters2DLocalSpaceRectangular    *get_srf_parameters;

);

5.3.3.2.4 SRM_Celestiodetic

SRM Data Type:  Celestiodetic

typedef SRM_Celestiodetic (

SRM_CreateCelestiodetic                  *create;

SRM_Destroy                              *destroy;

SRM_CreateSurfaceCoordinateCelestiodetic *create_surface_coordinate;

SRM_GetSurfaceCoordinateValues           *get_surface_coordinate_values;

SRM_AssociatedSurfaceCoordinate          *associated_surface_coordinate;

SRM_PromoteSurfaceCoordinate             *promote_surface_coordinate;

SRM_CreateLocalTangentPlaneSRF           *create_local_tangent_plane_SRF;

SRM_GetSRFParametersCelestiodetic        *get_srf_parameters;

);

5.3.3.2.5 SRM_3DLocalTangentPlane

SRM Data Type:  3DLocalTangentPlane

typedef SRM_3DLocalTangentPlane (

SRM_Create3DLocalTangentPlane            *create;

SRM_Destroy                              *destroy;

SRM_CreateSurfaceCoordinate3DLocalTangentPlane *create_surface_coordinate;

SRM_GetSurfaceCoordinateValues           *get_surface_coordinate_values;

SRM_AssociatedSurfaceCoordinate          *associated_surface_coordinate;

SRM_PromoteSurfaceCoordinate             *promote_surface_coordinate;

SRM_CreateLocalTangentPlaneSRF           *create_local_tangent_plane_SRF;

SRM_GetSRFParameters3DLocalTangentPlane  *get_srf_parameters;

);

5.3.3.2.6 SRM_LocalAzimuthalSphericalTangentPlane

SRM Data Type:  LocalAzimuthalSphericalTangentPlane

typedef SRM_LocalAzimuthalSphericalTangentPlane (

SRM_CreateLocalAzimuthalSphericalTangentPlane  *create;

SRM_Destroy                                    *destroy;

SRM_Create3DCoordinateLocalAzimuthalSphericalTangentPlane   *create_3D_coordinate;

SRM_CreateDirection                            *create_direction;

SRM_GetCoordinate3DValues                      *get_coordinate_3D_values;

SRM_GetDirectionValues                         *get_direction_values;

SRM_ChangeCoordinate3DSRF                      *change_coordinate_3D_SRF;

SRM_ChangeDirectionSRF                         *change_direction_SRF;

SRM_GetSRFParametersLocalAzimuthalSphericalTangentPlane     *get_srf_parameters;

);

5.3.3.2.7 SRM_SurfaceLocalAzimuthalTangentPlane

SRM Data Type:  SurfaceLocalAzimuthalTangentPlane

typedef SRM_SurfaceLocalAzimuthalTangentPlane (

SRM_CreateSurfaceLocalAzimuthalTangentPlane *create;

SRM_Destroy                              *destroy;

SRM_CreateSurfaceCoordinateSurfaceLocalAzimuthalTangentPlane                                         *create_surface_coordinate;

SRM_GetSurfaceCoordinateValues           *get_surface_coordinate_values;

SRM_AssociatedSurfaceCoordinate          *associated_surface_coordinate;

SRM_PromoteSurfaceCoordinate             *promote_surface_coordinate;

SRM_CreateLocalTangentPlaneSRF           *create_local_tangent_plane_SRF;

SRM_GetSRFParametersSurfaceLocalAzimuthalTangentPlane *get_srf_parameters;

);

5.3.3.2.8 SRM_2DAzimuthal

SRM Data Type:  2DAzimuthal

typedef SRM_2DAzimuthal (

SRM_Create2DAzimuthal              *create;

SRM_Destroy                        *destroy;

SRM_Create2DCoordinate2DAzimuthal  *create_2D_coordinate;

SRM_GetCoordinate2DValues          *get_coordinate_2D_values;

SRM_ChangeCoordinate2DSRF          *change_coordinate_2D_SRF;

SRM_ChangeDirectionSRF             *change_direction_SRF;

SRM_GetSRFParameters2DAzimuthal    *get_srf_parameters;

);

5.3.3.2.9 SRM_LocalCylindricalTangentPlane

SRM Data Type:  LocalCylindricalTangentPlane

typedef SRM_LocalCylindricalTangentPlane (

SRM_CreateLocalCylindricalTangentPlane   *create;

SRM_Destroy                              *destroy;

SRM_CreateSurfaceCoordinateLocalCylindricalTangentPlane     *create_surface_coordinate;

SRM_GetSurfaceCoordinateValues           *get_surface_coordinate_values;

SRM_AssociatedSurfaceCoordinate          *associated_surface_coordinate;

SRM_PromoteSurfaceCoordinate             *promote_surface_coordinate;

SRM_CreateLocalTangentPlaneSRF           *create_local_tangent_plane_SRF;

SRM_GetSRFParametersLocalCylindricalTangentPlane      *get_srf_parameters;

);

5.3.3.2.10 SRM_2DPolar

SRM Data Type:  2DPolar

typedef SRM_2DPolar (

SRM_Create2DPolar               *create;

SRM_Destroy                     *destroy;

SRM_Create2DCoordinate2DPolar   *create_2D_coordinate;

SRM_GetCoordinate2DValues       *get_coordinate_2D_values;

SRM_ChangeCoordinate2DSRF       *change_coordinate_2D_SRF;

SRM_ChangeDirectionSRF          *change_direction_SRF;

SRM_GetSRFParameters2DPolar     *get_srf_parameters;

);

5.3.3.2.11 SRM_Celestiomagnetic

SRM Data Type:  Celestiomagnetic

typedef SRM_Celestiomagnetic (

SRM_CreateCelestiomagnetic               *create;

SRM_Destroy                              *destroy;

SRM_CreateSurfaceCoordinateCelestiomagnetic     *create_surface_coordinate;

SRM_GetSurfaceCoordinateValues           *get_surface_coordinate_values;

SRM_AssociatedSurfaceCoordinate          *associated_surface_coordinate;

SRM_PromoteSurfaceCoordinate             *promote_surface_coordinate;

SRM_CreateLocalTangentPlaneSRF           *create_local_tangent_plane_SRF;

SRM_GetSRFParametersCelestiomagnetic     *get_srf_parameters;

);

5.3.3.2.12 SRM_EquatorialInertial

SRM Data Type:  EquatorialInertial

typedef SRM_EquatorialInertial (

SRM_CreateEquatorialInertial             *create;

SRM_Destroy                              *destroy;

SRM_Create3DCoordinateEquatorialInertial *create_3D_coordinate;

SRM_CreateDirection                      *create_direction;

SRM_GetCoordinate3DValues                *get_coordinate_3D_values;

SRM_GetDirectionValues                   *get_direction_values;

SRM_ChangeCoordinate3DSRF                *change_coordinate_3D_SRF;

SRM_ChangeDirectionSRF                   *change_direction_SRF;

SRM_GetSRFParametersEquatorialInertial   *get_srf_parameters;

);

5.3.3.2.13 SRM_SolarEcliptic

SRM Data Type:  SolarEcliptic

typedef SRM_SolarEcliptic (

SRM_CreateSolarEcliptic              *create;

SRM_Destroy                          *destroy;

SRM_Create3DCoordinateSolarEcliptic  *create_3D_coordinate;

SRM_CreateDirection                  *create_direction;

SRM_GetCoordinate3DValues            *get_coordinate_3D_values;

SRM_GetDirectionValues               *get_direction_values;

SRM_ChangeCoordinate3DSRF            *change_coordinate_3D_SRF;

SRM_ChangeDirectionSRF               *change_direction_SRF;

SRM_GetSRFParametersSolarEcliptic    *get_srf_parameters;

);

5.3.3.2.14 SRM_SolarEquatorial

SRM Data Type:  SolarEquatorial

typedef SRM_SolarEquatorial (

SRM_CreateSolarEquatorial                      *create;

SRM_Destroy                                    *destroy;

SRM_Create3DCoordinateSolarEquatorial          *create_3D_coordinate;

SRM_CreateDirection                            *create_direction;

SRM_GetCoordinate3DValues                      *get_coordinate_3D_values;

SRM_GetDirectionValues                         *get_direction_values;

SRM_ChangeCoordinate3DSRF                      *change_coordinate_3D_SRF;

SRM_ChangeDirectionSRF                         *change_direction_SRF;

SRM_GetSRFParametersSolarEquatorial            *get_srf_parameters;

);

5.3.3.2.15 SRM_SolarMagnetospheric

SRM Data Type:  SolarMagnetospheric

typedef SRM_SolarMagnetospheric (

SRM_CreateSolarMagnetospheric               *create;

SRM_Destroy                                 *destroy;

SRM_Create3DCoordinateSolarMagnetospheric   *create_3D_coordinate;

SRM_CreateDirection                         *create_direction;

SRM_GetCoordinate3DValues                   *get_coordinate_3D_values;

SRM_GetDirectionValues                      *get_direction_values;

SRM_ChangeCoordinate3DSRF                   *change_coordinate_3D_SRF;

SRM_ChangeDirectionSRF                      *change_direction_SRF;

SRM_GetSRFParametersSolarMagnetospheric     *get_srf_parameters;

);

5.3.3.2.16 SRM_SolarMagnetic

SRM Data Type:  SolarMagnetic

typedef SRM_SolarMagnetic (

SRM_CreateSolarMagnetic               *create;

SRM_Destroy                           *destroy;

SRM_Create3DCoordinateSolarMagnetic   *create_3D_coordinate;

SRM_CreateDirection                   *create_direction;

SRM_GetCoordinate3DValues             *get_coordinate_3D_values;

SRM_GetDirectionValues                *get_direction_values;

SRM_ChangeCoordinate3DSRF             *change_coordinate_3D_SRF;

SRM_ChangeDirectionSRF                *change_direction_SRF;

SRM_GetSRFParametersSolarMagnetic     *get_srf_parameters;

);

5.3.3.2.17 SRM_SolarHeliosphericAriesEcliptic

SRM Data Type:  SolarHeliosphericAriesEcliptic

typedef SRM_SolarHeliosphericAriesEcliptic (

SRM_CreateSolarHeliosphericAriesEcliptic       *create;

SRM_Destroy                                    *destroy;

SRM_Create3DCoordinateSolarHeliosphericAriesEcliptic  *create_3D_coordinate;

SRM_CreateDirection                            *create_direction;

SRM_GetCoordinate3DValues                      *get_coordinate_3D_values;

SRM_GetDirectionValues                         *get_direction_values;

SRM_ChangeCoordinate3DSRF                      *change_coordinate_3D_SRF;

SRM_ChangeDirectionSRF                         *change_direction_SRF;

SRM_GetSRFParametersSolarHeliosphericAriesEcliptic    *get_srf_parameters;

);

5.3.3.2.18 SRM_SolarHeliosphericEarthEcliptic

SRM Data Type:  SolarHeliosphericEarthEcliptic

typedef SRM_SolarHeliosphericEarthEcliptic (

SRM_CreateSolarHeliosphericEarthEcliptic       *create;

SRM_Destroy                                    *destroy;

SRM_Create3DCoordinateSolarHeliosphericEarthEcliptic  *create_3D_coordinate;

SRM_CreateDirection                            *create_direction;

SRM_GetCoordinate3DValues                      *get_coordinate_3D_values;

SRM_GetDirectionValues                         *get_direction_values;

SRM_ChangeCoordinate3DSRF                      *change_coordinate_3D_SRF;

SRM_ChangeDirectionSRF                         *change_direction_SRF;

SRM_GetSRFParametersSolarHeliosphericEarthEcliptic    *get_srf_parameters;

);

5.3.3.2.19 SRM_SolarHeliosphericEarthEquatorial

SRM Data Type:  SolarHeliosphericEarthEquatorial

typedef SRM_SolarHeliosphericEarthEquatorial (

SRM_CreateSolarHeliosphericEarthEquatorial     *create;

SRM_Destroy                                    *destroy;

SRM_Create3DCoordinateSolarHeliosphericEarthEquatorial      *create_3D_coordinate;

SRM_CreateDirection                            *create_direction;

SRM_GetCoordinate3DValues                      *get_coordinate_3D_values;

SRM_GetDirectionValues                         *get_direction_values;

SRM_ChangeCoordinate3DSRF                      *change_coordinate_3D_SRF;

SRM_ChangeDirectionSRF                         *change_direction_SRF;

SRM_GetSRFParametersSolarHeliosphericEarthEquatorial  *get_srf_parameters;

);

5.3.3.2.20 SRM_Mercator

SRM Data Type:  Mercator

typedef SRM_Mercator (

SRM_CreateMercator                   *create;

SRM_Destroy                          *destroy;

SRM_CreateSurfaceCoordinateMercator  *create_surface_coordinate;

SRM_GetSurfaceCoordinateValues       *get_surface_coordinate_values;

SRM_AssociatedSurfaceCoordinate      *associated_surface_coordinate;

SRM_PromoteSurfaceCoordinate         *promote_surface_coordinate;

SRM_CreateLocalTangentPlaneSRF       *create_local_tangent_plane_SRF;

SRM_GetSRFParametersMercator         *get_srf_parameters;

);

5.3.3.2.21 SRM_ObliqueMercator

SRM Data Type:  ObliqueMercator

typedef SRM_ObliqueMercator (

SRM_CreateObliqueMercator                *create;

SRM_Destroy                              *destroy;

SRM_CreateSurfaceCoordinateObliqueMercator      *create_surface_coordinate;

SRM_GetSurfaceCoordinateValues           *get_surface_coordinate_values;

SRM_AssociatedSurfaceCoordinate          *associated_surface_coordinate;

SRM_PromoteSurfaceCoordinate             *promote_surface_coordinate;

SRM_CreateLocalTangentPlaneSRF           *create_local_tangent_plane_SRF;

SRM_GetSRFParametersObliqueMercator      *get_srf_parameters;

);

5.3.3.2.22 SRM_TransverseMercator

SRM Data Type:  TransverseMercator

typedef SRM_TransverseMercator (

SRM_CreateTransverseMercator             *create;

SRM_Destroy                              *destroy;

SRM_CreateSurfaceCoordinateTransverseMercator   *create_surface_coordinate;

SRM_GetSurfaceCoordinateValues           *get_surface_coordinate_values;

SRM_AssociatedSurfaceCoordinate          *associated_surface_coordinate;

SRM_PromoteSurfaceCoordinate             *promote_surface_coordinate;

SRM_CreateLocalTangentPlaneSRF           *create_local_tangent_plane_SRF;

SRM_GetSRFParametersTransverseMercator   *get_srf_parameters;

);

5.3.3.2.23 SRM_LambertConformalConic

SRM Data Type:  LambertConformalConic

typedef SRM_LambertConformalConic (

SRM_CreateLambertConformalConic         *create;

SRM_Destroy                             *destroy;

SRM_CreateSurfaceCoordinateLambertConformalConic      *create_surface_coordinate;

SRM_GetSurfaceCoordinateValues          *get_surface_coordinate_values;

SRM_AssociatedSurfaceCoordinate         *associated_surface_coordinate;

SRM_PromoteSurfaceCoordinate            *promote_surface_coordinate;

SRM_CreateLocalTangentPlaneSRF          *create_local_tangent_plane_SRF;

SRM_GetSRFParametersLambertConformalConic *get_srf_parameters;

);

5.3.3.2.24 SRM_PolarStereographic

SRM Data Type:  PolarStereographic

typedef SRM_PolarStereographic (

SRM_CreatePolarStereographic             *create;

SRM_Destroy                              *destroy;

SRM_CreateSurfaceCoordinatePolarStereographic   *create_surface_coordinate;

SRM_GetSurfaceCoordinateValues           *get_surface_coordinate_values;

SRM_AssociatedSurfaceCoordinate          *associated_surface_coordinate;

SRM_PromoteSurfaceCoordinate             *promote_surface_coordinate;

SRM_CreateLocalTangentPlaneSRF           *create_local_tangent_plane_SRF;

SRM_GetSRFParametersPolarStereographic   *get_srf_parameters;

);

5.3.3.2.25 SRM_EquidistantCylindrical

SRM Data Type:  EquidistantCylindrical

typedef SRM_EquidistantCylindrical (

SRM_CreateEquidistantCylindrical         *create;

SRM_Destroy                              *destroy;

SRM_CreateSurfaceCoordinateEquidistantCylindrical     *create_surface_coordinate;

SRM_GetSurfaceCoordinateValues           *get_surface_coordinate_values;

SRM_AssociatedSurfaceCoordinate          *associated_surface_coordinate;

SRM_PromoteSurfaceCoordinate             *promote_surface_coordinate;

SRM_CreateLocalTangentPlaneSRF           *create_local_tangent_plane_SRF;

SRM_GetSRFParametersEquidistantCylindrical *get_srf_parameters;

);

5.3.3.2.26 SRM_BritishNationalGrid

SRM Data Type:  BritishNationalGrid

typedef SRM_BritishNationalGrid (

SRM_CreateBritishNationalGrid               *create;

SRM_Destroy                                 *destroy;

SRM_Create3DCoordinateBritishNationalGrid   *create_3D_coordinate;

SRM_CreateDirection                         *create_direction;

SRM_GetCoordinate3DValues                   *get_coordinate_3D_values;

SRM_GetDirectionValues                      *get_direction_values;

SRM_ChangeCoordinate3DSRF                   *change_coordinate_3D_SRF;

SRM_ChangeDirectionSRF                      *change_direction_SRF;

SRM_GetSRFParametersBritishNationalGrid     *get_srf_parameters;

);

5.3.3.2.27 SRM_AlabamaSPCS

SRM Data Type:  AlabamaSPCS

typedef SRM_AlabamaSPCS (

SRM_CreateAlabamaSPCS              *create;

SRM_Destroy                        *destroy;

SRM_Create3DCoordinateAlabamaSPCS  *create_3D_coordinate;

SRM_CreateDirection                *create_direction;

SRM_GetCoordinate3DValues          *get_coordinate_3D_values;

SRM_GetDirectionValues             *get_direction_values;

SRM_ChangeCoordinate3DSRF          *change_coordinate_3D_SRF;

SRM_ChangeDirectionSRF             *change_direction_SRF;

SRM_GetSRFParametersAlabamaSPCS    *get_srf_parameters;

);

5.3.3.2.28 SRM_UTM

SRM Data Type:  UTM

typedef SRM_UTM (

SRM_CreateUTM                     *create;

SRM_Destroy                       *destroy;

SRM_CreateSurfaceCoordinateUTM    *create_surface_coordinate;

SRM_GetSurfaceCoordinateValues    *get_surface_coordinate_values;

SRM_AssociatedSurfaceCoordinate   *associated_surface_coordinate;

SRM_PromoteSurfaceCoordinate      *promote_surface_coordinate;

SRM_CreateLocalTangentPlaneSRF    *create_local_tangent_plane_SRF;

SRM_GetSRFParametersUTM           *get_srf_parameters;

);

5.3.3.2.29 SRM_GCS

SRM Data Type:  GCS

typedef SRM_GCS (

SRM_CreateGCS               *create;

SRM_Destroy                 *destroy;

SRM_Create3DCoordinateGCS   *create_3D_coordinate;

SRM_CreateDirection         *create_direction;

SRM_GetCoordinate3DValues   *get_coordinate_3D_values;

SRM_GetDirectionValues      *get_direction_values;

SRM_ChangeCoordinate3DSRF   *change_coordinate_3D_SRF;

SRM_ChangeDirectionSRF      *change_direction_SRF;

SRM_GetSRFParametersGCS     *get_srf_parameters;

);

5.4 Data types for SRM dictionary entries

5.4.1 Overview

These selection data types specify labels and numeric values for identifying the various concepts defined in ISO/IEC 18026.

5.4.2 SRM_CS_Code

SRM Data Type:  CS_Code

typedef SRM_Short_Integer SRM_CS_Code;

#define SRM_CS_3D_EUCLIDEAN                              (1)
#define SRM_CS_3D_LOCOCENTRIC_EUCLIDEAN                  (2)
#define SRM_CS_3D_SPHERICAL                              (3)
#define SRM_CS_3D_LOCOCENTRIC_SPHERICAL                  (4)
#define SRM_CS_3D_AZIMUTHAL_SPHERICAL                    (5)
#define SRM_CS_3D_LOCOCENTRIC_AZIMUTHAL_SPHERICAL        (6)
#define SRM_CS_3D_GEODETIC                               (7)
#define SRM_CS_3D_CYLINDRICAL                            (8)
#define SRM_CS_3D_LOCOCENTRIC_CYLINDRICAL                (9)
#define SRM_CS_S3_SURFACE_GEODETIC                       (10)
#define SRM_CS_S3_LOCOCENTRIC_SURFACE_EUCLIDEAN          (11)
#define SRM_CS_S3_LOCOCENTRIC_SURFACE_AZIMUTHAL          (12)
#define SRM_CS_S3_LOCOCENTRIC_SURFACE_POLAR              (13)
#define SRM_CS_2D_EUCLIDEAN                              (14)
#define SRM_CS_2D_LOCOCENTRIC_EUCLIDEAN                  (15)
#define SRM_CS_2D_AZIMUTHAL                              (16)
#define SRM_CS_2D_LOCOCENTRIC_AZIMUTHAL                  (17)
#define SRM_CS_2D_POLAR                                  (18)
#define SRM_CS_2D_LOCOCENTRIC_POLAR                      (19)
#define SRM_CS_1D_EUCLIDEAN                              (20)
#define SRM_CS_MP_MERCATOR                               (21)
#define SRM_CS_MP_OBLIQUE_MERCATOR                       (22)
#define SRM_CS_MP_TRANSVERSE_MERCATOR                    (23)
#define SRM_CS_MP_LAMBERT_CONFORMAL_CONIC                (24)
#define SRM_CS_MP_POLAR_STEREOGRAPHIC                    (25)
#define SRM_CS_MP_EQUIDISTANT_CYLINDRICAL                (26)

5.4.3 SRM_RD_Code

SRM Data Type:  RD_Code

typedef SRM_Short_Integer SRM_RD_Code;

#define SRM_RD_3D_ORIGIN                                 (1)
#define SRM_RD_3D_X_UNIT_POINT                           (2)
#define SRM_RD_3D_Y_UNIT_POINT                           (3)
#define SRM_RD_3D_Z_UNIT_POINT                           (4)
#define SRM_RD_3D_X_AXIS                                 (5)
#define SRM_RD_3D_Y_AXIS                                 (6)
#define SRM_RD_3D_Z_AXIS                                 (7)
#define SRM_RD_3D_XY_PLANE                               (8)
#define SRM_RD_3D_XZ_PLANE                               (9)
#define SRM_RD_3D_YZ_PLANE                               (10)
#define SRM_RD_ADRASTEA                                  (11)
#define SRM_RD_AIRY                                      (12)
#define SRM_RD_AIRY_WAR_OFFICE                           (13)
#define SRM_RD_AMALTHEA                                  (14)
#define SRM_RD_ANANKE                                    (15)
#define SRM_RD_APL_4r5                                   (16)
#define SRM_RD_ARIEL                                     (17)
#define SRM_RD_ATLAS                                     (18)
#define SRM_RD_AUSTRALIAN_NATIONAL                       (19)
#define SRM_RD_AVERAGE_TERRESTRIAL_1977                  (20)
#define SRM_RD_BELINDA                                   (21)
#define SRM_RD_BESSEL_1841_ETHIOPIA                      (22)
#define SRM_RD_BESSEL_1841_NAMIBIA                       (23)
#define SRM_RD_BESSEL_MODIFIED                           (24)
#define SRM_RD_BIANCA                                    (25)
#define SRM_RD_CALIBAN                                   (26)
#define SRM_RD_CALLISTO                                  (27)
#define SRM_RD_CALYPSO                                   (28)
#define SRM_RD_CARME                                     (29)
#define SRM_RD_CHARON                                    (30)
#define SRM_RD_CLARKE_1858                               (31)
#define SRM_RD_CLARKE_1858_MODIFIED                      (32)
#define SRM_RD_CLARKE_1866                               (33)
#define SRM_RD_CLARKE_1880                               (34)
#define SRM_RD_CLARKE_1880_CAPE                          (35)
#define SRM_RD_CLARKE_1880_FIJI                          (36)
#define SRM_RD_CLARKE_1880_IGN                           (37)
#define SRM_RD_CLARKE_1880_PALESTINE                     (38)
#define SRM_RD_CLARKE_1880_SYRIA                         (39)
#define SRM_RD_COAMPS                                    (40)
#define SRM_RD_CORDELIA                                  (41)
#define SRM_RD_CRESSIDA                                  (42)
#define SRM_RD_DANISH_1876                               (43)
#define SRM_RD_DEIMOS                                    (44)
#define SRM_RD_DELAMBRE_1810                             (45)
#define SRM_RD_DELAMBRE_CARTE_DE_FRANCE                  (46)
#define SRM_RD_DESDAMONA                                 (47)
#define SRM_RD_DESPINA                                   (48)
#define SRM_RD_DIONE                                     (49)
#define SRM_RD_ELARA                                     (50)
#define SRM_RD_ENCELADUS                                 (51)
#define SRM_RD_EPIMETHEUS                                (52)
#define SRM_RD_EROS                                      (53)
#define SRM_RD_EUROPA                                    (54)
#define SRM_RD_EVEREST_1830                              (55)
#define SRM_RD_EVEREST_1948                              (56)
#define SRM_RD_EVEREST_1956                              (57)
#define SRM_RD_EVEREST_1969                              (58)
#define SRM_RD_EVEREST_BRUNEI                            (59)
#define SRM_RD_EVEREST_PAKISTAN                          (60)
#define SRM_RD_FISCHER_1960                              (61)
#define SRM_RD_FISCHER_1968                              (62)
#define SRM_RD_GALATEA                                   (63)
#define SRM_RD_GANYMEDE                                  (64)
#define SRM_RD_GASPRA                                    (65)
#define SRM_RD_GERMAINE                                  (66)
#define SRM_RD_GRS_1967                                  (67)
#define SRM_RD_GRS_1980                                  (68)
#define SRM_RD_HELENE                                    (69)
#define SRM_RD_HELMERT_1906                              (70)
#define SRM_RD_HIMALIA                                   (71)
#define SRM_RD_HOUGH_1960                                (72)
#define SRM_RD_HYPERION                                  (73)
#define SRM_RD_IAG_1975                                  (74)
#define SRM_RD_IAPETUS                                   (75)
#define SRM_RD_IAU_1964                                  (76)
#define SRM_RD_IDA                                       (77)
#define SRM_RD_INDONESIAN_1974                           (78)
#define SRM_RD_INTERNATIONAL_1924                        (79)
#define SRM_RD_IO                                        (80)
#define SRM_RD_JANUS                                     (81)
#define SRM_RD_JULIET                                    (82)
#define SRM_RD_JUPITER                                   (83)
#define SRM_RD_KLEOPATRA                                 (84)
#define SRM_RD_KRASSOVSKY_1940                           (85)
#define SRM_RD_KRAYENHOFF_1827                           (86)
#define SRM_RD_LARISSA                                   (87)
#define SRM_RD_LEDA                                      (88)
#define SRM_RD_LYSITHEA                                  (89)
#define SRM_RD_MARS                                      (90)
#define SRM_RD_MASS                                      (91)
#define SRM_RD_MERCURY                                   (92)
#define SRM_RD_METIS                                     (93)
#define SRM_RD_MIMAS                                     (94)
#define SRM_RD_MIRANDA                                   (95)
#define SRM_RD_MM5                                       (96)
#define SRM_RD_MODIFIED_AIRY                             (97)
#define SRM_RD_MODIFIED_FISCHER_1960                     (98)
#define SRM_RD_MODTRAN_MIDLATITUDE                       (99)
#define SRM_RD_MODTRAN_SUBARCTIC                         (100)
#define SRM_RD_MODTRAN_TROPICAL                          (101)
#define SRM_RD_MOON                                      (102)
#define SRM_RD_MULTIGEN_FLAT_EARTH                       (103)
#define SRM_RD_NAIAD                                     (104)
#define SRM_RD_NEPTUNE                                   (105)
#define SRM_RD_NEREID                                    (106)
#define SRM_RD_NOGAPS                                    (107)
#define SRM_RD_NWL_8E                                    (108)
#define SRM_RD_OBERON                                    (109)
#define SRM_RD_OPHELIA                                   (110)
#define SRM_RD_PAN                                       (111)
#define SRM_RD_PANDORA                                   (112)
#define SRM_RD_PASIPHAE                                  (113)
#define SRM_RD_PHOBOS                                    (114)
#define SRM_RD_PHOEBE                                    (115)
#define SRM_RD_PLESSIS_MODIFIED_1817                     (116)
#define SRM_RD_PLESSIS_RECONSTITUTED                     (117)
#define SRM_RD_PLUTO                                     (118)
#define SRM_RD_PORTIA                                    (119)
#define SRM_RD_PROMETHEUS                                (120)
#define SRM_RD_PROTEUS                                   (121)
#define SRM_RD_PUCK                                      (122)
#define SRM_RD_RHEA                                      (123)
#define SRM_RD_ROSALIND                                  (124)
#define SRM_RD_SATURN                                    (125)
#define SRM_RD_SINOPE                                    (126)
#define SRM_RD_SOUTH_AMERICAN_1969                       (127)
#define SRM_RD_SOVIET_GEODETIC_1985                      (128)
#define SRM_RD_SOVIET_GEODETIC_1990                      (129)
#define SRM_RD_STRUVE_1860                               (130)
#define SRM_RD_SUN                                       (131)
#define SRM_RD_SVANBERG                                  (132)
#define SRM_RD_SYCORAX                                   (133)
#define SRM_RD_TELESTO                                   (134)
#define SRM_RD_TETHYS                                    (135)
#define SRM_RD_THALASSA                                  (136)
#define SRM_RD_THEBE                                     (137)
#define SRM_RD_TITAN                                     (138)
#define SRM_RD_TITANIA                                   (139)
#define SRM_RD_TRITON                                    (140)
#define SRM_RD_UMBRIEL                                   (141)
#define SRM_RD_URANUS                                    (142)
#define SRM_RD_VENUS                                     (143)
#define SRM_RD_WALBECK_1819_AMS                          (144)
#define SRM_RD_WALBECK_1819_PLANHEFT                     (145)
#define SRM_RD_WAR_OFFICE_1924                           (146)
#define SRM_RD_                                          (147)
#define SRM_RD_                                          (148)
#define SRM_RD_WGS_1972                                  (149)
#define SRM_RD_WGS_1984                                  (150)

5.4.4 SRM_ORM_Template_Code

SRM Data Type:  ORM_Template_Code

typedef SRM_Short_Integer SRM_ORM_Template_Code;

#define SRM_ORMT_3D_SPHERE                   (1)
#define SRM_ORMT_3D_OBLATE_SPHEROID          (2)
#define SRM_ORMT_3D_PROLATE_SPHEROID         (3)
#define SRM_ORMT_3D_TRI_AXIAL_SPHEROID       (4)
#define SRM_ORMT_3D_BI_AXIS_ORIGIN           (5)
#define SRM_ORMT_3D_TRI_PLANE                (6)

5.4.5 SRM_ORM_Code

SRM Data Type:  ORM_Code

typedef SRM_Short_Integer SRM_ORM_Code;

#define SRM_ORMCODE_ABSTRACT                           (1)
#define SRM_ORMCODE_ACCRA                              (2)
#define SRM_ORMCODE_ADINDAN_BURKINA_FASO               (3)
#define SRM_ORMCODE_ADINDAN_CAMEROON                   (4)
#define SRM_ORMCODE_ADINDAN_ETHIOPIA                   (5)
#define SRM_ORMCODE_ADINDAN_MALI                       (6)
#define SRM_ORMCODE_ADINDAN_MEAN_SOLUTION              (7)
#define SRM_ORMCODE_ADINDAN_SENEGAL                    (8)
#define SRM_ORMCODE_ADINDAN_SUDAN                      (9)
#define SRM_ORMCODE_ADRASTEA                           (10)
#define SRM_ORMCODE_AFGOOYE_SOMALIA                    (11)
#define SRM_ORMCODE_AIN_EL_ABD_1970_BAHRAIN            (12)
#define SRM_ORMCODE_AIL_EL_ABD_1970_SAUDI              (13)
#define SRM_ORMCODE_AMALTHEA                           (14)
#define SRM_ORMCODE_AMERICAN_SAMOA_1962                (15)
#define SRM_ORMCODE_AMERSFOORT_1885_1903               (16)
#define SRM_ORMCODE_ANANKE                             (17)
#define SRM_ORMCODE_ANNA_1_ASTRO_1965                  (18)
#define SRM_ORMCODE_ANTIGUA_ISLAND_ASTRO_1943          (19)
#define SRM_ORMCODE_ARC_1935_AFRICA                    (20)
#define SRM_ORMCODE_ARC_1950_BOTSWANA                  (21)
#define SRM_ORMCODE_ARC_1950_BURUNDI                   (22)
#define SRM_ORMCODE_ARC_1950_LESOTHO                   (23)
#define SRM_ORMCODE_ARC_1950_MALAWI                    (24)
#define SRM_ORMCODE_ARC_1950_MEAN_SOLUTION             (25)
#define SRM_ORMCODE_ARC_1950_SWAZILAND                 (26)
#define SRM_ORMCODE_ARC_1950_ZAIRE                     (27)
#define SRM_ORMCODE_ARC_1950_ZAMBIA                    (28)
#define SRM_ORMCODE_ARC_1950_ZIMBABWE                  (29)
#define SRM_ORMCODE_ARC_1950_ZIMBABWE_7                (30)
#define SRM_ORMCODE_ARC_1960_KENYA                     (31)
#define SRM_ORMCODE_ARC_1960_KENYA_7                   (32)
#define SRM_ORMCODE_ARC_1960_MEAN_SOLUTION             (33)
#define SRM_ORMCODE_ARC_1960_TANZANIA                  (34)
#define SRM_ORMCODE_ARIEL                              (35)
#define SRM_ORMCODE_ASCENSION_ISLAND_1958              (36)
#define SRM_ORMCODE_ASTRO_BEACON_E_1945                (37)
#define SRM_ORMCODE_ASTRO_DOS_71_4                     (38)
#define SRM_ORMCODE_ASTRO_STATION_1952                 (39)
#define SRM_ORMCODE_ASTRO_TERN_IS_1961                 (40)
#define SRM_ORMCODE_ATLAS                              (41)
#define SRM_ORMCODE_AUSTRALIAN_GEOD_1966               (42)
#define SRM_ORMCODE_AUSTRALIAN_GEOD_1984               (43)
#define SRM_ORMCODE_AUSTRALIAN_GEOD_1984_7             (44)
#define SRM_ORMCODE_AV_TERRESTRIAL_SYSTEM_1977         (45)
#define SRM_ORMCODE_AYABELLE_LIGHTHOUSE                (46)
#define SRM_ORMCODE_BEKAA_BASE_SOUTH_END               (47)
#define SRM_ORMCODE_BELGIUM_1950                       (48)
#define SRM_ORMCODE_BELGIUM_1972                       (49)
#define SRM_ORMCODE_BELINDA                            (50)
#define SRM_ORMCODE_BELLEVUE_IGN                       (51)
#define SRM_ORMCODE_BERMUDA_1957                       (52)
#define SRM_ORMCODE_BERN_1898                          (53)
#define SRM_ORMCODE_BERN_1898_ZERO                     (54)
#define SRM_ORMCODE_BIANCA                             (55)
#define SRM_ORMCODE_BISSAU                             (56)
#define SRM_ORMCODE_BJZ54                              (57)
#define SRM_ORMCODE_BJZ54_MODIFIED                     (58)
#define SRM_ORMCODE_BOGOTA_OBS                         (59)
#define SRM_ORMCODE_BOGOTA_OBS_ZERO                    (60)
#define SRM_ORMCODE_BUKIT_RIMPAH                       (61)
#define SRM_ORMCODE_CALIBAN                            (62)
#define SRM_ORMCODE_CALLISTO                           (63)
#define SRM_ORMCODE_CALLISTO_INERTIAL                  (64)
#define SRM_ORMCODE_CALLISTO_MAGNETIC                  (65)
#define SRM_ORMCODE_CALYPSO                            (66)
#define SRM_ORMCODE_CAMACUPA_BASE_SW_END               (67)
#define SRM_ORMCODE_CAMP_AREA_ASTRO                    (68)
#define SRM_ORMCODE_CAMPO_INCHAUSPE                    (69)
#define SRM_ORMCODE_CANTON_ASTRO_1966                  (70)
#define SRM_ORMCODE_CAPE_CANAVERAL                     (71)
#define SRM_ORMCODE_CAPE_SOUTH_AFRICA                  (72)
#define SRM_ORMCODE_CARME                              (73)
#define SRM_ORMCODE_CARTHAGE                           (74)
#define SRM_ORMCODE_CHARON                             (75)
#define SRM_ORMCODE_CHATHAM_ASTRO_1971                 (76)
#define SRM_ORMCODE_CHUA_ASTRO                         (77)
#define SRM_ORMCODE_COAMPS                             (78)
#define SRM_ORMCODE_COMP_GEOD_DU_QUEBEC_1977           (79)
#define SRM_ORMCODE_CONAKRY_PYRAMID                    (80)
#define SRM_ORMCODE_CORDELIA                           (81)
#define SRM_ORMCODE_CORREGO_ALEGRE                     (82)
#define SRM_ORMCODE_CRESSIDA                           (83)
#define SRM_ORMCODE_CYPRUS_1935                        (84)
#define SRM_ORMCODE_DABOLA                             (85)
#define SRM_ORMCODE_DCS3_LIGHTHOUSE                    (86)
#define SRM_ORMCODE_DECEPTION_ISLAND                   (87)
#define SRM_ORMCODE_DEIMOS                             (88)
#define SRM_ORMCODE_DESDEMONA                          (89)
#define SRM_ORMCODE_DESPINA                            (90)
#define SRM_ORMCODE_DIONE                              (91)
#define SRM_ORMCODE_DJAKARTA                           (92)
#define SRM_ORMCODE_DJAKARTA_ZERO                      (93)
#define SRM_ORMCODE_DOS_1968                           (94)
#define SRM_ORMCODE_EARTH_INERTIAL_ARIES_1950          (95)
#define SRM_ORMCODE_EARTH_INERTIAL_ARIES_TRUE_OF_DATE  (96)
#define SRM_ORMCODE_EARTH_INERTIAL_J2000r0             (97)
#define SRM_ORMCODE_EARTH_SOLAR_ECLIPTIC               (98)
#define SRM_ORMCODE_EARTH_SOLAR_EQUATORIAL             (99)
#define SRM_ORMCODE_EARTH_SOLAR_MAG_DIPOLE             (100)
#define SRM_ORMCODE_EARTH_SOLAR_MAG_ECLIPTIC           (101)
#define SRM_ORMCODE_EASTER_ISLAND_1967                 (102)
#define SRM_ORMCODE_ELARA                              (103)
#define SRM_ORMCODE_ENCELADUS                          (104)
#define SRM_ORMCODE_EPIMETHEUS                         (105)
#define SRM_ORMCODE_EROS                               (106)
#define SRM_ORMCODE_ESTONIA_1937                       (107)
#define SRM_ORMCODE_ETRS_1989                          (108)
#define SRM_ORMCODE_EUR_1950_ALGERIA                   (109)
#define SRM_ORMCODE_EUR_1950_BALEARIC_ISLANDS          (110)
#define SRM_ORMCODE_EUR_1950_CHANNEL_ISLANDS           (111)
#define SRM_ORMCODE_EUR_1950_CYPRUS                    (112)
#define SRM_ORMCODE_EUR_1950_CYPRUS_7                  (113)
#define SRM_ORMCODE_EUR_1950_DENMARK                   (114)
#define SRM_ORMCODE_EUR_1950_EGYPT                     (115)
#define SRM_ORMCODE_EUR_1950_GIBRALTAR                 (116)
#define SRM_ORMCODE_EUR_1950_GREECE                    (117)
#define SRM_ORMCODE_EUR_1950_IBERIA                    (118)
#define SRM_ORMCODE_EUR_1950_IRAN                      (119)
#define SRM_ORMCODE_EUR_1950_IRAQ                      (120)
#define SRM_ORMCODE_EUR_1950_IRELAND                   (121)
#define SRM_ORMCODE_EUR_1950_LEBANON                   (122)
#define SRM_ORMCODE_EUR_1950_MALTA                     (123)
#define SRM_ORMCODE_EUR_1950_MEAN_SOLUTION             (124)
#define SRM_ORMCODE_EUR_1950_NORWAY                    (125)
#define SRM_ORMCODE_EUR_1950_OMAN                      (126)
#define SRM_ORMCODE_EUR_1950_PORTUGAL                  (127)
#define SRM_ORMCODE_EUR_1950_SARDINIA                  (128)
#define SRM_ORMCODE_EUR_1950_SCOTLAND                  (129)
#define SRM_ORMCODE_EUR_1950_SICILY                    (130)
#define SRM_ORMCODE_EUR_1950­_SPAIN_EXCEPT_NW           (131)
#define SRM_ORMCODE_EUR_1950_SPAIN_NW                  (132)
#define SRM_ORMCODE_EUR_1950_TUNISIA                   (133)
#define SRM_ORMCODE_EUR_1950_TURKEY                    (134)
#define SRM_ORMCODE_EUR_1950_W_EUROPE                  (135)
#define SRM_ORMCODE_EUR_1950_YUGOSLAVIA_NORTH          (136)
#define SRM_ORMCODE_EUR_1979                           (137)
#define SRM_ORMCODE_EUR_1979_PORTUGAL                  (138)
#define SRM_ORMCODE_EUROPA                             (139)
#define SRM_ORMCODE_EUROPA_INERTIAL                    (140)
#define SRM_ORMCODE_EUROPA_MAGNETIC                    (141)
#define SRM_ORMCODE_FAHUD                              (142)
#define SRM_ORMCODE_FAHUD_7                            (143)
#define SRM_ORMCODE_FORT_THOMAS_1955                   (144)
#define SRM_ORMCODE_GALATEA                            (145)
#define SRM_ORMCODE_GAN_1970                           (146)
#define SRM_ORMCODE_GANDAJIKA_BASE                     (147)
#define SRM_ORMCODE_GANYMEDE                           (148)
#define SRM_ORMCODE_GANYMEDE_INERTIAL                  (149)
#define SRM_ORMCODE_GANYMEDE_MAGNETIC                  (150)
#define SRM_ORMCODE_GASPRA                             (151)
#define SRM_ORMCODE_GDZ80                              (152)
#define SRM_ORMCODE_GEOCENTRIC_DATUM_AUSTRALIA         (153)
#define SRM_ORMCODE_GEODETIC_DATUM_1949                (154)
#define SRM_ORMCODE_GEODETIC_DATUM_1949_7              (155)
#define SRM_ORMCODE_GEOMAGNETIC_1945                   (156)
#define SRM_ORMCODE_GEOMAGNETIC_1950                   (157)
#define SRM_ORMCODE_GEOMAGNETIC_1955                   (158)
#define SRM_ORMCODE_GEOMAGNETIC_1960                   (159)
#define SRM_ORMCODE_GEOMAGNETIC_1965                   (160)
#define SRM_ORMCODE_GEOMAGNETIC_1970                   (161)
#define SRM_ORMCODE_GEOMAGNETIC_1975                   (162)
#define SRM_ORMCODE_GEOMAGNETIC_1980                   (163)
#define SRM_ORMCODE_GEOMAGNETIC_1985                   (164)
#define SRM_ORMCODE_GEOMAGNETIC_1990                   (165)
#define SRM_ORMCODE_GEOMAGNETIC_1995                   (166)
#define SRM_ORMCODE_GEOMAGNETIC_2000                   (167)
#define SRM_ORMCODE_GRACIOSA_BASE_SW_1948              (168)
#define SRM_ORMCODE_GREEK_DATUM                        (169)
#define SRM_ORMCODE_GREEK_GRS_1987                     (170)
#define SRM_ORMCODE_GUAM_1963                          (171)
#define SRM_ORMCODE_GUNONG_SEGARA                      (172)
#define SRM_ORMCODE_GUNONG_SERINDUNG                   (173)
#define SRM_ORMCODE_GUX_1_ASTRO                        (174)
#define SRM_ORMCODE_HARTEBEESTHOCK_1994                (175)
#define SRM_ORMCODE_HELENE                             (176)
#define SRM_ORMCODE_HELSINKI_KALLIO_CHURCH             (177)
#define SRM_ORMCODE_HERAT_NORTH                        (178)
#define SRM_ORMCODE_HERMANNSKOGEL                      (179)
#define SRM_ORMCODE_HERMANNSKOGEL_7                    (180)
#define SRM_ORMCODE_HIMALIA                            (181)
#define SRM_ORMCODE_HJORSEY_1955                       (182)
#define SRM_ORMCODE_HONG_KONG_1929                     (183)
#define SRM_ORMCODE_HONG_KONG_1963                     (184)
#define SRM_ORMCODE_HONG_KONG_1980                     (185)
#define SRM_ORMCODE_HU_TZU_SHAN                        (186)
#define SRM_ORMCODE_HUNGARIAN_1972                     (187)
#define SRM_ORMCODE_HYPERION                           (188)
#define SRM_ORMCODE_IAPETUS                            (189)
#define SRM_ORMCODE_IDA                                (190)
#define SRM_ORMCODE_INDIAN_1954_THAILAND               (191)
#define SRM_ORMCODE_INDIAN_1960_CON_SON_ISLAND         (192)
#define SRM_ORMCODE_INDIAN_1960_VIETNAM_16N            (193)
#define SRM_ORMCODE                                    (194)
#define SRM_ORMCODE_INDIAN_1975_THAI_1997              (195)
#define SRM_ORMCODE_INDIAN_BANGLADESH                  (196)
#define SRM_ORMCODE_INDIAN_BANGLADESH_7                (197)
#define SRM_ORMCODE_INDIAN_NEPAL                       (198)
#define SRM_ORMCODE_INDIAN_PAKISTAN                    (199)
#define SRM_ORMCODE_INDONESIAN_1974                    (200)
#define SRM_ORMCODE_IO                                 (201)
#define SRM_ORMCODE_IO_INERTIAL                        (202)
#define SRM_ORMCODE_IO_MAGNETIC                        (203)
#define SRM_ORMCODE_IRAQ_KUWAIT_BOUNDARY_1992          (204)
#define SRM_ORMCODE_IRELAND_1965                       (205)
#define SRM_ORMCODE_IRELAND_1965_7                     (206)
#define SRM_ORMCODE_ISTS_061_ASTRO_1968                (207)
#define SRM_ORMCODE_ISTS_073_ASTRO_1969                (208)
#define SRM_ORMCODE_JANUS                              (209)
#define SRM_ORMCODE_JOHNSTON_ISLAND_1961               (210)
#define SRM_ORMCODE_JULIET                             (211)
#define SRM_ORMCODE_JUPITER                            (212)
#define SRM_ORMCODE_JUPITER_INERTIAL                   (213)
#define SRM_ORMCODE_JUPITER_MAGNETIC                   (214)
#define SRM_ORMCODE_JUPITER_SOLAR_ECLIPTIC             (215)
#define SRM_ORMCODE_JUPITER_SOLAR_EQUATORIAL           (216)
#define SRM_ORMCODE_JUPITER_SOLAR_MAG_DIPOLE           (217)
#define SRM_ORMCODE_JUPITER_SOLAR_MAG_ECLIPTIC         (218)
#define SRM_ORMCODE_KALIANPUR                          (219)
#define SRM_ORMCODE_KANDAWALA                          (220)
#define SRM_ORMCODE_KANDAWALA_7                        (221)
#define SRM_ORMCODE_KCS_2_SIERRA_LEONE                 (222)
#define SRM_ORMCODE_KERGUELEN_ISLAND_1949              (223)
#define SRM_ORMCODE_KERTAU_1948                        (224)
#define SRM_ORMCODE_KERTAU_1948_7                      (225)
#define SRM_ORMCODE_KKJ_FINLAND                        (226)
#define SRM_ORMCODE_KLEOPATRA                          (227)
#define SRM_ORMCODE_KOREAN_GEODETIC_1995               (228)
#define SRM_ORMCODE_KUSAIE_ASTRO_1951                  (229)
#define SRM_ORMCODE_KUWAIT_OIL_COMPANY_K28             (230)
#define SRM_ORMCODE_LANDESVERMESSUNG_1995              (231)
#define SRM_ORMCODE_LARISSA                            (232)
#define SRM_ORMCODE_LC5_ASTRO_1961                     (233)
#define SRM_ORMCODE_LEDA                               (234)
#define SRM_ORMCODE_LEIGON                             (235)
#define SRM_ORMCODE_LEIGON_7                           (236)
#define SRM_ORMCODE_LIBERIA_1964                       (237)
#define SRM_ORMCODE_LISBON_D73                         (238)
#define SRM_ORMCODE_LKS_1994                           (239)
#define SRM_ORMCODE_LOMO_QUINTANA                      (240)
#define SRM_ORMCODE_LUXEMBOURG_NT                      (241)
#define SRM_ORMCODE_LUZON_APPROXIMATE                  (242)
#define SRM_ORMCODE_LUZON_MINDANAO_ISLAND              (243)
#define SRM_ORMCODE_LUZON_PHILIPPINES                  (244)
#define SRM_ORMCODE_LYSITHEA                           (245)
#define SRM_ORMCODE_M_PORALOKO                         (246)
#define SRM_ORMCODE_MAHE_1971                          (247)
#define SRM_ORMCODE_MARCO_ASTRO                        (248)
#define SRM_ORMCODE_MARS                               (249)
#define SRM_ORMCODE_MARS_INERTIAL                      (250)
#define SRM_ORMCODE_MARTINIQUE_FORT_DESAIX             (251)
#define SRM_ORMCODE_MASS                               (252)
#define SRM_ORMCODE_MASSAWA                            (253)
#define SRM_ORMCODE_MAYOTTE_COMBANI                    (254)
#define SRM_ORMCODE_MERCHICH                           (255)
#define SRM_ORMCODE_MERCURY_INERTIAL                   (256)
#define SRM_ORMCODE_MERCURY                            (257)
#define SRM_ORMCODE_MERCURY_MAGNETIC                   (258)
#define SRM_ORMCODE_METIS                              (259)
#define SRM_ORMCODE_MGI_HERMANNSKOGEL                  (260)
#define SRM_ORMCODE_MIDWAY_ASTRO_1961                  (261)
#define SRM_ORMCODE_MIMAS                              (262)
#define SRM_ORMCODE_MINNA_CAMEROON                     (263)
#define SRM_ORMCODE_MINNA_NIGERIA                      (264)
#define SRM_ORMCODE_MIRANDA                            (265)
#define SRM_ORMCODE_MM5                                (266)
#define SRM_ORMCODE_MODTRAN_MIDLATITUDE                (267)
#define SRM_ORMCODE_MODTRAN_SUBARCTIC                  (268)
#define SRM_ORMCODE_MODTRAN_TROPICAL                   (269)
#define SRM_ORMCODE_MONTJONG_LOWE                      (270)
#define SRM_ORMCODE_MONTSERRAT_ASTRO_1958              (271)
#define SRM_ORMCODE_MOON                               (272)
#define SRM_ORMCODE_MOON_INERTIAL                      (273)
#define SRM_ORMCODE_MOUNT_DILLON                       (274)
#define SRM_ORMCODE_MULTIGEN_FLAT_EARTH                (275)
#define SRM_ORMCODE_N_AM_1983_ALASKA                   (276)
#define SRM_ORMCODE_N_AM_1983_ALEUTIANS                (277)
#define SRM_ORMCODE_N_AM_1983_CANADA                   (278)
#define SRM_ORMCODE_N_AM_1983_CONUS                    (279)
#define SRM_ORMCODE_N_AM_1983_HAWAII                   (280)
#define SRM_ORMCODE_N_AM_1983_MEXICO                   (281)
#define SRM_ORMCODE_N_SAHARA_1959                      (282)
#define SRM_ORMCODE_NAHRWAN_MASIRAH_OMAN               (283)
#define SRM_ORMCODE_NAHRWAN_REVISED                    (284)
#define SRM_ORMCODE_NAHRWAN_SAUDI_ARABIA               (285)
#define SRM_ORMCODE_NAHRWAN_UAE                        (286)
#define SRM_ORMCODE_NAIAD                              (287)
#define SRM_ORMCODE_NAPARIMA                           (288)
#define SRM_ORMCODE_NEPTUNE                            (289)
#define SRM_ORMCODE_NEPTUNE_INERTIAL                   (290)
#define SRM_ORMCODE_NEPTUNE_MAGNETIC                   (291)
#define SRM_ORMCODE_NEREID                             (292)
#define SRM_ORMCODE_NEW_FRENCH                         (293)
#define SRM_ORMCODE_NEW_FRENCH_ZERO                    (294)
#define SRM_ORMCODE_NOGAPS                             (295)
#define SRM_ORMCODE_NORGES_GRAENDSERS_OPPMALING_1948   (296)
#define SRM_ORMCODE_OBERON                             (297)
#define SRM_ORMCODE_OBSERV_METEORO_1939                (298)
#define SRM_ORMCODE_OBSERVATARIO_MOZAMBIQUE            (299)
#define SRM_ORMCODE_OLD_EGYPTIAN_1907                  (300)
#define SRM_ORMCODE_OLD_HAWAIIAN_HAWAII                (301)
#define SRM_ORMCODE_OLD_HAWAIIAN_INT_HAWAII            (302)
#define SRM_ORMCODE_OLD_HAWAIIAN_INT_KAUAI             (303)
#define SRM_ORMCODE_OLD_HAWAIIAN_INT_MAUI              (304)
#define SRM_ORMCODE_OLD_HAWAIIAN_INT_MEAN_SOLUTION     (305)
#define SRM_ORMCODE_OLD_HAWAIIAN_INT_OAHU              (306)
#define SRM_ORMCODE_OLD_HAWAIIAN_KAUAI                 (307)
#define SRM_ORMCODE_OLD_HAWAIIAN_MAUI                  (308)
#define SRM_ORMCODE_OLD_HAWAIIAN_MEAN_SOLUTION         (309)
#define SRM_ORMCODE_OLD_HAWAIIAN_OAHU                  (310)
#define SRM_ORMCODE_OPHELIA                            (311)
#define SRM_ORMCODE_OSGB_1936                          (312)
#define SRM_ORMCODE_OSGB_1936_ENG_ISLE_OF_MAN          (313)
#define SRM_ORMCODE_OSGB_1936_ENGLAND                  (314)
#define SRM_ORMCODE_OSGB_1936_MEAN_SOLUTION            (315)
#define SRM_ORMCODE_OSGB_1936_SCOTLAND                 (316)
#define SRM_ORMCODE_OSGB_1936_WALES                    (317)
#define SRM_ORMCODE_OSLO_OBS_OLD                       (318)
#define SRM_ORMCODE_PADANG_BASE_WEST                   (319)
#define SRM_ORMCODE_PADANG_BASE_WEST_ZERO              (320)
#define SRM_ORMCODE_PALESTINE_1928                     (321)
#define SRM_ORMCODE_PAN                                (322)
#define SRM_ORMCODE_PANDORA                            (323)
#define SRM_ORMCODE_PASIPHAE                           (324)
#define SRM_ORMCODE_PHOBOS                             (325)
#define SRM_ORMCODE_PHOEBE                             (326)
#define SRM_ORMCODE_PICO_DE_LAS_NIEVES                 (327)
#define SRM_ORMCODE_PITCAIRN_ASTRO_1967                (328)
#define SRM_ORMCODE_PLUTO                              (329)
#define SRM_ORMCODE_PLUTO_INERTIAL                     (330)
#define SRM_ORMCODE_POINT_58_MEAN_SOLUTION             (331)
#define SRM_ORMCODE_POINTE_NOIRE_1948                  (332)
#define SRM_ORMCODE_PORTIA                             (333)
#define SRM_ORMCODE_PORTO_SANTO_1936                   (334)
#define SRM_ORMCODE_POTSDAM                            (335)
#define SRM_ORMCODE_PROMETHEUS                         (336)
#define SRM_ORMCODE_PROTEUS                            (337)
#define SRM_ORMCODE_PROV_S_AM_BOLIVIA                  (338)
#define SRM_ORMCODE_PROV_S_AM_COLOMBIA                 (339)
#define SRM_ORMCODE_PROV_S_AM_ECUADOR                  (340)
#define SRM_ORMCODE_PROV_S_AM_GUYANA                   (341)
#define SRM_ORMCODE_PROV_S_AM_MEAN_SOLUTION            (342)
#define SRM_ORMCODE_PROV_S_AM_N_CHILE_19S              (343)
#define SRM_ORMCODE_PROV_S_AM_PERU                     (344)
#define SRM_ORMCODE_PROV_S_AM_S_CHILE_43S              (345)
#define SRM_ORMCODE_PROV_S_AM_VENEZUELA                (346)
#define SRM_ORMCODE_PROV_S_AM_VENEZUELA_7              (347)
#define SRM_ORMCODE_PROV_S_CHILEAN_1963                (348)
#define SRM_ORMCODE_PUCK                               (349)
#define SRM_ORMCODE_PUERTO_RICO                        (350)
#define SRM_ORMCODE_PULKOVO_1942                       (351)
#define SRM_ORMCODE_PULKOVO_1942_ESTONIA               (352)
#define SRM_ORMCODE_PULKOVO_1942_GERMANY               (353)
#define SRM_ORMCODE_QATAR_NATIONAL                     (354)
#define SRM_ORMCODE_QATAR_NATIONAL_1974                (355)
#define SRM_ORMCODE_QATAR_NATIONAL_1995                (356)
#define SRM_ORMCODE_QORNOQ                             (357)
#define SRM_ORMCODE_RAUENBERG                          (358)
#define SRM_ORMCODE_RECONN_TRIANG_MOROCCO              (359)
#define SRM_ORMCODE_REUNION_1947                       (360)
#define SRM_ORMCODE_RGF_1993                           (361)
#define SRM_ORMCODE_RHEA                               (362)
#define SRM_ORMCODE_RIKETS_1990                        (363)
#define SRM_ORMCODE_RIKETS_1990                        (364)
#define SRM_ORMCODE_RIKETS_1990_ZERO                   (365)
#define SRM_ORMCODE_ROME_1940                          (366)
#define SRM_ORMCODE_ROME_1940_7                        (367)
#define SRM_ORMCODE_ROME_1940_SARDINIA                 (368)
#define SRM_ORMCODE_ROME_1940_SICILY                   (369)
#define SRM_ORMCODE_ROME_1940_ZERO                     (370)
#define SRM_ORMCODE_ROME_1940_ZERO_7                   (371)
#define SRM_ORMCODE_ROSALIND                           (372)
#define SRM_ORMCODE_S_AFRICAN                          (373)
#define SRM_ORMCODE_S_AM_1969_ARGENTINA                (374)
#define SRM_ORMCODE_S_AM_1969_BALTRA                   (375)
#define SRM_ORMCODE_S_AM_1969_BOLIVIA                  (376)
#define SRM_ORMCODE_S_AM_1969_BRAZIL                   (377)
#define SRM_ORMCODE_S_AM_1969_CHILE                    (378)
#define SRM_ORMCODE_S_AM_1969_COLOMBIA                 (379)
#define SRM_ORMCODE_S_AM_1969_ECUADOR                  (380)
#define SRM_ORMCODE_S_AM_1969_GUYANA                   (381)
#define SRM_ORMCODE_S_AM_1969_MEAN_SOLUTION            (382)
#define SRM_ORMCODE_S_AM_1969_PARAGUAY                 (383)
#define SRM_ORMCODE_S_AM_1969_PERU                     (384)
#define SRM_ORMCODE_S_AM_1969_TRINIDAD_TOBAGO          (385)
#define SRM_ORMCODE_S_AM_1969_VENEZUELA                (386)
#define SRM_ORMCODE_S_ASIA                             (387)
#define SRM_ORMCODE_S_EAST_ISLAND                      (388)
#define SRM_ORMCODE_S_JTSK                             (389)
#define SRM_ORMCODE_S_JTSK_CZECH                       (390)
#define SRM_ORMCODE_S_JTSK_SLOVAKIA                    (391)
#define SRM_ORMCODE_S42_PULKOVO_1958                   (392)
#define SRM_ORMCODE_S42_PULKOVO_AFGHANISTAN            (393)
#define SRM_ORMCODE_S42_PULKOVO_ALBANIA                (394)
#define SRM_ORMCODE_S42_PULKOVO_CZECH                  (395)
#define SRM_ORMCODE_S42_PULKOVO_HUNGARY                (396)
#define SRM_ORMCODE_S42_PULKOVO_KAZAKHSTAN             (397)
#define SRM_ORMCODE_S42_PULKOVO_LATVIA                 (398)
#define SRM_ORMCODE_S42_PULKOVO_POLAND                 (399)
#define SRM_ORMCODE_S42_PULKOVO_ROMANIA                (400)
#define SRM_ORMCODE_S42_PULKOVO_ROMANIA_G              (401)
#define SRM_ORMCODE_SANTO_DOS_1965                     (402)
#define SRM_ORMCODE_SAO_BRAZ                           (403)
#define SRM_ORMCODE_SAPPER_HILL_1943                   (404)
#define SRM_ORMCODE_SAPPER_HILL_1943_ADJ_2000          (405)
#define SRM_ORMCODE_SATURN                             (406)
#define SRM_ORMCODE_SATURN_INERTIAL                    (407)
#define SRM_ORMCODE_SATURN_MAGNETIC                    (408)
#define SRM_ORMCODE_SCHWARZECK                         (409)
#define SRM_ORMCODE_SELVAGEM_GRANDE_1938               (410)
#define SRM_ORMCODE_SIERRA_LEONE_1960                  (411)
#define SRM_ORMCODE_SINOPE                             (412)
#define SRM_ORMCODE_SIRGAS                             (413)
#define SRM_ORMCODE_SOVIET_GEODETIC_1985               (414)
#define SRM_ORMCODE_SOVIET_GEODETIC_1990               (415)
#define SRM_ORMCODE_ST_PIERRE_ET_MIQUELON_1950         (416)
#define SRM_ORMCODE_STOCKHOLM_1938                     (417)
#define SRM_ORMCODE_SUN                                (418)
#define SRM_ORMCODE_SYCORAX                            (419)
#define SRM_ORMCODE_SYDNEY_OBSERVATORY                 (420)
#define SRM_ORMCODE_TANANARIVE_OBS                     (421)
#define SRM_ORMCODE_TANANARIVE_OBS_7                   (422)
#define SRM_ORMCODE_TANANARIVE_OBS_ZERO                (423)
#define SRM_ORMCODE_TANANARIVE_OBS_ZERO_7              (424)
#define SRM_ORMCODE_TELESTO                            (425)
#define SRM_ORMCODE_TETE_MOZAMBIQUE                    (426)
#define SRM_ORMCODE_TETHYS                             (427)
#define SRM_ORMCODE_THALASSA                           (428)
#define SRM_ORMCODE_THEBE                              (429)
#define SRM_ORMCODE_TIMBALAI_1948                      (430)
#define SRM_ORMCODE_TIMBALAI_1948_BESSEL               (431)
#define SRM_ORMCODE_TIMBALAI_1948_EVEREST              (432)
#define SRM_ORMCODE_TIMBALAI_1968_ADJ_1948             (433)
#define SRM_ORMCODE_TIMBALAI_1968_ADJ_1948_EVEREST     (434)
#define SRM_ORMCODE_TITAN                              (435)
#define SRM_ORMCODE_TITANIA                            (436)
#define SRM_ORMCODE_TOKYO_JAPAN                        (437)
#define SRM_ORMCODE_TOKYO_KOREA_1997                   (438)
#define SRM_ORMCODE_TOKYO_MEAN_SOLUTION                (439)
#define SRM_ORMCODE_TOKYO_OKINAWA                      (440)
#define SRM_ORMCODE_TRINIDAD_1903                      (441)
#define SRM_ORMCODE_TRISTAN_ASTRO_1968                 (442)
#define SRM_ORMCODE_TRITON                             (443)
#define SRM_ORMCODE_UMBRIEL                            (444)
#define SRM_ORMCODE_URANUS                             (445)
#define SRM_ORMCODE_URANUS_INERTIAL                    (446)
#define SRM_ORMCODE_URANUS_MAGNETIC                    (447)
#define SRM_ORMCODE_VENUS                              (448)
#define SRM_ORMCODE_VENUS_INERTIAL                     (449)
#define SRM_ORMCODE_VITI_LEVU_1916                     (450)
#define SRM_ORMCODE_VOIROL_1874                        (451)
#define SRM_ORMCODE_VOIROL_1874_ZERO                   (452)
#define SRM_ORMCODE_VOIROL_1960_ALGERIA                (453)
#define SRM_ORMCODE_VOIROL_1960_ZERO_ALGERIA           (454)
#define SRM_ORMCODE_WAKE_ENIWETOK_1960                 (455)
#define SRM_ORMCODE_WAKE_ISLAND_ASTRO_1952             (456)
#define SRM_ORMCODE_WGS_1972                           (457)
#define SRM_ORMCODE_WGS_1984                           (458)
#define SRM_ORMCODE_YACARE_URUGUAY                     (459)
#define SRM_ORMCODE_ZANDERIJ_SURINAME                  (460)

5.4.6 SRM_SRF_Template_Code

SRM Data Type:  SRF_Template_Code

typedef SRM_Short_Integer SRM_SRF_Template_Code;

#define SRM_SRFT_CELESTIOCENTRIC                          (1)
#define SRM_SRFT_3D_LOCAL_SPACE_RECTANGULAR               (2)
#define SRM_SRFT_2D_LOCAL_SPACE_RECTANGULAR               (3)
#define SRM_SRFT_CELESTIODETIC                            (4)
#define SRM_SRFT_3D_LOCAL_TANGENT_PLANE                   (5)
#define SRM_SRFT_LOCAL_AZIMUTHAL_SPHERICAL_TANGENT_PLANE  (6)
#define SRM_SRFT_SURFACE_LOCAL_AZIMUTHAL_TANGENT_PLANE    (7)
#define SRM_SRFT_2D_AZIMUTHAL                             (8)
#define SRM_SRFT_LOCAL_CYLINDRICAL_TANGENT_PLANE          (9)
#define SRM_SRFT_2D_POLAR                                 (10)
#define SRM_SRFT_CELESTIOMAGNETIC                         (11)
#define SRM_SRFT_EQUATORIAL_INERTIAL                      (12)
#define SRM_SRFT_SOLAR_ECLIPTIC                           (13)
#define SRM_SRFT_SOLAR_EQUITORIAL                         (14)
#define SRM_SRFT_SOLAR_MAGETOSPHERIC                      (15)
#define SRM_SRFT_SOLAR_MAGNETIC                           (16)
#define SRM_SRFT_HELIOSPHERIC_ARIES_ECLIPTIC              (17)
#define SRM_SRFT_HELIOSPHERIC_EARTH_ECLIPTIC              (18)
#define SRM_SRFT_HELIOSPHERIC_EARTH_EQUATORIAL            (19)
#define SRM_SRFT_MERCATOR                                 (20)
#define SRM_SRFT_OBLIQUE_MERCATOR                         (21)
#define SRM_SRFT_TRANSVERSE_MERCATOR                      (22)
#define SRM_SRFT_LAMBERT_CONFORMAL_CONIC                  (23)
#define SRM_SRFT_POLAR_STEREOGRAPHIC                      (24)
#define SRM_SRFT_EQUIDISTANT_CYLINDRICAL                  (25)

5.4.7 SRM_SRF_Code

SRM Data Type:  SRF_SRF_Code

typedef SRM_Short_Integer SRM_SRF_Code;

#define SRM_SRF_BRITISH_NATIONAL_GRID        (1)
#define SRM_SRF_DELAWARE_SPCS                (2)
#define SRM_SRF_GEOCENTRIC_EARTH_1984        (3)
#define SRM_SRF_GEODETIC_AUSTRALIA_1984      (4)
#define SRM_SRF_GEODETIC_AUSTRALIA_1990      (5)
#define SRM_SRF_GEODETIC_EARTH_1984          (6)
#define SRM_SRF_GEODETIC_EUROPE_1950         (7)
#define SRM_SRF_GEODETIC_JAPAN_1991          (8)
#define SRM_SRF_GEODETIC_N_AMERICAN_1950     (9)
#define SRM_SRF_IRISH_GRID                   (10)
#define SRM_SRF_IRISH_TRANSVERSE_MERCATOR    (11)
#define SRM_SRF_LAMBERT_93                   (12)
#define SRM_SRF_LAMBERT_II_WIDE              (13)
#define SRM_SRF_MARYLAND_SPACE               (14)

5.4.8 SRM_SRF_Set_Code

SRM Data Type:  SRF_SRF_Set_Code

typedef SRM_Short_Integer SRM_SRF_Set_Code;

#define SRM_SRFS_ALABAMA_SPCS                    (1)
#define SRM_SRFS_GTRS_GLOBAL_COORDINATE_SYSTEM   (2)
#define SRM_SRFS_LAMBERT_NTF                     (3)
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_BODY   (4)
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE   (5)
#define SRM_SRFS_UNIVERSAL_POLAR_STEREOGRAPHIC   (6)
#define SRM_SRFS_UNIVERSAL_TRANSVERSE_MERCATOR   (7)
#define SRM_SRFS_WISCONSIN_SPCS                  (8)

5.4.9 SRF set members

5.4.9.1 SRM_SRFS_ALABAMA_SPCS_SRFSM_Code

SRM Data Type:  SRFS_ALABAMA_SPCS_SRFSM_Code

typedef SRM_Short_Integer SRM_SRFS_ALABAMA_SPCS_SRFSM_Code;

#define SRM_SRFS_ALABAMA_SPCS_SRFSM_WEST_ZONE  (1)
#define SRM_SRFS_ALABAMA_SPCS_SRFSM_EAST_ZONE  (2)

5.4.9.2 SRM_SRFS_GLOBAL_COORDINATE_SYSTEM_SRFSM_Code

SRM Data Type:  SRFS_GLOBAL_COORDINATE_SYSTEM_SRFSM_Code

typedef SRM_Short_Integer SRM_SRFS_GLOBAL_COORDINATE_SYSTEM_SRFSM_Code;

#define SRM_SRFS_GLOBAL_COORDINATE_SYSTEM_SRFSM_TILE_1     (1)
                            •
                            •
                            •
#define SRM_SRFS_GLOBAL_COORDINATE_SYSTEM_SRFSM_TILE_49896 (49896)

5.4.9.3 SRM_SRFS_LAMBERT_NTF_SRFSM_Code

SRM Data Type:  SRFS_LAMBERT_NTF_SRFSM_Code

typedef SRM_Short_Integer SRM_SRFS_LAMBERT_NTF_SRFSM_Code;

#define SRM_SRFS_LAMBERT_NTF_SRFSM_ZONE_I    (1)
#define SRM_SRFS_LAMBERT_NTF_SRFSM_ZONE_II   (2)
#define SRM_SRFS_LAMBERT_NTF_SRFSM_ZONE_III  (3)
#define SRM_SRFS_LAMBERT_NTF_SRFSM_ZONE_IV   (4)

5.4.9.4 SRM_SRFS_MARS_TRANSVERSE_MERCATOR_BODY_SRFSM_Code

SRM Data Type:  SRFS_MARS_TRANSVERSE_MERCATOR_BODY_SRFSM_Code

typedef SRM_Short_Integer SRM_SRFS_MARS_TRANSVERSE_MERCATOR_BODY_SRFSM_Code;

#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_BODY_SRFSM_ID_1     (1)
                            •
                            •
                            •
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_BODY_SRFSM_ID_1944  (1944)

5.4.9.5 SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_Code

SRM Data Type:  SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_Code

typedef SRM_Short_Integer SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_Code;

#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_ID_1      (1)
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_ID_2      (2)
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_ID_3      (3)
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_ID_4      (4)
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_ID_5      (5)
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_ID_6      (6)
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_ID_7      (7)
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_ID_8      (8)
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_ID_9      (9)
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_ID_10     (10)
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_ID_11     (11)
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_ID_12     (12)
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_ID_13     (13)
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_ID_14     (14)
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_ID_15     (15)
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_ID_16     (16)
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_ID_17     (17)
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_ID_18     (18)
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_ID_19     (19)
#define SRM_SRFS_MARS_TRANSVERSE_MERCATOR_POLE_SRFSM_ID_20     (20)

5.4.9.6 SRM_SRFS_UNIVERSAL_POLAR_STEREOGRAPHIC_SRFSM_Code

SRM Data Type:  SRFS_UNIVERSAL_POLAR_STEREOGRAPHIC_SRFSM_Code

typedef SRM_Short_Integer SRM_SRFS_UNIVERSAL_POLAR_STEREOGRAPHIC_SRFSM_Code;

#define SRM_SRFS_UNIVERSAL_POLAR_STEREOGRAPHIC_SRFSM_NORTHERN_POLE   (1)
#define SRM_SRFS_UNIVERSAL_POLAR_STEREOGRAPHIC_SRFSM_SOUTHERN_POLE   (2)

5.4.9.7 SRM_SRFS_UNIVERSAL_TRANSVERSE_MERCATOR_SRFSM_Code

SRM Data Type:  SRFS_UNIVERSAL_TRANSVERSE_MERCATOR_SRFSM_Code

typedef SRM_Short_Integer SRM_SRFS_UNIVERSAL_TRANSVERSE_MERCATOR_SRFSM_Code;

#define SRM_SRFS_UTM_SRFSM_ZONE_1_NORTHERN_HEMISPHERE         (1)
#define SRM_SRFS_UTM_SRFSM_ZONE_2_NORTHERN_HEMISPHERE         (2)
#define SRM_SRFS_UTM_SRFSM_ZONE_3_NORTHERN_HEMISPHERE         (3)
#define SRM_SRFS_UTM_SRFSM_ZONE_4_NORTHERN_HEMISPHERE         (4)
#define SRM_SRFS_UTM_SRFSM_ZONE_5_NORTHERN_HEMISPHERE         (5)
#define SRM_SRFS_UTM_SRFSM_ZONE_6_NORTHERN_HEMISPHERE         (6)
#define SRM_SRFS_UTM_SRFSM_ZONE_7_NORTHERN_HEMISPHERE         (7)
#define SRM_SRFS_UTM_SRFSM_ZONE_8_NORTHERN_HEMISPHERE         (8)
#define SRM_SRFS_UTM_SRFSM_ZONE_9_NORTHERN_HEMISPHERE         (9)
#define SRM_SRFS_UTM_SRFSM_ZONE_10_NORTHERN_HEMISPHERE        (10)
#define SRM_SRFS_UTM_SRFSM_ZONE_11_NORTHERN_HEMISPHERE        (11)
#define SRM_SRFS_UTM_SRFSM_ZONE_12_NORTHERN_HEMISPHERE        (12)
#define SRM_SRFS_UTM_SRFSM_ZONE_13_NORTHERN_HEMISPHERE        (13)
#define SRM_SRFS_UTM_SRFSM_ZONE_14_NORTHERN_HEMISPHERE        (14)
#define SRM_SRFS_UTM_SRFSM_ZONE_15_NORTHERN_HEMISPHERE        (15)
#define SRM_SRFS_UTM_SRFSM_ZONE_16_NORTHERN_HEMISPHERE        (16)
#define SRM_SRFS_UTM_SRFSM_ZONE_17_NORTHERN_HEMISPHERE        (17)
#define SRM_SRFS_UTM_SRFSM_ZONE_18_NORTHERN_HEMISPHERE        (18)
#define SRM_SRFS_UTM_SRFSM_ZONE_19_NORTHERN_HEMISPHERE        (19)
#define SRM_SRFS_UTM_SRFSM_ZONE_20_NORTHERN_HEMISPHERE        (20)
#define SRM_SRFS_UTM_SRFSM_ZONE_21_NORTHERN_HEMISPHERE        (21)
#define SRM_SRFS_UTM_SRFSM_ZONE_22_NORTHERN_HEMISPHERE        (22)
#define SRM_SRFS_UTM_SRFSM_ZONE_23_NORTHERN_HEMISPHERE        (23)
#define SRM_SRFS_UTM_SRFSM_ZONE_24_NORTHERN_HEMISPHERE        (24)
#define SRM_SRFS_UTM_SRFSM_ZONE_25_NORTHERN_HEMISPHERE        (25)
#define SRM_SRFS_UTM_SRFSM_ZONE_26_NORTHERN_HEMISPHERE        (26)
#define SRM_SRFS_UTM_SRFSM_ZONE_27_NORTHERN_HEMISPHERE        (27)
#define SRM_SRFS_UTM_SRFSM_ZONE_28_NORTHERN_HEMISPHERE        (28)
#define SRM_SRFS_UTM_SRFSM_ZONE_29_NORTHERN_HEMISPHERE        (29)
#define SRM_SRFS_UTM_SRFSM_ZONE_30_NORTHERN_HEMISPHERE        (30)
#define SRM_SRFS_UTM_SRFSM_ZONE_31_NORTHERN_HEMISPHERE        (31)
#define SRM_SRFS_UTM_SRFSM_ZONE_32_NORTHERN_HEMISPHERE        (32)
#define SRM_SRFS_UTM_SRFSM_ZONE_33_NORTHERN_HEMISPHERE        (33)
#define SRM_SRFS_UTM_SRFSM_ZONE_34_NORTHERN_HEMISPHERE        (34)
#define SRM_SRFS_UTM_SRFSM_ZONE_35_NORTHERN_HEMISPHERE        (35)
#define SRM_SRFS_UTM_SRFSM_ZONE_36_NORTHERN_HEMISPHERE        (36)
#define SRM_SRFS_UTM_SRFSM_ZONE_37_NORTHERN_HEMISPHERE        (37)
#define SRM_SRFS_UTM_SRFSM_ZONE_38_NORTHERN_HEMISPHERE        (38)
#define SRM_SRFS_UTM_SRFSM_ZONE_39_NORTHERN_HEMISPHERE        (39)
#define SRM_SRFS_UTM_SRFSM_ZONE_40_NORTHERN_HEMISPHERE        (40)
#define SRM_SRFS_UTM_SRFSM_ZONE_41_NORTHERN_HEMISPHERE        (41)
#define SRM_SRFS_UTM_SRFSM_ZONE_42_NORTHERN_HEMISPHERE        (42)
#define SRM_SRFS_UTM_SRFSM_ZONE_43_NORTHERN_HEMISPHERE        (43)
#define SRM_SRFS_UTM_SRFSM_ZONE_44_NORTHERN_HEMISPHERE        (44)
#define SRM_SRFS_UTM_SRFSM_ZONE_45_NORTHERN_HEMISPHERE        (45)
#define SRM_SRFS_UTM_SRFSM_ZONE_46_NORTHERN_HEMISPHERE        (46)
#define SRM_SRFS_UTM_SRFSM_ZONE_47_NORTHERN_HEMISPHERE        (47)
#define SRM_SRFS_UTM_SRFSM_ZONE_48_NORTHERN_HEMISPHERE        (48)
#define SRM_SRFS_UTM_SRFSM_ZONE_49_NORTHERN_HEMISPHERE        (49)
#define SRM_SRFS_UTM_SRFSM_ZONE_50_NORTHERN_HEMISPHERE        (50)
#define SRM_SRFS_UTM_SRFSM_ZONE_51_NORTHERN_HEMISPHERE        (51)
#define SRM_SRFS_UTM_SRFSM_ZONE_52_NORTHERN_HEMISPHERE        (52)
#define SRM_SRFS_UTM_SRFSM_ZONE_53_NORTHERN_HEMISPHERE        (53)
#define SRM_SRFS_UTM_SRFSM_ZONE_54_NORTHERN_HEMISPHERE        (54)
#define SRM_SRFS_UTM_SRFSM_ZONE_55_NORTHERN_HEMISPHERE        (55)
#define SRM_SRFS_UTM_SRFSM_ZONE_56_NORTHERN_HEMISPHERE        (56)
#define SRM_SRFS_UTM_SRFSM_ZONE_57_NORTHERN_HEMISPHERE        (57)
#define SRM_SRFS_UTM_SRFSM_ZONE_58_NORTHERN_HEMISPHERE        (58)
#define SRM_SRFS_UTM_SRFSM_ZONE_59_NORTHERN_HEMISPHERE        (59)
#define SRM_SRFS_UTM_SRFSM_ZONE_60_NORTHERN_HEMISPHERE        (60)
#define SRM_SRFS_UTM_SRFSM_ZONE_61_NORTHERN_HEMISPHERE        (61)
#define SRM_SRFS_UTM_SRFSM_ZONE_62_NORTHERN_HEMISPHERE        (62)
#define SRM_SRFS_UTM_SRFSM_ZONE_63_NORTHERN_HEMISPHERE        (63)
#define SRM_SRFS_UTM_SRFSM_ZONE_64_NORTHERN_HEMISPHERE        (64)
#define SRM_SRFS_UTM_SRFSM_ZONE_65_NORTHERN_HEMISPHERE        (65)
#define SRM_SRFS_UTM_SRFSM_ZONE_66_NORTHERN_HEMISPHERE        (66)
#define SRM_SRFS_UTM_SRFSM_ZONE_67_NORTHERN_HEMISPHERE        (67)
#define SRM_SRFS_UTM_SRFSM_ZONE_68_NORTHERN_HEMISPHERE        (68)
#define SRM_SRFS_UTM_SRFSM_ZONE_69_NORTHERN_HEMISPHERE        (69)
#define SRM_SRFS_UTM_SRFSM_ZONE_70_NORTHERN_HEMISPHERE        (70)
#define SRM_SRFS_UTM_SRFSM_ZONE_71_NORTHERN_HEMISPHERE        (71)
#define SRM_SRFS_UTM_SRFSM_ZONE_72_NORTHERN_HEMISPHERE        (72)
#define SRM_SRFS_UTM_SRFSM_ZONE_73_NORTHERN_HEMISPHERE        (73)
#define SRM_SRFS_UTM_SRFSM_ZONE_74_NORTHERN_HEMISPHERE        (74)
#define SRM_SRFS_UTM_SRFSM_ZONE_75_NORTHERN_HEMISPHERE        (75)
#define SRM_SRFS_UTM_SRFSM_ZONE_76_NORTHERN_HEMISPHERE        (76)
#define SRM_SRFS_UTM_SRFSM_ZONE_77_NORTHERN_HEMISPHERE        (77)
#define SRM_SRFS_UTM_SRFSM_ZONE_78_NORTHERN_HEMISPHERE        (78)
#define SRM_SRFS_UTM_SRFSM_ZONE_79_NORTHERN_HEMISPHERE        (79)
#define SRM_SRFS_UTM_SRFSM_ZONE_80_NORTHERN_HEMISPHERE        (80)
#define SRM_SRFS_UTM_SRFSM_ZONE_81_NORTHERN_HEMISPHERE        (81)
#define SRM_SRFS_UTM_SRFSM_ZONE_82_NORTHERN_HEMISPHERE        (82)
#define SRM_SRFS_UTM_SRFSM_ZONE_83_NORTHERN_HEMISPHERE        (83)
#define SRM_SRFS_UTM_SRFSM_ZONE_84_NORTHERN_HEMISPHERE        (84)
#define SRM_SRFS_UTM_SRFSM_ZONE_85_NORTHERN_HEMISPHERE        (85)
#define SRM_SRFS_UTM_SRFSM_ZONE_86_NORTHERN_HEMISPHERE        (86)
#define SRM_SRFS_UTM_SRFSM_ZONE_87_NORTHERN_HEMISPHERE        (87)
#define SRM_SRFS_UTM_SRFSM_ZONE_88_NORTHERN_HEMISPHERE        (88)
#define SRM_SRFS_UTM_SRFSM_ZONE_89_NORTHERN_HEMISPHERE        (89)
#define SRM_SRFS_UTM_SRFSM_ZONE_90_NORTHERN_HEMISPHERE        (90)
#define SRM_SRFS_UTM_SRFSM_ZONE_91_NORTHERN_HEMISPHERE        (91)
#define SRM_SRFS_UTM_SRFSM_ZONE_92_NORTHERN_HEMISPHERE        (92)
#define SRM_SRFS_UTM_SRFSM_ZONE_93_NORTHERN_HEMISPHERE        (93)
#define SRM_SRFS_UTM_SRFSM_ZONE_94_NORTHERN_HEMISPHERE        (94)
#define SRM_SRFS_UTM_SRFSM_ZONE_95_NORTHERN_HEMISPHERE        (95)
#define SRM_SRFS_UTM_SRFSM_ZONE_96_NORTHERN_HEMISPHERE        (96)
#define SRM_SRFS_UTM_SRFSM_ZONE_97_NORTHERN_HEMISPHERE        (97)
#define SRM_SRFS_UTM_SRFSM_ZONE_98_NORTHERN_HEMISPHERE        (98)
#define SRM_SRFS_UTM_SRFSM_ZONE_99_NORTHERN_HEMISPHERE        (99)
#define SRM_SRFS_UTM_SRFSM_ZONE_100_NORTHERN_HEMISPHERE       (100)
#define SRM_SRFS_UTM_SRFSM_ZONE_101_NORTHERN_HEMISPHERE       (101)
#define SRM_SRFS_UTM_SRFSM_ZONE_102_NORTHERN_HEMISPHERE       (102)
#define SRM_SRFS_UTM_SRFSM_ZONE_103_NORTHERN_HEMISPHERE       (103)
#define SRM_SRFS_UTM_SRFSM_ZONE_104_NORTHERN_HEMISPHERE       (104)
#define SRM_SRFS_UTM_SRFSM_ZONE_105_NORTHERN_HEMISPHERE       (105)
#define SRM_SRFS_UTM_SRFSM_ZONE_106_NORTHERN_HEMISPHERE       (106)
#define SRM_SRFS_UTM_SRFSM_ZONE_107_NORTHERN_HEMISPHERE       (107)
#define SRM_SRFS_UTM_SRFSM_ZONE_108_NORTHERN_HEMISPHERE       (108)
#define SRM_SRFS_UTM_SRFSM_ZONE_109_NORTHERN_HEMISPHERE       (109)
#define SRM_SRFS_UTM_SRFSM_ZONE_110_NORTHERN_HEMISPHERE       (110)
#define SRM_SRFS_UTM_SRFSM_ZONE_111_NORTHERN_HEMISPHERE       (111)
#define SRM_SRFS_UTM_SRFSM_ZONE_112_NORTHERN_HEMISPHERE       (112)
#define SRM_SRFS_UTM_SRFSM_ZONE_113_NORTHERN_HEMISPHERE       (113)
#define SRM_SRFS_UTM_SRFSM_ZONE_114_NORTHERN_HEMISPHERE       (114)
#define SRM_SRFS_UTM_SRFSM_ZONE_115_NORTHERN_HEMISPHERE       (115)
#define SRM_SRFS_UTM_SRFSM_ZONE_116_NORTHERN_HEMISPHERE       (116)
#define SRM_SRFS_UTM_SRFSM_ZONE_117_NORTHERN_HEMISPHERE       (117)
#define SRM_SRFS_UTM_SRFSM_ZONE_118_NORTHERN_HEMISPHERE       (118)
#define SRM_SRFS_UTM_SRFSM_ZONE_119_NORTHERN_HEMISPHERE       (119)
#define SRM_SRFS_UTM_SRFSM_ZONE_120_NORTHERN_HEMISPHERE       (120)
#define SRM_SRFS_UTM_SRFSM_ZONE_60_SOUTHERN_HEMISPHERE        (120)

5.4.9.8 SRM_SRFS_WISCONSIN_SPCS_SRFSM_Code

SRM Data Type:  SRFS_WISCONSIN_SPCS_SRFSM_Code

typedef SRM_Short_Integer SRM_SRFS_WISCONSIN_SPCS_SRFSM_Code;

#define SRM_SRFS_WISCONSIN_SPCS_SRFSM_SOUTH_ZONE    (1)
#define SRM_SRFS_WISCONSIN_SPCS_SRFSM_CENTRAL_ZONE  (2)
#define SRM_SRFS_WISCONSIN_SPCS_SRFSM_NORTH_ZONE    (3)

5.4.10 SRM_Vertical_Offset_Surface_Spectification_Code

SRM Data Type:  SRF_Vertical_Offset_Surface_Spectification_Code

typedef SRM_Short_Integer SRM_Vertical_Offset_Surface_Spectification_Code;

#define SRM_VOS_EGM96_GEOID                         (1)
#define SRM_VOS_IGLD_1955                           (2)
#define SRM_VOS_MSL                                 (3)
#define SRM_VOS_NAVD_1988                           (4)
#define SRM_VOS_MISSING                             (5)
#define SRM_VOS_OSGM_2002                           (6)
#define SRM_VOS_WGS84_GEOID                         (7)