SEDRIS logo

Part 3: Transmittal format binary encoding

5 Encoding of data types

5.1 Introduction

5.1.1 Table of contents

The contents of this clause are summarized in Table 5.1

Table 5.1 — Table of contents

5 Encoding of data types

5.1 Introduction

5.1.1 Table of contents

5.1.2 Description

5.1.3 Notation conventions

5.2 Encoding of STF-specific data types

5.2.1 Rules for encoding data types

5.2.2 STF primitive data types

5.2.3 STF_Octet

5.2.4 Integer representations

5.2.4.1 Overview

5.2.4.2 OCE8_Unsigned

5.2.4.3 OCE8_Signed

5.2.4.4 STF_Byte_Unsigned

5.2.4.5 STF_Short_Integer_Unsigned

5.2.4.6 STF_Integer_Unsigned

5.2.5 Floating point representations

5.2.5.1 Overview

5.2.5.2 STF_Float

5.2.5.3 STF_Long_Float

5.2.6 Record representations

5.2.6.1 Overview

5.2.6.2 STF_Data_Table_Extents

5.2.6.3 STF_Data_Table_Sentinel_Type

5.2.6.4 STF_FBO

5.2.6.5 STF_Index_Range

5.2.7 String representations

5.3 Encoding of SEDRIS data types

5.3.1 Overview

5.3.2 SEDRIS basic data types

5.3.2.1 Integer data types

5.3.2.2 Floating point data types

5.3.2.3 Character data type

5.3.2.4 Octet data type

5.3.3 SEDRIS enumerated data types

5.3.3.1 Overview

5.3.3.2 Boolean

5.3.3.3 Colour_Binding

5.3.3.4 EDCS_Boolean

5.3.3.5 Image_Scan_Direction

5.3.3.6 Image_Scan_Direction_Z

5.3.3.7 Interval_Type

5.3.3.8 LSR_Transformation_Axis

5.3.3.9 Model_Reference_Type

5.3.3.10 Month

5.3.3.11 Octant

5.3.3.12 Point_Light_Display_Type

5.3.3.13 Present_In

5.3.3.14 Quadrant

5.3.3.15 Reference_Surface_Elevation_Select

5.3.3.16 Reference_Surface_LOD_Select

5.3.3.17 State_Mismatch_Behaviour

5.3.4 SEDRIS selection data types

5.3.5 SEDRIS set data types

5.3.5.1 Overview

5.3.5.2 Display_Side

5.3.5.3 Display_Style

5.3.5.4 Polygon_Flags

5.3.5.5 Presentation_Domain

5.3.6 SEDRIS array data types

5.3.7 SEDRIS record data types

5.3.7.1 General form

5.3.7.2 Address

5.3.7.3 Animation_Range

5.3.7.4 CI_Online_Resource

5.3.7.5 CMY_Data

5.3.7.6 Contact_Information

5.3.7.7 Count_Interval_Value

5.3.7.8 Data_Quality_Element

5.3.7.9 Data_Table_Data

5.3.7.10 Data_Table_Extents

5.3.7.11 EDCS_Count_Interval

5.3.7.12 EDCS_Integer_Interval

5.3.7.13 EDCS_String

5.3.7.14 Element_Type

5.3.7.15 HSV_Data

5.3.7.16 Image_Data

5.3.7.17 Image_MIP_Extents

5.3.7.18 Image_Texel_Location_3D

5.3.7.19 Index_Range

5.3.7.20 Integer_Interval_Value

5.3.7.21 Interval_Value

5.3.7.22 Locale

5.3.7.23 Long_Float_Interval

5.3.7.24 Long_Float_Interval_Value

5.3.7.25 MD_SecurityConstraints

5.3.7.26 Property_Code

5.3.7.27 Real_Interval_Value

5.3.7.28 RGB_Data

5.3.7.29 Rotation_Data

5.3.7.30 Single_Value

5.3.7.31 String

5.3.7.32 Text_Font

5.3.7.33 Time_Day_Of_Year_Value

5.3.7.34 Time_M_Value

5.3.7.35 Time_MD_H_Value

5.3.7.36 Time_MD_HM_Value

5.3.7.37 Time_MD_HMS_Value

5.3.7.38 Time_Value

5.3.7.39 Time_Y_Value

5.3.7.40 Time_YD_Value

5.3.7.41 Time_YD_H_Value

5.3.7.42 Time_YD_HM_Value

5.3.7.43 Time_YD_HMS_Value

5.3.7.44 Time_YMD_Value

5.3.7.45 Time_YMD_H_Value

5.3.7.46 Time_YMD_HM_Value

5.3.7.47 Time_YMD_HMS_Value

5.3.7.48 URN

5.3.8 Other SEDRIS data types

5.4 Encoding of SRM data types

5.4.1 Overview

5.4.2 SRM basic data types

5.4.2.1 Integer data types

5.4.2.2 Floating point data types

5.4.3 SRM enumerated data types

5.4.3.1 Overview

5.4.3.2 SRM_Axis_Direction

5.4.3.3 SRM_Boolean

5.4.3.4 SRM_Parameters_Info_Code

5.4.3.5 SRM_Polar_Aspect

5.4.3.6 SRM_UPS_Code

5.4.4 SRM selection data types

5.4.5 SRM record data types

5.4.5.1 General form

5.4.5.2 SRM_AZ_2D_Coordinate

5.4.5.3 SRM_CD_3D_Coordinate

5.4.5.4 SRM_CD_Surface_Coordinate

5.4.5.5 SRM_Coord

5.4.5.6 SRM_EC_Parameters

5.4.5.7 SRM_EC_SRF_Parameters

5.4.5.8 SRM_EI_3D_Coordinate

5.4.5.9 SRM_Euclidean_2D_Coordinate

5.4.5.10 SRM_Euclidean_3D_Coordinate

5.4.5.11 SRM_LCC_Parameters

5.4.5.12 SRM_LCC_SRF_Parameters

5.4.5.13 SRM_LSR_2D_Parameters

5.4.5.14 SRM_LSR_2D_SRF_Parameters

5.4.5.15 SRM_LSR_3D_Parameters

5.4.5.16 SRM_LSR_3D_SRF_Parameters

5.4.5.17 SRM_LT_Parameters

5.4.5.18 SRM_LT_SRF_Parameters

5.4.5.19 SRM_LTSAS_3D_Coordinate

5.4.5.20 SRM_LTSAS_Surface_Coordinate

5.4.5.21 SRM_LTSC_3D_Coordinate

5.4.5.22 SRM_LTSC_Surface_Coordinate

5.4.5.23 SRM_LTSE_3D_Coordinate

5.4.5.24 SRM_LTSE_Parameters

5.4.5.25 SRM_LTSE_SRF_Parameters

5.4.5.26 SRM_LTSE_Surface_Coordinate

5.4.5.27 SRM_Map_Projection_3D_Coordinate

5.4.5.28 SRM_Map_Projection_Surface_Coordinate

5.4.5.29 SRM_Mercator_Parameters

5.4.5.30 SRM_Mercator_SRF_Parameters

5.4.5.31 SRM_OM_Parameters

5.4.5.32 SRM_OM_SRF_Parameters

5.4.5.33 SRM_ORM_Parameters

5.4.5.34 SRM_ORM_Transformation_2D_Parameters

5.4.5.35 SRM_ORM_Transformation_3D_Parameters

5.4.5.36 SRM_Polar_2D_Coordinate

5.4.5.37 SRM_PS_Parameters

5.4.5.38 SRM_PS_SRF_Parameters

5.4.5.39 SRM_Spherical_3D_Coordinate

5.4.5.40 SRM_SRF_Info

5.4.5.41 SRM_SRF_Parameters_Info

5.4.5.42 SRM_SRF_Set_Info

5.4.5.43 SRM_SRF_Template_Parameters

5.4.5.44 SRM_Vector_3D

5.1.2 Description

This clause specifies the manner in which data types used in binary-encoded SEDRIS transmittals are encoded.

5.1.3 Notation conventions

This part of ISO/IEC 18023 specifies data types using the following form:

name : data type

where name specifies the identifier of the data and data type specifies the data type.

The box may indicate the bit positions of data types that occupy single storage units (8, 16, 32, or 64 bits).  For 64-bit data types only the leading and trailing bit positions are indicated. The other bit positions are implied. If the box does not indicate bit positions, the box represents a complex data type such as an array data type or a record data type whose bit positions can be determined by expanding the data type into its constituent parts.

When a data type has internal fields where the fields represent different meanings, the following form is used:

7

6

5

4

3

2

1

0

A

BB

CC

DDD

where each letter group is the name of a subfield. The specification of the subfield is presented in text following the form. While an octet is shown here as an example, the size of the data type may be any of the supported storage units.

5.2 Encoding of STF-specific data types

5.2.1 Rules for encoding data types

Instances of the data types defined in Part 1 of ISO/IEC 18023 and those defined in this part of ISO/IEC 18023 shall be encoded in the form specified in this part of ISO/IEC 18023.

For specifications containing multiple elements, the data shall be encoded in the order presented in this part of ISO/IEC 18023. For variant record types, the data shall be encoded to first encode the discriminant followed by the non-variant fields of the variant record type, if any. The variant field shall be the last field of the variant record type.

5.2.2 STF primitive data types

These data types are used to store STF structural information as well as the information contained in the fields of object instances.

The STF does not require alignment of data types to specific memory boundaries other than octet boundaries.

The STF supports both big-endian and little-endian representations of data types. For presentation in this part of ISO/IEC 18023, big-endian will be used throughout.

Figure 5.1 illustrates a big endian representation for the 16-bit word-oriented data types.

15

14

13

12

11

10

9

8

 

7

6

5

4

3

2

1

0

Octet 0

 

Octet 1

Figure 5.1 — Big-endian representation for 16-bit word-oriented data types

Figure 5.2 illustrates the big endian representation for the 32-bit word-oriented data types.

31

30

29

28

27

26

25

24

 

23

22

21

20

19

18

17

16

 

15

14

13

12

11

10

9

8

 

7

6

5

4

3

2

1

0

Octet 0

 

Octet 1

 

Octet 2

 

Octet 3

Figure 5.2 — Big-endian representation for 32-bit word-oriented data types

Figure 5.3 illustrates the big endian representation for the 64-bit word-oriented data types.

63

62

61

60

59

58

57

56

 

55

54

53

52

51

50

49

48

•••

15

14

13

12

11

10

9

8

 

7

6

5

4

3

2

1

0

Octet 0

 

Octet 1

 

Octet 6

 

Octet 7

Figure 5.3 — Big-endian representation for 64-bit word-oriented data types

5.2.3 STF_Octet

The STF_Octet data type specifies an eight-bit field that represents a series of subfields or eight bits of data of unknown composition.

Figure 5.4 specifies this data type. When representing a series of subfields, the meaning of each group of bits representing a subfield is specified.

7

6

5

4

3

2

1

0

a

b

c

d

e

f

g

h

Figure 5.4 — STF_Octet formulation

where abcdefgh represent the individual bits within an octet.

5.2.4 Integer representations

5.2.4.1 Overview

Integers used for DRM content are represented as octet chain encoded (OCE) data types. These data types are of variable length with only the minimum number of octets needed to represent the value of any particular instance of an integer. Integers used in STF constructs are of fixed size from one to four octets.

5.2.4.2 OCE8_Unsigned

The length of a OCE8_Unsigned element is from one to five octets. The most significant bit (MSB) of each octet indicates whether another octet exists in the value. A MSB value of one indicates that another octet follows; a value of zero indicates that this is the last octet in the value. The LSB from the first octet forms the least significant bits of the integer value. The seven least significant bits (LSB) of subsequent octets are preconcatenated to form an Integer_Unsigned value. Figure 5.5 illustrates this data type.

7

6

5

4

3

2

1

0

 

7

6

5

4

3

2

1

0

 

7

6

5

4

3

2

1

0

1

a

b

c

d

e

f

g

 

1

h

i

j

k

l

m

n

 

0

o

p

q

r

s

t

u

Figure 5.5 — OCE8_Unsigned formulation

The 21 data bits identified by the letters a through u form the 21-bit non-negative integer

opqrstuhijklmnabcdefg

where zeroes fill the unspecified bits of an integer storage unit.

5.2.4.3 OCE8_Signed

The length of a OCE8_Signed element is from one to five octets. The most significant bit (MSB) of each octet indicates whether another octet exists in the value. A MSB value of one indicates that another octet follows; a value of zero indicates that this is the last octet in the value. The LSB from the first octet forms the least significant bits of the integer value. The seven least significant bits (LSB) of subsequent octets are preconcatenated to form an Integer value. Figure 5.6 specifies this data type.

7

6

5

4

3

2

1

0

 

7

6

5

4

3

2

1

0

 

7

6

5

4

3

2

1

0

1

a

b

c

d

e

f

g

 

1

h

i

j

k

l

m

n

 

0

o

p

q

r

s

t

u

Figure 5.6 — OCE8_Signed formulation

The 21 data bits identified by the letters a through u form the 21-bit two’s-complement integer:

opqrstuhijklmnabcdefg

where bit o is sign-extended to fill an integer storage unit.

5.2.4.4 STF_Byte_Unsigned

The length of an STF_Byte_Unsigned element is one octet.  Figure 5.7 specifies this data type. When included in the more complex constructs, the meaning of bits is specified.

7

6

5

4

3

2

1

0

a

b

c

d

e

f

g

h

Figure 5.7 — STF_Byte_Unsigned formulation

where the bit sequence abcdefgh forms an eight-bit unsigned integer value.

5.2.4.5 STF_Short_Integer_Unsigned

The length of an STF_Short_Integer_Unsigned element is two octets.  Figure 5.8 specifies this data type. This data type is always used to represent non-negative numbers.

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

p

Figure 5.8 — STF_Short_Integer_Unsigned formulation

where the bit sequence abcdefghijklmnop forms a non-negative 16-bit integer.

5.2.4.6 STF_Integer_Unsigned

The length of an STF_Integer_Unsigned element is four octets.  Figure 5.9 specifies this data type. This data type is always used to represent non-negative numbers.

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

p

q

r

s

t

u

v

w

x

y

z

0

1

2

3

4

5

Figure 5.9 — STF_Integer_Unsigned formulation

where the bit sequence abcdefghijklmnopqrstuvwxyz012345 forms a 32-bit unsigned integer.

5.2.5 Floating point representations

5.2.5.1 Overview

This format supports two types of floating point representations: single-precision and double-precision. These are encoded as specified in IEC 60559.

5.2.5.2 STF_Float

The STF_Float data type is depicted in Figure 5.10:

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

single-precision floating point

Figure 5.10 — single-precision floating point formulation

where the 32 bits specify a single-precision field or element.

5.2.5.3 STF_Long_Float

The STF_Long_Float data type is depicted in Figure 5.11.

63

62

61

60

59

58

57

56

• • •

7

6

5

4

3

2

1

0

double-precision floating point

Figure 5.11 — Double-precision floating point formulation

where the 64 bits specify a double-precision field or element.

No attempt is made to show the characteristic and the mantissa. Such information may be found in IEC 60559.

5.2.6 Record representations

5.2.6.1 Overview

Within the encoding format, data types that are a composite of basic data types are used. These are specified below.

5.2.6.2 STF_Data_Table_Extents

axes_bounds : Index_Range[axes_count : Short_Integer_Unsigned]

5.2.6.3 STF_Data_Table_Sentinel_Type

sentinel_value : Single_Value

mapped_sentinel_value : Integer_Unsigned

5.2.6.4 STF_FBO

file_index : STF_Short_Integer_Unsigned (range: 1..30000)

block_index : STF_Short_Integer_Unsigned (range:  0..4095)

object_index : STF_Byte_Unsigned (range:  0..255)

5.2.6.5 STF_Index_Range

first_index : Integer_Unsigned

last_index : Integer_Unsigned

5.2.7 String representations

STF specifies the use of null-terminated strings in the headers of its constructs. Such strings are formed by a series of UTF-8 characters as specified in ISO/IEC 10646-1 followed by the NULL character (0x00). This string data type is called STF_Characters.

5.3 Encoding of SEDRIS data types

5.3.1 Overview

The data types specified in 5 Fundamental data types of Part 1 of ISO/IEC 18023 are termed SEDRIS data types. These are represented explicitly as required by Part 1 of ISO/IEC 18023 or are mapped to the encoding specific data types specified in this part of ISO/IEC 18023. Only the data types specified in Part 1 of ISO/IEC 18023 that may exist as part of a transmittal shall be encoded. In particular, data types used solely by the SEDRIS API for parameters that do not represent data shall not be encoded.

SEDRIS data types derived from data types defined in ISO/IEC 18026 are encoded in 5.4 Encoding of SRM data types.

5.3.2 SEDRIS basic data types

5.3.2.1 Integer data types

The following integer data types specified in 5.2.3 Integers of Part 1 of ISO/IEC 18023 shall be encoded as specified in 5.2.4.2 OCE8_Unsigned:

Short_Integer_Unsigned
Short_Integer_Positive
Integer_Unsigned
Integer_Positive
EDCS_Count

The following integer data types specified in Part 1 of ISO/IEC 18023 shall be encoded as specified in 5.2.4.3 OCE8_Signed:

Short_Integer
Integer
EDCS_Integer
EDCS_Enumerant_Code

The following integer data types specified in Part 1 of ISO/IEC 18023 shall be encoded as 8-bit octets:

Byte
Byte_Unsigned
Byte_Positive

5.3.2.2 Floating point data types

The Float data type specified in 5.2.4 Floating point numbers of Part 1 of ISO/IEC 18023 shall be encoded as an STF_Float as specified in 5.2.5.2 STF_Float.

The Long_Float and EDCS_Long_Float data types specified in 5.2.4 of Part 1 of ISO/IEC 18023 shall both be encoded as STF_Long_Float as specified in 5.2.5.3 STF_Long_Float.

5.3.2.3 Character data type

All characters are encoded in UTF-8 as specified in Part 1 of ISO/IEC 10646. Accordingly, individual characters may occupy from one to six octets. The following is a list of all SEDRIS data types that are so encoded as specified in 5.2.3 Characters and strings of Part 1 of ISO/IEC 18023:

Character

5.3.2.4 Octet data type

The Octet data type as specified in 5.2.2 Octet of Part 1 of ISO/IEC 18023 is encoded as specified in 5.2.3 STF_Octet. The following SEDRIS data type is so encoded:

Octet

5.3.3 SEDRIS enumerated data types

5.3.3.1 Overview

The following SEDRIS enumerated data types defined in 5.2.6 Enumerated data types of Part 1 of ISO/IEC 18023 are encoded as specified in 5.2.4.2 OCE8_Unsigned. For each SEDRIS enumerated data type, the mapping of enumerants to integer values is specified:

5.3.3.2 Boolean

FALSE  → 0
TRUE   → 1

5.3.3.3 Colour_Binding

NORMAL           → 0
PARENT_OVERRIDE  → 1

5.3.3.4 EDCS_Boolean

FALSE  → 0
TRUE   → 1

5.3.3.5 Image_Scan_Direction

RIGHT_UP   → 0
RIGHT_DOWN → 1
DOWN_RIGHT → 2
DOWN_LEFT  → 3
LEFT_UP    → 4
LEFT_DOWN  → 5
UP_RIGHT   → 6
UP_LEFT    → 7

5.3.3.6 Image_Scan_Direction_Z

Z_NONE     → 0
Z_BACK     → 1
Z_FRONT    → 2

5.3.3.7 Interval_Type

OPEN_INTERVAL     → 0
GE_LT_INTERVAL    → 1
GT_LE_INTERVAL    → 2
CLOSED_INTERVAL   → 3
GT_SEMI_INTERVAL  → 4
GE_SEMI_INTERVAL  → 5
LT_SEMI_INTERVAL  → 6
LE_SEMI_INTERVAL  → 7
 

5.3.3.8 LSR_Transformation_Axis

X                      → 0
Y                      → 1
Z                      → 2
ALL                    → 3
AXIS_REFERENCE_VECTOR  → 4

5.3.3.9 Model_Reference_Type

COMPONENT           → 0
ROOT                → 1
ROOT_AND_COMPONENT  → 2

5.3.3.10 Month

JANUARY    → 0
FEBRUARY   → 1
MARCH      → 2
APRIL      → 3
MAY        → 4
JUNE       → 5
JULY       → 6
AUGUST     → 7
SEPTEMBER  → 8
OCTOBER    → 9
NOVEMBER   → 10
DECEMBER   → 11

5.3.3.11 Octant

UPPER_LEFT_FRONT    → 0
UPPER_LEFT_BACK     → 1
LOWER_LEFT_FRONT    → 2
LOWER_LEFT_BACK     → 3
UPPER_RIGHT_FRONT   → 4
UPPER_RIGHT_BACK    → 5
LOWER_RIGHT_FRONT   → 6
LOWER_RIGHT_BACK    → 7

5.3.3.12 Point_Light_Display_Type

RASTER       → 0
CALLIGRAPHIC → 1

5.3.3.13 Present_In

NONE                         → 0
ENVIRONMENT_ROOT             → 1
MODELS                       → 2
ENVIRONMENT_ROOT_AND_MODELS  → 3

5.3.3.14 Quadrant

LEFT_FRONT   → 0
LEFT_BACK    → 1
RIGHT_FRONT  → 2
RIGHT_BACK   → 3

5.3.3.15 Reference_Surface_Elevation_Select

CLOSEST_TO_ORM_CENTRE      → 0
CLOSEST_TO_VERTICAL_DATUM  → 1
HIGHEST                    → 2

5.3.3.16 Reference_Surface_LOD_Select

FULL           → 0
LEAST_DETAILED → 1

5.3.3.17 State_Mismatch_Behaviour

LAST       → 0
DEFAULT    → 1
NONE       → 2

5.3.4 SEDRIS selection data types

The following SEDRIS selection data types in 5.2.7 of Part 1 of ISO/IEC 18023 that may be part of a transmittal are encoded as OCE8_Signed as specified in 5.2.4.3 OCE8_Signed:

Axis_Alignment
Camera_Projection_Type
CI_RoleCode
Colour_Mapping
Colour_Model
Data_Table_Data_Value_Type
DRM_Class
EDCS_Attribute_Code
EDCS_Classification_Code
EDCS_Enumeration_Code
EDCS_Scale_Code
EDCS_Unit_Code
EDCS_Value_Characteristics_Code
Element_Type_Code
Feature_Topology_Level
Font_Style
Geometric_Centre_Code
Geometry_Topology_Level
Grid_Overlap_Operator
HS_Multiplicity_Code
Image_Component_Type
Image_Lookup_Signature
Image_Lookup_Type
Image_Mapping_Method
Image_Projection_Type
Image_Signature
Image_Wrap
Index_Code
Interpolation_Type
Interval_Value_Type
LOD_Data_Type
MD_KeywordTypeCode
MD_RestrictionCode
Media_Format
Ordering_Reason
Pixel_Fill_Method
Predefined_Function
Property_Code_Type
Reference_Vector_Type
Season
Shading_Method
Single_Value_Type
Sound_Format
Spacing_Type
Spatial_Association_Meaning_Type
Spatial_Index_Spacing_Unit
SRM_Elevation_Unit
SRM_Epoch
SRM_Horizontal_Datum_Code
SRM_SRF_Type
SRM_Vertical_Datum_Code
Symbol_Format
Time_Configuration
Time_Data_Type
Time_Measurement_Type
Time_Of_Day
Time_Significance
Underline_Style
Unmatched_State_Behaviour
Variable_Code
Volumetric_Shape

5.3.5 SEDRIS set data types

5.3.5.1 Overview

The SEDRIS set data types defined in 5.2.8 Set data types of Part 1 of ISO/IEC 18023 that may be used in a SEDRIS transmittal are each encoded as a 32-bit field with different set members mapped to individual bits as specified below. The bit layout for a set data type is specified in Figure 5.12. Each set data type specifies a particular number of bits to be used. All other bit positions shall be set to 0. A value of 1 in a bit position indicates that that set member is part of the set. A value of zero in a bit position indicates that that set member is not part of the set.

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figure 5.12 — Set data type formulation

5.3.5.2 Display_Side

FRONT → Bit 0
BACK  → Bit 1

5.3.5.3 Display_Style

SOLID     → Bit 0
WIREFRAME → Bit 1

5.3.5.4 Polygon_Flags

BACKDROP_GROUND               → Bit 0
BACKDROP_SKY                  → Bit 1
CLUTTER_ENHANCED              → Bit 2
COLLIDIBLE                    → Bit 3
CONCAVE                       → Bit 4
CUT                           → Bit 5
CUT_IMAGERY                   → Bit 6
DECAL                         → Bit 7
DO_NOT_DRAPE                  → Bit 8
ENABLE_FEATURE_SIZE_BLENDING  → Bit 9
ENABLE_FRACTAL                → Bit 10
ENABLE_POLYGON_RANGE_BLENDING → Bit 11
FOOTPRINT                     → Bit 12
HAT_TEST                      → Bit 13
INACTIVE                      → Bit 14
INVISIBLE                     → Bit 15
LASER_RANGE_FINDING           → Bit 16
MOON_REFLECTION               → Bit 17
OPAQUE_TOP                    → Bit 18
PROJECTILE_COLLIDIBLE         → Bit 19
RAISED                        → Bit 20
REFLECTIVE                    → Bit 21
SHADOW                        → Bit 22
SUN_ILLUMINATED               → Bit 23
TERRAIN                       → Bit 24
VISIBLE_FLOOR                 → Bit 25
VISIBLE_INTERIOR              → Bit 26
VISIBLE_PERIMETER             → Bit 27
WATER_BODY_SURFACE            → Bit 28

5.3.5.5 Presentation_Domain

OTW           → Bit 0
IR_HI_BAND    → Bit 1
IR_LOW_BAND   → Bit 2
NVG           → Bit 3
DAY_TV_COLOUR → Bit 4
DAY_TV_BW     → Bit 5
RADAR         → Bit 6
SAR           → Bit 7
THERMAL       → Bit 8
LOW_LIGHT_TV  → Bit 9

5.3.6 SEDRIS array data types

Fixed length arrays shall be encoded as a sequence of the base data type for the array. If the array is two-dimensional, the sequence shall be sorted such that all the elements of the first index for a value of the second index are represented before the first element of the next value of the second index.

Variable length arrays shall be encoded by first encoding the sizes of each dimension of the array before encoding the array. Once the dimensions are encoded, the array shall be encoded as for fixed length arrays. Some variable length arrays have their lengths specified by other parameters. In this case, the length specified by the other parameter shall be used and only the array content shall be encoded.

Array data types are specified as shown in Figure 5.13:

content_name : Content_Data_Type[length_name : Length_Data_Type]

Figure 5.13 Variable array formulation

This indicates that the first element of the array encoding is an element of type “Length_Data_Type” followed by “length_name” occurrences of an element of type “Content_Data_Type”.

All elements of the array are packed; there are no padding elements.

The following  are the SEDRIS array data types specifically defined in 5.3.2 Array data types of Part 1 of ISO/IEC 18023 that may be encoded in an STF-encoded SEDRIS transmittal:

Matrix_3x3 is encoded as nine STF_Long_Float elements.
Matrix_4x4 is encoded as sixteen STF_Long_Float elements.
Direction is encoded as three STF_Long_Float elements

Since these three data types are of fixed size, no length field shall be provided.

Array data types may also be formed from any of the other SEDRIS array types.

5.3.7 SEDRIS record data types

5.3.7.1 General form

Record data types shall be encoded as a sequence of the fields comprising the record. Each field of the record shall be encoded individually according to the requirements of the specified data type until the entire record is encoded.

Variant record data types have different encoding depending on the value of the discriminant. Thus, the value of the discriminant shall first be encoded as appropriate for the data type of the discriminant followed by the encoding of the first field that corresponds with the definition of the record. When the variable field of the record is encountered, only the variant corresponding to the value of the discriminant shall be encoded. After the variable field is encoded, any additional non-variant fields are encoded.

All elements of the record shall be packed; there shall be no padding elements.

The following define the specific encoding of the SEDRIS record data types defined in 5.3.3 Record data types of Part 1 of ISO/IEC 18023 that may exist in a STF-encoded transmittal:

5.3.7.2 Address

delivery_point : String

city : String

administrative_area : String

postal_code : String

country : String

5.3.7.3 Animation_Range

beginning_frame : Short_Integer_Unsigned

ending_frame : Short_Integer_Unsigned

5.3.7.4 CI_OnlineResource

linkage : String

protocol : String

applicationProfile : String

name : String

function : OCE8_Unsigned

5.3.7.5 CMY_Data

cyan : Long_Float

magenta : Long_Float

yellow : Long_Float

5.3.7.6 Contact_Information

person_name : String

 position_name : String

organization : String

address : Address

voice_phone : String

fax_phone : String

tdd_tty_phone : String

email_address : data_type

online_resource : CI_OnlineResource

hours_of_service : String

other : String

5.3.7.7 Count_Interval_Value

interval_type : Interval_Type

For interval_type = OPEN_INTERVAL:

open_interval_value : EDCS_Count_Interval

For interval_type = GE_LT_INTERVAL:

ge_lt_interval_value : EDCS_Count_Interval

For interval_type = GT_LE_INTERVAL:

gt_le_interval_value : EDCS_Count_Interval

For interval_type = CLOSED_INTERVAL:

closed_interval_value : EDCS_Count_Interval

For interval_type = GT_SEMI_INTERVAL:

gt_semi_interval_value : EDCS_Count

For interval_type = GE_SEMI_INTERVAL:

ge_semi_interval_value : EDCS_Count

For interval_type = LT_SEMI_INTERVAL:

lt_semi_interval_value : EDCS_Count

For interval_type = LE_SEMI_INTERVAL:

le_semi_interval_value : EDCS_Count

5.3.7.8 Data_Quality_Element

name_of_measure : String

measure_identification : String

measure_description : String

evaluation_method_type : String

evaluation_method_description : String

evaluation_procedure : String

data_time : String

result : String

5.3.7.9 Data_Table_Data

value_type : Data_Table_Data_Value_Type

table_property_description_index : Integer_Positive

data_count : Integer_Positive

For type_of_data = SINGLE_LONG_FLOAT:

single_long_float_values : EDCS_Long_Float[data_count]

For type_of_data = LONG_FLOAT:

long_float_values : EDCS_Long_Float_Value[data_count]

For type_of_data = SINGLE_INTEGER:

single_integer_values : EDCS_Integer[data_count]

For type_of_data = INTEGER:

integer_values : EDCS_Integer_Value[data_count]

For type_of_data = SINGLE_COUNT:

single_count_values : EDCS_Count[data_count]

For type_of_data = COUNT:

count_values : EDCS_Count_Value[data_count]

For type_of_data = INDEX:

index_values : EDCS_Count[data_count]

For type_of_data = STRING:

string_values : EDCS_String[data_count]

For type_of_data = CONSTRAINED_STRING:

constrained_string_values : EDCS_String[data_count]

For type_of_data = KEY:

key_values : EDCS_String[data_count]

For type_of_data = ENUMERATION:

enumeration_values : EDCS_Enumerant_Code[data_count]

For type_of_data = BOOLEAN:

boolean_values : EDCS_Boolean[data_count]

For type_of_data = INDEX_CODE:

index_code_values : Integer_Unsigned[data_count]

5.3.7.10 Data_Table_Extents

axes_bounds : Index_Range[axes_count : Short_Integer_Unsigned]

5.3.7.11 EDCS_Count_Interval

a : EDCS_Count

b : EDCS_Count

5.3.7.12 EDCS_Integer_Interval

a : EDCS_Integer

b : EDCS_Integer

5.3.7.13 EDCS_String

locale : Locale

characters : Character[length : EDCS_Count]

5.3.7.14 Element_Type

code_type : Element_Code_Type

For code_type = ATTRIBUTE_CODE:

attribute : EDCS_Attribute_Code

For code_type = INDEX_CODE:

index : Index_Code

For code_type = VARIABLE_CODE:

variable : Variable_Code

5.3.7.15 HSV_Data

hue : Long_Float

saturation : Long_Float

value : Long_Float

5.3.7.16 Image_Data

data : Byte_Unsigned[data_count : Integer_Unsigned]

5.3.7.17 Image_MIP_Extents

size_horizontal : Integer_Positive

size_vertical : Integer_Positive

size_z : Integer_Positive

5.3.7.18 Image_Texel_Location_3D

horizontal : Short_Integer_Unsigned

vertical : Short_Integer_Unsigned

z : Short_Integer_Unsigned

5.3.7.19 Index_Range

first_index : Integer_Unsigned

last_index : Integer_Unsigned

5.3.7.20 Integer_Interval_Value

interval_type : Interval_Type

For interval_type = OPEN_INTERVAL:

open_interval_value : EDCS_Integer_Interval

For interval_type = GE_LT_INTERVAL:

ge_lt_interval_value : EDCS_Integer_Interval

For interval_type = GT_LE_INTERVAL:

gt_le_interval_value : EDCS_Integer_Interval

For interval_type = CLOSED_INTERVAL:

closed_interval_value : EDCS_Integer_Interval

For interval_type = GT_SEMI_INTERVAL:

gt_semi_interval_value : EDCS_Integer

For interval_type = GE_SEMI_INTERVAL:

ge_semi_interval_value : EDCS_Integer

For interval_type = LT_SEMI_INTERVAL:

lt_semi_interval_value : EDCS_Integer

For interval_type = LE_SEMI_INTERVAL:

le_semi_interval_value : EDCS_Integer

5.3.7.21 Interval_Value

value_type : Interval_Value_Type

For value_type = REAL:

real_value : Long_FLoat_Interval_Value

For value_type = INTEGER:

integer_value : Integer_Interval_Value

For value_type = COUNT:

count_value : Count_Interval_Value

5.3.7.22 Locale

language : Character[2]

country : Character[3]

5.3.7.23 Long_Float_Interval

a : EDCS_Long_Float

b : EDCS_Long_Float

5.3.7.24 Long_Float_Interval_Value

interval_type : Interval_Type

For interval_type = OPEN_INTERVAL:

open_interval_value : Long_Float_Interval

For interval_type = GE_LT_INTERVAL:

ge_lt_interval_value : Long_Float_Interval

For interval_type = GT_LE_INTERVAL:

gt_le_interval_value : Long_Float_Interval

For interval_type = CLOSED_INTERVAL:

closed_interval_value : Long_Float_Interval

For interval_type = GT_SEMI_INTERVAL:

gt_semi_interval_value : EDCS_Long_Float

For interval_type = GE_SEMI_INTERVAL:

ge_semi_interval_value : EDCS_Long_Float

For interval_type = LT_SEMI_INTERVAL:

lt_semi_interval_value : EDCS_Long_Float

For interval_type = LE_SEMI_INTERVAL:

le_semi_interval_value : EDCS_Long_Float

5.3.7.25 MD_SecurityConstraints

classification : OCE8_Unsigned

userNote : String

classificationSystem : String

handlingDescription : String

5.3.7.26 Property_Code

code_type : Property_Code_Type

For code_type = ATTRIBUTE:

attribute : EDCS_Attribute_Code

For code_type = VARIABLE:

variable : Variable_Code

5.3.7.27 Real_Interval_Value

unit : EDCS_Unit_Code

scale : EDCS_Scale_Code

long_float_value : Long_Float_Interval_Value

5.3.7.28 RGB_Data

red : Long_Float

green : Long_Float

blue : Long_Float

5.3.7.29 Rotation_Data

ccw_limit : Long_Float

cw_limit : Long_Float

5.3.7.30 Single_Value

type_of_data : Single_Value_Type

For type_of_data = FLOAT:

float_value : EDCS_Long_Float

For type_of_data = INTEGER:

integer_value : EDCS_Integer

For type_of_data = COUNT:

count_value : EDCS_Count

For type_of_data = INDEX:

index_value : EDCS_Count

For type_of_data = STRING:

string_value : EDCS_String

For type_of_data = CONSTRAINED_STRING:

constrained_string_value : EDCS_String

For type_of_data = KEY:

key_value : EDCS_String

For type_of_data = ENUMERATION:

enumeration_value : EDCS_Enumerant_Code

For type_of_data = BOOLEAN:

boolean_value : EDCS_Boolean

5.3.7.31 String

locale : Locale

characters : Character[length : Integer_Unsigned]

5.3.7.32 Text_Font

font_family : String[32]

font_style : Font_Style

font_size : Float

underline_style : Underline_Style

5.3.7.33 Time_Day_Of_Year_Value

day_of_year : Integer_Unsigned

5.3.7.34 Time_M_Value

month : Month

5.3.7.35 Time_MD_H_Value

month : Month

day : Integer_Unsigned

hour : Byte_Unsigned

5.3.7.36 Time_MD_HM_Value

month : Month

day : Integer_Unsigned

hour : Byte_Unsigned

minutes : Byte_Unsigned

5.3.7.37 Time_MD_HMS_Value

month : Month

day : Integer_Unsigned

hour : Byte_Unsigned

minutes : Byte_Unsigned

seconds : Long_Float

5.3.7.38 Time_Value

time_configuration : Time_Configuration

For time_configuration = DATE_YMD_AND_TIME_HMS:

ymd_hms : Time_YMD_HMS_Value

For time_configuration = DATE_YMD_AND_TIME_HM:

ymd_hm : Time_YMD_HM_Value

For time_configuration = DATE_YMD_AND_TIME_H:

ymd_h : Time_YMD_H_Value

For time_configuration = DATE_YMD:

ymd : Time_YMD_Value

For time_configuration = DATE_YD_AND_TIME_HMS:

yd_hms : Time_YD_HMS_Value

For time_configuration = DATE_YD_AND_TIME_HM:

yd_hm : Time_YD_HM_Value

For time_configuration = DATE_YD_AND_TIME_H:

yd_h : Time_YD_H_Value

For time_configuration = DATE_YD:

yd : Time_YD_Value

For time_configuration = DATE_MD_AND_TIME_HMS:

md_hms : Time_MD_HMS_Value

For time_configuration = DATE_MD_AND_TIME_HM:

md_hm : Time_MD_HM_Value

For time_configuration = DATE_MD_AND_TIME_H:

md_h : Time_MD_H_Value

For time_configuration = DATE_Y:

y : Time_Y_Value

For time_configuration = DATE_M:

m : Time_M_Value

For time_configuration = DAY_OF_YEAR:

day_of_year : Time_Day_Of_Year_Value

5.3.7.39 Time_Y_Value

year : Integer

5.3.7.40 Time_YD_Value

year : Integer

day_of_year : Integer_Unsigned

5.3.7.41 Time_YD_H_Value

year : Integer

day_of_year : Integer_Unsigned

hour : Byte_Unsigned

5.3.7.42 Time_YD_HM_Value

year : Integer

day_of_year : Integer_Unsigned

hour : Byte_Unsigned

minutes : Byte_Unsigned

5.3.7.43 Time_YD_HMS_Value

year : Integer

day_of_year : Integer_Unsigned

hour : Byte_Unsigned

minutes : Byte_Unsigned

seconds : Long_Float

5.3.7.44 Time_YMD_Value

year : Integer

month : Month

day : Integer_Unsigned

5.3.7.45 Time_YMD_H_Value

year : Integer

month : Month

day : Integer_Unsigned

hour : Byte_Unsigned

5.3.7.46 Time_YMD_HM_Value

year : Integer

month : Month

day : Integer_Unsigned

hour : Byte_Unsigned

minutes : Byte_Unsigned

5.3.7.47 Time_YMD_HMS_Value

year : Integer

month : Month

day : Integer_Unsigned

hour : Byte_Unsigned

minutes : Byte_Unsigned

seconds : Long_Float

5.3.7.48 URN

characters : Character[length : Integer_Unsigned]

5.3.8 Other SEDRIS data types

SEDRIS data types used by the SEDRIS API are not needed to represent a SEDRIS transmittal and, hence, shall not be encoded. This includes all SEDRIS private and function data types.

5.4 Encoding of SRM data types

5.4.1 Overview

The data types specified in ISO/IEC 18026 are termed SRM data types. The SRM data types are represented explicitly as required by ISO/IEC 18026 or are mapped to the encoding specific data types specified in this part of ISO/IEC 18023. Only the SRM data types specified in Part 1 of ISO/IEC 18023 that may exist as part of a transmittal or data types that expand the definition of those specified in Part 1 of ISO/IEC 18023 that are specified in ISO/IEC 18026 are encoded.

5.4.2 SRM basic data types

5.4.2.1 Integer data types

The following integer data types specified in ISO/IEC 18026 shall be encoded as specified in 5.2.4.2 OCE8_Unsigned:

SRM_Integer_Positive
SRM_Integer_Unsigned
SRM_Short_Integer_Positive
SRM_Short_Integer_Unsigned

The following integer data types specified in ISO/IEC 18026 shall be encoded as specified in 5.2.4.3 OCE8_Signed:

SRM_GTRS_GCS_Code
SRM_Integer
SRM_Mars_TM_Body_Code
SRM_Mars_TM_Pole_Code
SRM_Short_Integer
SRM_SRFS_Member_Code

The following integer data types specified in ISO/IEC 18026 shall be encoded as 8-bit octets:

SRM_Byte
SRM_Byte_Positive
SRM_Byte_Unsigned

5.4.2.2 Floating point data types

The SRM_Long_Float data type specified in ISO/IEC 18026 shall be encoded as STF_Long_Float as specified in 5.2.5.3 STF_Long_Float.

5.4.3 SRM enumerated data types

5.4.3.1 Overview

The following SRM enumerated data types specified in ISO/IEC 18026 shall be encoded as OCE8_Unsigned as specified in 5.2.4.2 OCE8_Unsigned.  For each SRM enumerated data type, the mapping of enumerants to integer values is specified:

5.4.3.2 SRM_Axis_Direction

POSITIVE_PRIMARY_AXIS     → 0
POSITIVE_SECONDARY_AXIS   → 1
POSITIVE_TERTIARY_AXIS    → 2
NEGATIVE_PRIMARY_AXIS     → 3
NEGATIVE_SECONDARY_AXIS   → 4
NEGATIVE_TERTIARY_AXIS    → 5

5.4.3.3 SRM_Boolean

FALSE  → 0
TRUE   → 1

5.4.3.4 SRM_Parameters_Info_Code

NORTH  → 0
SOUTH  → 1

5.4.3.5 SRM_Polar_Aspect

NORTH  → 0
SOUTH  → 1

5.4.3.6 SRM_UPS_Code

NORTHERN_POLE  → 0
SOUTHERN_POLE  → 1

5.4.4 SRM selection data types

The following SRM selection data types in ISO/IEC 18026 shall be encoded as specified in 5.2.4.3 OCE8_Signed:

SRM_AL_SPCS_Code
SRM_Coordinate_Code
SRM_Coordinate_Valid_Region
SRM_Ellipsoid_Of_Revolution
SRM_HSR_Code
SRM_Lambert_NTF_Code
SRM_ORM_Code
SRM_SRF_Code
SRM_SRFS_Code
SRM_SRFT_Code
SRM_UTM_Code
SRM_VOS_Code
SRM_WI_SPCS_Code

5.4.5 SRM record data types

5.4.5.1 General form

SRM record data types shall be encoded as a sequence of the fields comprising the record. Each field of the record shall be encoded individually according to the requirements of the specified data type until the entire record is encoded.

Variant record data types have different encoding depending on the value of the discriminant. Thus, the value of the discriminant shall first be encoded as appropriate for the data type of the discriminant followed by the encoding of the first field that corresponds with the definition of the record. When the variable field of the record is encountered, only the variant corresponding to the value of the discriminant shall be encoded. After the variable field is encoded, any additional non-variant fields are encoded.

All elements of the record shall be packed; there shall be no padding elements.

The following define the specific encoding of the SRM record data types defined in ISO/IEC 18026 that may exist in an STF-encoded transmittal:

5.4.5.2 SRM_AZ_2D_Coordinate

azimuth : SRM_Long_Float

radius : SRM_Long_Float

5.4.5.3 SRM_CD_3D_Coordinate

longitude : SRM_Long_Float

latitude : SRM_Long_Float

ellipsoidal_height : SRM_Long_Float

5.4.5.4 SRM_CD_Surface_Coordinate

longitude : SRM_Long_Float

latitude : SRM_Long_Float

5.4.5.5 SRM_Coord

coordinate_code : SRM_Coordinate_Code

For code_type = AZ_2D:

az_2d : SRM_AZ_2D_Coordinate

For code_type = CC_3D:

cc_3d : SRM_Euclidean_3D_Coordinate

For code_type = CD_3D:

cd_3d : SRM_CD_3D_Coordinate

For code_type = CD_SURFACE:

cd_surface : SRM_CD_Surface_Coordinate

For code_type = CM_3D:

cm_3d : SRM_Spherical_3D_Coordinate

For code_type = EC_AUGMENTED_3D:

ec_augmented_3d : SRM_Map_Projection_3D_Coordinate

For code_type = EC_SURFACE:

ec_surface_3d : SRM_Map_Projection_Surface_Coordinate

For code_type = EI_3D:

ei_3d : SRM_EI_3D_Coordinate

For code_type = HAEC_3D:

haec_3d : SRM_Spherical_3D_Coordinate

For code_type = HEEC_3D:

heec_3d : SRM_Spherical_3D_Coordinate

For code_type = HEEQ_3D:

heeq_3d : SRM_Spherical_3D_Coordinate

For code_type = LCC_AUGMENTED_3D:

lcc_augmented_3d : SRM_Map_Projection_3D_Coordinate

For code_type = LCC_SURFACE:

lcc_surface : SRM_Map_Projection_Surface_Coordinate

For code_type = LSR_2D:

lsr_2d : SRM_Euclidean_2D_Coordinate

For code_type = LSR_3D:

lsr_3d : SRM_Euclidean_3D_Coordinate

For code_type = LTSAS_3D:

ltsas_3d : SRM_LTSAS_3D_Coordinate

For code_type = LTSAS_SURFACE:

ltsas_surface : SRM_LTSAS_Surface_Coordinate

For code_type = LTSC_3D:

ltsc_3d : SRM_LTSC_3D_Coordinate

For code_type = LTSC_SURFACE:

ltsc_surface : SRM_LTSC_Surface_Coordinate

For code_type = LTSE_3D:

ltse_3d : SRM_LTSE_3D_Coordinate

For code_type = LTSE_SURFACE:

ltse_surface : SRM_LTSE_Surface_Coordinate

For code_type = M_AUGMENTED_3D:

m_augmented_3d : SRM_Map_Projection_3D_Coordinate

For code_type = M_SURFACE:

m_surface : SRM_Map_Projection_Surface_Coordinate

For code_type = OM_AUGMENTED_3D:

om_augmented_3d : SRM_Map_Projection_3D_Coordinate

For code_type = OM_SURFACE:

om_surface : SRM_Map_Projection_Surface_Coordinate

For code_type = POLAR_2D:

polar_2d : SRM_Polar_2D_Coordinate

For code_type = PS_AUGMENTED_3D:

ps_augmented_3d : SRM_Map_Projection_3D_Coordinate

For code_type = PS_SURFACE:

ps_surface : SRM_Map_Projection_Surface_Coordinate

For code_type = SEC_3D:

sec_3d : SRM_Spherical_3D_Coordinate

For code_type = SEQ_3D:

seq_3d : SRM_Spherical_3D_Coordinate

For code_type = SM_3D:

sm_3d : SRM_Spherical_3D_Coordinate

For code_type = SMS_3D:

sms_3d : SRM_Spherical_3D_Coordinate

For code_type = TM_AUGMENTED_3D:

tm_augmented_3d : SRM_Map_Projection_3D_Coordinate

For code_type = TM_SURFACE:

tm_surface : SRM_Map_Projection_Surface_Coordinate

5.4.5.6 SRM_EC_Parameters

origin_longitude : SRM_Long_Float

standard_latitude : SRM_Long_Float

central_scale : SRM_Long_Float

false_easting : SRM_Long_Float

false_northing : SRM_Long_Float

5.4.5.7 SRM_EC_SRF_Parameters

orm_parameters : SRM_ORM_Parameters

ec_parameters : SRM_EC_Parameters

5.4.5.8 SRM_EI_3D_Coordinate

right_ascension : SRM_Long_Float

declination : SRM_Long_Float

radius : SRM_Long_Float

5.4.5.9 SRM_Euclidean_2D_Coordinate

u : SRM_Long_Float

v : SRM_Long_Float

5.4.5.10 SRM_Euclidean_3D_Coordinate

u : SRM_Long_Float

v : SRM_Long_Float

w : SRM_Long_Float

5.4.5.11 SRM_LCC_Parameters

origin_longitude : SRM_Long_Float

origin_latitude : SRM_Long_Float

north_parallel_geodetic_latitude : SRM_Long_Float

south_parallel_geodetic_latitude : SRM_Long_Float

false_easting : SRM_Long_Float

false_northing : SRM_Long_Float

5.4.5.12 SRM_LCC_SRF_Parameters

orm_parameters : SRM_ORM_Parameters

lcc_parameters : SRM_LCC_Parameters

5.4.5.13 SRM_LSR_2D_Parameters

forward_direction : SRM_Axis_Direction

5.4.5.14 SRM_LSR_2D_SRF_Parameters

orm_parameters : SRM_ORM_Parameters

lsr_2D_parameters : SRM_LSR_2D_Parameters

5.4.5.15 SRM_LSR_3D_Parameters

up_direction : SRM_Axis_Direction

forward_direction : SRM_Axis_Direction

5.4.5.16 SRM_LSR_3D_SRF_Parameters

orm_parameters : SRM_ORM_Parameters

lsr_3D_parameters : SRM_LSR_3D_Parameters

5.4.5.17 SRM_LT_Parameters

geodetic_longitude : SRM_Long_Float

geodetic_latitude : SRM_Long_Float

azimuth : SRM_Long_Float

height_offset : SRM_Long_Float

5.4.5.18 SRM_LT_SRF_Parameters

orm_parameters : SRM_ORM_Parameters

lt_parameters : SRM_LT_Parameters

5.4.5.19 SRM_LTSAS_3D_Coordinate

azimuth : SRM_Long_Float

angle : SRM_Long_Float

radius : SRM_Long_Float

5.4.5.20 SRM_LTSAS_Surface_Coordinate

azimuth : SRM_Long_Float

angle : SRM_Long_Float

5.4.5.21 SRM_LTSC_3D_Coordinate

angle : SRM_Long_Float

radius : SRM_Long_Float

height : SRM_Long_Float

5.4.5.22 SRM_LTSC_Surface_Coordinate

angle : SRM_Long_Float

radius : SRM_Long_Float

5.4.5.23 SRM_LTSE_3D_Coordinate

x : SRM_Long_Float

y : SRM_Long_Float

height : SRM_Long_Float

5.4.5.24 SRM_LTSE_Parameters

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_Long_Float

5.4.5.25 SRM_LTSE_SRF_Parameters

orm_parameters : SRM_ORM_Parameters

ltse_parameters : SRM_LTSE_Parameters

5.4.5.26 SRM_LTSE_Surface_Coordinate

x : SRM_Long_Float

y : SRM_Long_Float

5.4.5.27 SRM_Map_Projection_3D_Coordinate

easting : SRM_Long_Float

northing : SRM_Long_Float

ellipsoidal_height : SRM_Long_Float

5.4.5.28 SRM_Map_Projection_Surface_Coordinate

easting : SRM_Long_Float

northing : SRM_Long_Float

5.4.5.29 SRM_Mercator_Parameters

origin_longitude : SRM_Long_Float

origin_latitude : SRM_Long_Float

central_scale : SRM_Long_Float

false_easting : SRM_Long_Float

false_northing : SRM_Long_Float

5.4.5.30 SRM_Mercator_SRF_Parameters

orm_parameters : SRM_ORM_Parameters

mercator_parameters : SRM_Mercator_Parameters

5.4.5.31 SRM_OM_Parameters

longitude_1 : SRM_Long_Float

latitude_1 : SRM_Long_Float

longitude_2 : SRM_Long_Float

latitude_2 : SRM_Long_Float

central_scale : SRM_Long_Float

false_easting : SRM_Long_Float

false_northing : SRM_Long_Float

5.4.5.32 SRM_OM_SRF_Parameters

orm_parameters : SRM_ORM_Parameters

om_parameters : SRM_OM_Parameters

5.4.5.33 SRM_ORM_Parameters

orm_code : SRM_ORM_Code

hsr_code : SRM_HSR_Code

5.4.5.34 SRM_ORM_Transformation_2D_Parameters

delta_x : SRM_Long_Float

delta_y : SRM_Long_Float

omega : SRM_Long_Float

delta_s : SRM_Long_Float

5.4.5.35 SRM_ORM_Transformation_3D_Parameters

delta_x : SRM_Long_Float

delta_y : SRM_Long_Float

delta_z : SRM_Long_Float

omega_1 : SRM_Long_Float

omega_2 : SRM_Long_Float

omega_3 : SRM_Long_Float

delta_s : SRM_Long_Float

5.4.5.36 SRM_Polar_2D_Coordinate

angle : SRM_Long_Float

radius : SRM_Long_Float

5.4.5.37 SRM_PS_Parameters

polar_aspect : SRM_Polar_Aspect

origin_longitude : SRM_Long_Float

origin_latitude : SRM_Long_Float

standard_latitude : SRM_Long_Float

central_scale : SRM_Long_Float

false_easting : SRM_Long_Float

false_northing : SRM_Long_Float

5.4.5.38 SRM_PS_SRF_Parameters

orm_parameters : SRM_ORM_Parameters

ps_parameters : SRM_PS_Parameters

5.4.5.39 SRM_Spherical_3D_Coordinate

longitude : SRM_Long_Float

latitude : SRM_Long_Float

radius : SRM_Long_Float

5.4.5.40 SRM_SRF_Info

vos_code : SRM_VOS_Code

srf_parameters_info : SRM_SRF_Parameters_Info

5.4.5.41 SRM_SRF_Parameters_Info

srf_parameters_info_code : SRM_SRF_Parameters_Info_Code

For code_type = TEMPLATE:

srf_template : SRM_SRF_Template_Parameters

For code_type = SET:

srf_set : SRM_SRF_Set_Info

For code_type = INSTANCE:

srf_instance : SRM_SRF_Code

5.4.5.42 SRM_SRF_Set_Info

orm_parameters : SRM_ORM_Parameters

set_code : SRM_SRFS_Code

member_code : SRM_Integer

5.4.5.43 SRM_SRF_Template_Parameters

template_code : SRM_SRFT_Code

For code_type = CELESTIOCENTRIC:

cc_srf_parameters : SRM_ORM_Parameters

For code_type = LSR_3D:

lsr_3d_srf_parameters : SRM_LSR_3D_SRF_Parameters

For code_type = LSR_2D:

lsr_2d_srf_parameters : SRM_LSR_2D_SRF_Parameters

For code_type = CELESTIODETIC:

cd_srf_parameters : SRM_ORM_Parameters

For code_type = LOCAL_TANGENT_SPACE_EUCLIDEAN:

ltse_srf_parameters : SRM_LTSE_SRF_Parameters

For code_type = LOCAL_TANGENT_SPACE_AZ_SPHERICAL:

ltsas_srf_parameters : SRM_LT_SRF_Parameters

For code_type = AZIMUTHAL:

az_srf_parameters : SRM_ORM_Parameters

For code_type = LOCAL_TANGENT_SPACE_CYLINDRICAL:

ltsc_srf_parameters : SRM_LT_SRF_Parameters

For code_type = POLAR:

polar_srf_parameters : SRM_ORM_Parameters

For code_type = CELESTIOMAGNETIC:

cm_srf_parameters : SRM_ORM_Parameters

For code_type = EQUATORIAL_INERTIAL:

ei_srf_parameters : SRM_ORM_Parameters

For code_type = SOLAR_ECLIPTIC:

sec_srf_parameters : SRM_ORM_Parameters

For code_type = SOLAR_EQUATORIAL:

seq_srf_parameters : SRM_ORM_Parameters

For code_type = SOLAR_MAGNETOSPHERIC:

sms_srf_parameters : SRM_ORM_Parameters

For code_type = SOLAR_MAGNETIC:

sm_srf_parameters : SRM_ORM_Parameters

For code_type = HELIO_ARIES_ECLIPTIC:

haec_srf_parameters : SRM_ORM_Parameters

For code_type = HELIO_EARTH_ECLIPTIC:

heec_srf_parameters : SRM_ORM_Parameters

For code_type = HELIO_EARTH_EQUATORIAL

heeq_srf_parameters : SRM_ORM_Parameters

For code_type = MERCATOR:

m_srf_parameters : SRM_Mercator_SRF_Parameters

For code_type = OBLIQUE_MERCATOR:

om_srf_parameters : SRM_OM_SRF_Parameters

For code_type = TRANSVERSE_MERCATOR:

tm_srf_parameters : SRM_Mercator_SRF_Parameters

For code_type = LAMBERT_CONFORMAL_CONIC:

lcc_srf_parameters : SRM_LCC_SRF_Parameters

For code_type = POLAR_STEROGRAPHIC:

ps_srf_parameters : SRM_PS_SRF_Parameters

For code_type = EQUIDISTANT_CYLINDRICAL:

ec_srf_parameters : SRM_EC_SRF_Parameters

5.4.5.44 SRM_Vector_3D

vector : SRM_Long_Float[3]

 

http://www.iso.ch/iso/en/ittf/PubliclyAvailableStandards/ISO_IEC_18023-3_Ed1.html