File KnownMetadata.h

VDS Metadata:

  • Survey coordinate metadata:

    The VDS system does not deal directly with spatial coordinate systems, it only defines an N-dimensional array of voxels. It’s possible to get an IJKGridDefinition derived from the VolumeDataLayout::GetIJKGridDefinitionFromVDSMetadata(), or create a IJKCoordinateTransformer using a VolumeDataLayout as a constructor argument.

    The VDS metadata provides the position of the first voxel (origin) in a [3D] world coordinate system. It also provides the step vectors that define in which direction and how far the other voxels are positioned relative to the origin. Each step vector is related to a specific dimension of the VDS and is determined by a naming convention.

    Two families of VDS metadata for this category are described at KNOWNMETADATA_SURVEYCOORDINATESYSTEM.

  • Trace coordinate metadata:

    This category contains VDSMetadataBLOBs that are populated with GetVDSTraceCoordinates() method. More information is provided at KNOWNMETADATA_TRACECOORDINATES.

Note

The VDS object annotates each dimension which has a number of samples with a name, a unit, starting and ending coordinate. For example, a seismic dataset with a certain number of samples in the time domain will annotate the trace dimension (typically dimension 0) with “Time”, “ms”, start time, end time.

Defines

KNOWNMETADATA_SURVEYCOORDINATESYSTEM

SurveyCoordinateSystem:

This category of VDS metadata contains two families that provide sufficient information to render a VDS in a volume box. In the absence of any of these families, a default setting is considered. In the following, these VDS metadata families are explained.

  • The Inline/Crossline system:

    In this system, the step vector for dimension 0 is always negative Z direction. This will simplify the metadata, and the information we need is a DoubleVector2 to define the origin (KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_ORIGIN), and two more DoubleVector2 to define the inline and crossline spacing (KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_INLINESPACING and KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_CROSSLINESPACING respectively). These are applied to transform the VDS dimensions with name Inline/Crossline to XYZ coordinates. Other dimension names that are recognized are Time/Depth/Sample which are all mapped to negative Z (i.e. positive Depth will result in the same negative Z).

  • The 3D IJK system:

    The Inline/Crossline system has flexibility for only two dimensions. In order to have more freedom, the 3DIJK metadata is defined. A DoubleVector3 is used to represent the origin (KNOWNMETADATA_SURVEYCOORDINATE_3DIJK_ORIGIN3D) and three step vectors (KNOWNMETADATA_SURVEYCOORDINATE_3DIJK_I_STEPVECTOR, KNOWNMETADATA_SURVEYCOORDINATE_3DIJK_J_STEPVECTOR and KNOWNMETADATA_SURVEYCOORDINATE_3DIJK_K_STEPVECTOR) corresponding to the dimensions named “I”, “J” and “K” respectively.

  • The default system:

    Other dimension names that are recognized and transformed to XYZ coordinates are X, Y and Z, which will be mapped directly to the corresponding XYZ coordinate.

    Any dimensions which have names that are not recognized or are missing the Spacing metadata will be given a unit vector perpendicular to the recognized dimensions. This means you will get a sensible positioning of a Time/Offset/Crossline VolumeBox that is connected to a 4D Time/Offset/Crossline/Inline VDS. The scale of the derived unit vector for the Offset dimension will be something that gives the closest possible approximation to a cubic voxel.

KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_ORIGIN

  • Data type : DoubleVector2

  • Name : “Origin”

  • Description : The XY position of the origin of the annotation (Inline/Crossline/Time) coordinate system.

KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_INLINESPACING

  • Data type : DoubleVector2

  • Name : “InlineSpacing”

  • Description : The XY spacing between units in the Inline annotation dimension.

KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_CROSSLINESPACING

  • Data type : DoubleVector2

  • Name : “CrosslineSpacing”

  • Description : The XY spacing between units in the Crossline annotation dimension.

KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_GRIDPOINT0

  • Data type : DoubleVector2

  • Name : “GridPoint0”

  • Description : An optional reference point in the grid, the annotation coordinates for this point are GridPoint0Inline and GridPoint0Crossline

KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_GRIDPOINT0INLINE

  • Data type : Float

  • Name : “GridPoint0Inline”

  • Description : The inline annotation coordinate for the point defined by GridPoint0

KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_GRIDPOINT0CROSSLINE

  • Data type : Float

  • Name : “GridPoint0Crossline”

  • Description : The inline annotation coordinate for the point defined by GridPoint0

KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_GRIDPOINT1

  • Data type : DoubleVector2

  • Name : “GridPoint1”

  • Description : An optional reference point in the grid, the annotation coordinates for this point are GridPoint1Inline and GridPoint1Crossline

KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_GRIDPOINT1INLINE

  • Data type : Float

  • Name : “GridPoint1Inline”

  • Description : The inline annotation coordinate for the point defined by GridPoint1

KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_GRIDPOINT1CROSSLINE

  • Data type : Float

  • Name : “GridPoint1Crossline”

  • Description : The inline annotation coordinate for the point defined by GridPoint1

KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_GRIDPOINT2

  • Data type : DoubleVector2

  • Name : “GridPoint2”

  • Description : An optional reference point in the grid, the annotation coordinates for this point are GridPoint2Inline and GridPoint2Crossline

KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_GRIDPOINT2INLINE

  • Data type : Float

  • Name : “GridPoint2Inline”

  • Description : The inline annotation coordinate for the point defined by GridPoint2

KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_GRIDPOINT2CROSSLINE

  • Data type : Float

  • Name : “GridPoint2Crossline”

  • Description : The inline annotation coordinate for the point defined by GridPoint2

KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_GRIDPOINT3

  • Data type : DoubleVector2

  • Name : “GridPoint3”

  • Description : An optional reference point in the grid, the annotation coordinates for this point are GridPoint3Inline and GridPoint3Crossline

KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_GRIDPOINT3INLINE

  • Data type : Float

  • Name : “GridPoint3Inline”

  • Description : The inline annotation coordinate for the point defined by GridPoint3

KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_GRIDPOINT3CROSSLINE

  • Data type : Float

  • Name : “GridPoint3Crossline”

  • Description : The inline annotation coordinate for the point defined by GridPoint3

KNOWNMETADATA_SURVEYCOORDINATE_3DIJK_ORIGIN3D

  • Data type : DoubleVector3

  • Name : “Origin3D”

  • Description : The XYZ position of the origin of the annotation (I/J/K) coordinate system.

KNOWNMETADATA_SURVEYCOORDINATE_3DIJK_I_STEPVECTOR

  • Data type : DoubleVector3

  • Name : “IStepVector”

  • Description : The step vector corresponding to dimension named ‘I’

KNOWNMETADATA_SURVEYCOORDINATE_3DIJK_J_STEPVECTOR

  • Data type : DoubleVector3

  • Name : “JStepVector”

  • Description : The step vector corresponding to dimension named ‘J’

KNOWNMETADATA_SURVEYCOORDINATE_3DIJK_K_STEPVECTOR

  • Data type : DoubleVector3

  • Name : “KStepVector”

  • Description : The step vector corresponding to dimension named ‘K’

KNOWNMETADATA_SURVEYCOORDINATE_UNIT

  • Data type : String

  • Name : “Unit”

  • Description : The unit of the coordinate system

KNOWNMETADATA_SURVEYCOORDINATE_CRS_WKT

  • Data type : String

  • Name : “CRSWkt”

  • Description : The well-known text representation of the coordinate reference system

KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_AXISNAME_INLINE

String representing the name of the axis corresponding to the inline spacing.

KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_AXISNAME_CROSSLINE

String representing the name of the axis corresponding to the crossline spacing.

KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_AXISNAME_TIME

String representing the name of the axis corresponding to the negative z direction.

KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_AXISNAME_DEPTH

String representing the name of the axis corresponding to the negative z direction.

KNOWNMETADATA_SURVEYCOORDINATE_INLINECROSSLINE_AXISNAME_SAMPLE

String representing the name of the axis corresponding to the negative z direction.

KNOWNMETADATA_SURVEYCOORDINATE_3DIJK_AXISNAME_I

String representing the name of the axis corresponding to the direction represented by step vector in I direction (KNOWNMETADATA_SURVEYCOORDINATE_3DIJK_I_STEPVECTOR)

KNOWNMETADATA_SURVEYCOORDINATE_3DIJK_AXISNAME_J

String representing the name of the axis corresponding to the direction represented by step vector in J direction (KNOWNMETADATA_SURVEYCOORDINATE_3DIJK_J_STEPVECTOR)

KNOWNMETADATA_SURVEYCOORDINATE_3DIJK_AXISNAME_K

String representing the name of the axis corresponding to the direction represented by step vector in K direction (KNOWNMETADATA_SURVEYCOORDINATE_3DIJK_K_STEPVECTOR)

KNOWNMETADATA_SURVEYCOORDINATE_XYZ_AXISNAME_X

String representing the name of the axis mapped directly to the X coordinate

KNOWNMETADATA_SURVEYCOORDINATE_XYZ_AXISNAME_Y

String representing the name of the axis mapped directly to the Y coordinate

KNOWNMETADATA_SURVEYCOORDINATE_XYZ_AXISNAME_Z

String representing the name of the axis mapped directly to the Z coordinate

KNOWNMETADATA_UNIT_METER

String representing the SI meter unit

KNOWNMETADATA_UNIT_MILLISECOND

String representing the SI milliseconds unit

KNOWNMETADATA_UNIT_FOOT

String representing the foot unit

KNOWNMETADATA_UNIT_US_SURVEY_FOOT

String representing the US survey foot unit

KNOWNMETADATA_UNIT_SECOND

String representing the SI second unit

KNOWNMETADATA_UNIT_METERS_PER_SECOND

String representing the meters per second unit

KNOWNMETADATA_UNIT_FEET_PER_SECOND

String representing the feet per second unit

KNOWNMETADATA_UNIT_US_SURVEY_FEET_PER_SECOND

String representing the US survey feet per second unit

KNOWNMETADATA_UNIT_UNITLESS

String representing the unitless unit

KNOWNMETADATA_TRACECOORDINATES

The SeismicLine GetVDSTraceCoordinates() method will populate the PositionProperty, VerticalOffsetProperty, EnergySourcePointNumberProperty and EnsembleNumberProperty from VDSMetadataBLOBs found in the “TraceCoordinates” category. The PositionProperty and VerticalOffsetProperty define the position of the SeismicLine, while the EnergySourcePointNumberProperty and EnsembleNumberProperty can be displayed by the SeismicLineViewContext

The known metadata in the category “TraceCoordinates” are:

If the SeismicLine is connected to a VDS with metadata in the “SurveyCoordinateSystem” category, it will use that metadata to compute the trace positions for the line, so it’s easy to set up a SeismicLine to display a particular Inline/Crossline of a 3D dataset.

The SeismicLine GetVDSTraceCoordinates() method will populate the PositionProperty, VerticalOffsetProperty, EnergySourcePointNumberProperty and EnsembleNumberProperty from VDSMetadataBLOBs found in the “TraceCoordinates” category. The PositionProperty and VerticalOffsetProperty define the position of the SeismicLine, while the EnergySourcePointNumberProperty and EnsembleNumberProperty can be displayed by the SeismicLineViewContext

KNOWNMETADATA_TRACEPOSITIONS

  • Data type : BLOB

  • Name : “TracePositions”

  • Description : An array of DoubleVector2 defining the position for each trace, where (0, 0) is treated as an undefined position.

KNOWNMETADATA_TRACEVERTICALOFFSETS

  • Data type : BLOB

  • Name : “TraceVerticalOffsets”

  • Description : An array of doubles defining the offset for each trace from the vertical start position in the Time/Depth/Sample dimension of the VDS

KNOWNMETADATA_ENERGYSOURCEPOINTNUMBERS

  • Data type : BLOB

  • Name : “EnergySourcePointNumbers”

  • Description : An array of scalar int32 values defining the energy source point number for each trace.

KNOWNMETADATA_ENSEMBLENUMBERS

  • Data type : BLOB

  • Name : “EnsembleNumbers”

  • Description : An array of scalar int32 values defining the ensemble number for each trace.

KNOWNMETADATA_CATEGORY_WRITTENREGION

This metadata can be specified to indicate which area is written in a sparsely populated VDS. The guarantee is that values outside the written area will be NoValue if UseNoValue is true, and ValueRange.Min if UseNoValue is false.

KNOWNMETADATA_WRITTENREGION

  • Data type : BLOB

  • Name : “WrittenRegion”

  • Description : An array of scalar int32 values defining the 6D min and max (NDBox) of the written region

KNOWNMETADATA_CATEGORY_STATISTICS

This metadata category has statistics generated from the values written to the VDS.

KNOWNMETADATA_ACTUALVALUERANGE

  • Data type : FloatVector2

  • Name : “ActualValueRange”

  • Description : The actual value range of the data written to the primary channel (excluding NoValues)

KNOWNMETADATA_HISTOGRAM

  • Data type : BLOB

  • Name : “Histogram”

  • Description : An array of histogram counts (int64) for each bucket of the histogram using the channel’s value range of the data written to the primary channel (excluding NoValues)

KNOWNMETADATA_CATEGORY_IMPORTINFORMATION

ImportInformation:

This category of VDS metadata contains information about the initial import to VDS. That is, information about the original file (file name, last modification time etc.) and when/how it was imported. The intended use is e.g. to give a default file name for an export operation or to inform the user about whether the VDS was imported from some particular file.

KNOWNMETADATA_IMPORTINFORMATION_DISPLAYNAME

  • Data type : String

  • Name : “DisplayName”

  • Description : An informative name that can be displayed to a user but is not necessarily a valid file name.

KNOWNMETADATA_IMPORTINFORMATION_INPUTFILENAME

  • Data type : String

  • Name : “InputFileName”

  • Description : The original input file name. In cases where the input is not a simple file this should still be a valid file name that can be used as the default for a subsequent export operation.

KNOWNMETADATA_IMPORTINFORMATION_INPUTFILESIZE

  • Data type : Double

  • Name : “InputFileSize”

  • Description : The total size (in bytes) of the input file(s), which is an integer stored as a double because there is no 64-bit integer metadata type.

KNOWNMETADATA_IMPORTINFORMATION_INPUTTIMESTAMP

  • Data type : String

  • Name : “InputTimeStamp”

  • Description : The last modified time of the input in ISO8601 format.

KNOWNMETADATA_IMPORTINFORMATION_IMPORTTIMESTAMP

  • Data type : String

  • Name : “ImportTimeStamp”

  • Description : The time in ISO8601 format when the data was imported to VDS.

KNOWNMETADATA_CATEGORY_SEGY

This metadata is intended to capture information necessary required to re-create the original SEG-Y file.

KNOWNMETADATA_SEGY_TEXTHEADER

  • Data type : BLOB

  • Name : “TextHeader”

  • Description : The original text header of the SEG-Y file

KNOWNMETADATA_SEGY_BINARYHEADER

  • Data type : BLOB

  • Name : “BinaryHeader”

  • Description : The original binary header of the SEG-Y file

KNOWNMETADATA_SEGY_ENDIANNESS

  • Data type : Int

  • Name : “Endianness”

  • Description : The endianness of the SEG-Y file (0=BigEndian)(1=LittleEndian)

KNOWNMETADATA_SEGY_DATAENDIANNESS

  • Data type : Int

  • Name : “DataEndianness”

  • Description : The endianness of the data samples in the SEG-Y file if different from the header endianness. This is a non-standard feature, but some SEG-Y files use it. (0=BigEndian)(1=LittleEndian)

KNOWNMETADATA_SEGY_DATASAMPLEFORMATCODE

  • Data type : Int

  • Name : “DataSampleFormatCode”

  • Description : The data sample format code of the data samples imported from the SEG-Y file. (0=Unknown)(1=IBMFloat)(2=Int32)(3=Int16)(4=FixedPoint)(5=IEEEFloat)(6=IEEEDouble)(7=Int24)(8=Int8)(9=Int64)(10=UInt32)(11=UInt16)(12=UInt64)(15=UInt24)(16=UInt8)

KNOWNMETADATA_SEGY_PRIMARYKEY

  • Data type : String

  • Name : “PrimaryKey”

  • Description : The primary key (i.e. sort order) of the original SEG-Y file. This is expected to be the same as the name of one of the dimensions of the VDS. VDSs are expected to transpose crossline-oriented seismic to use the standard (Sample, Crossline, Inline) dimensions, so in order to export the file in the original order we need to know which dimension to loop over.

namespace OpenVDS
class KnownAxisNames

Public Static Functions

static inline const char *Inline()

String representing the name of the axis corresponding to the inline spacing.

static inline const char *Crossline()

String representing the name of the axis corresponding to the crossline spacing.

static inline const char *Time()

String representing the name of the axis corresponding to the negative z direction.

static inline const char *Depth()

String representing the name of the axis corresponding to the negative z direction.

static inline const char *Sample()

String representing the name of the axis corresponding to the negative z direction.

static inline const char *I()

String representing the name of the axis corresponding to the I step vector (SurveyCoordinateSystemIStepVector)

static inline const char *J()

String representing the name of the axis corresponding to the J step vector (SurveyCoordinateSystemIStepVector)

static inline const char *K()

String representing the name of the axis corresponding to the K step vector (SurveyCoordinateSystemKStepVector)

static inline const char *X()

String representing the name of the axis that maps directly to the X coordinate in the XYZ coordinate system.

static inline const char *Y()

String representing the name of the axis that maps directly to the Y coordinate in the XYZ coordinate system.

static inline const char *Z()

String representing the name of the axis that maps directly to the Z coordinate in the XYZ coordinate system.

class KnownMetadata

Public Static Functions

static inline const char *CategorySurveyCoordinateSystem()

The metadata in the survey coordinate system category contains either information used to transform from an Inline/Crossline annotation system to XY (Easting, Northing) coordinates or information used to transform from an I/J/K annotation system to XYZ coordinates.

In the Inline/Crossline system, the step vector for dimension 0 (Which can be named either Time, Depth or Sample) is always negative Z direction. The origin is the position of (inline, crossline) (0, 0), the inline spacing is the (X, Y) step when the inline position increments by 1 and the crossline spacing is the (X, Y) step when the crossline position increments by 1.

In the I/J/K system, all three dimensions have 3D step vectors allowing for any affine tranform to XYZ coordinates. The IJK origin is the position of (I, J, K) (0, 0, 0), the I step vector is the (X, Y, Z) step when the I position increments by 1, the J step vector is the (X, Y, Z) step when the J position increments by 1 and the K step vector is the (X, Y, Z) step when the K position increments by 1.

It is also possible to define the X, Y, Z coordinates directly by using X/Y/Z as the axis names.

Any dimensions which have names that are not recognized or are missing the Spacing metadata will be given a unit vector perpendicular to the recognized dimensions.

static inline MetadataKey SurveyCoordinateSystemOrigin()

The XY position of the origin of the annotation (Inline/Crossline/Time) coordinate system.

static inline MetadataKey SurveyCoordinateSystemInlineSpacing()

The XY spacing between units in the Inline annotation dimension.

static inline MetadataKey SurveyCoordinateSystemCrosslineSpacing()

The XY spacing between units in the Crossline annotation dimension.

static inline MetadataKey SurveyCoordinateSystemGridPoint0()

An optional reference point in the grid, the annotation coordinates for this point are GridPoint0Inline and GridPoint0Crossline.

static inline MetadataKey SurveyCoordinateSystemGridPoint0Inline()

The inline annotation coordinate for the point defined by GridPoint0.

static inline MetadataKey SurveyCoordinateSystemGridPoint0Crossline()

The inline annotation coordinate for the point defined by GridPoint0.

static inline MetadataKey SurveyCoordinateSystemGridPoint1()

An optional reference point in the grid, the annotation coordinates for this point are GridPoint1Inline and GridPoint1Crossline.

static inline MetadataKey SurveyCoordinateSystemGridPoint1Inline()

The inline annotation coordinate for the point defined by GridPoint1.

static inline MetadataKey SurveyCoordinateSystemGridPoint1Crossline()

The inline annotation coordinate for the point defined by GridPoint1.

static inline MetadataKey SurveyCoordinateSystemGridPoint2()

An optional reference point in the grid, the annotation coordinates for this point are GridPoint2Inline and GridPoint2Crossline.

static inline MetadataKey SurveyCoordinateSystemGridPoint2Inline()

The inline annotation coordinate for the point defined by GridPoint2.

static inline MetadataKey SurveyCoordinateSystemGridPoint2Crossline()

The inline annotation coordinate for the point defined by GridPoint2.

static inline MetadataKey SurveyCoordinateSystemGridPoint3()

An optional reference point in the grid, the annotation coordinates for this point are GridPoint3Inline and GridPoint3Crossline.

static inline MetadataKey SurveyCoordinateSystemGridPoint3Inline()

The inline annotation coordinate for the point defined by GridPoint3.

static inline MetadataKey SurveyCoordinateSystemGridPoint3Crossline()

The inline annotation coordinate for the point defined by GridPoint3.

static inline MetadataKey SurveyCoordinateSystemIJKOrigin()

The XYZ position of the origin of the annotation (I/J/K) coordinate system.

static inline MetadataKey SurveyCoordinateSystemIStepVector()

The step vector corresponding to dimension named ‘I’.

static inline MetadataKey SurveyCoordinateSystemJStepVector()

The step vector corresponding to dimension named ‘J’.

static inline MetadataKey SurveyCoordinateSystemKStepVector()

The step vector corresponding to dimension named ‘K’.

static inline MetadataKey SurveyCoordinateSystemUnit()

The unit of the coordinate system.

static inline MetadataKey SurveyCoordinateSystemCRSWkt()

The well-known text representation of the coordinate reference system.

static inline const char *CategoryTraceCoordinates()

The metadata in the TraceCoordinates category is used for positioning of 2D seismic. It relates to the ‘Trace’ dimension of the VDS where the annotation coordinate is used to look up in the arrays in this category. This allows using the same positions with subsetted and interpolated or decimated data.

static inline MetadataKey TracePositions()

An array of DoubleVector2 defining the position for each trace, where (0, 0) is treated as an undefined position.

static inline MetadataKey TraceVerticalOffsets()

An array of doubles defining the offset for each trace from the vertical start position in the Time/Depth/Sample dimension of the VDS.

static inline MetadataKey EnergySourcePointNumbers()

An array of scalar int32 values defining the energy source point number for each trace.

static inline MetadataKey EnsembleNumbers()

An array of scalar int32 values defining the ensemble number for each trace.

static inline const char *CategoryWrittenRegion()

The metadata in the WrittenRegion category is used to indicate which area is written in a sparsely populated VDS. The guarantee is that values outside the written area will be NoValue if UseNoValue is true, and ValueRange.Min if UseNoValue is false.

static inline MetadataKey WrittenRegion()

An array of scalar int32 values defining the 6D min and max (NDBox) of the written region.

static inline const char *CategoryStatistics()

This metadata category has statistics generated from the values written to the VDS.

static inline MetadataKey ActualValueRange()

The actual value range of the data written to the primary channel (excluding NoValues)

static inline MetadataKey Histogram()

An array of histogram counts (int64) for each bucket of the histogram using the channel’s value range of the data written to the primary channel (excluding NoValues)

static inline const char *CategoryImportInformation()

The metadata in the ImportInformation category contains information about the initial import to VDS. That is, information about the original file (file name, last modification time etc.) and when/how it was imported. The intended use is e.g. to give a default file name for an export operation or to inform the user about whether the VDS was imported from some particular file.

static inline MetadataKey ImportInformationDisplayName()

An informative name that can be displayed to a user but is not necessarily a valid file name.

static inline MetadataKey ImportInformationInputFileName()

The original input file name. In cases where the input is not a simple file this should still be a valid file name that can be used as the default for a subsequent export operation.

static inline MetadataKey ImportInformationInputFileSize()

The total size (in bytes) of the input file(s), which is an integer stored as a double because there is no 64-bit integer metadata type.

static inline MetadataKey ImportInformationInputTimeStamp()

The last modified time of the input in ISO8601 format.

static inline MetadataKey ImportInformationImportTimeStamp()

The time in ISO8601 format when the data was imported to VDS.

static inline const char *CategorySEGY()

The metadata in the SEGY category is intended to capture information required to re-create the original SEG-Y file. It is only present if the VDS was imported from a SEG-Y file.

static inline MetadataKey SEGYTextHeader()

The original text header of the SEG-Y file.

static inline MetadataKey SEGYBinaryHeader()

The original binary header of the SEG-Y file.

static inline MetadataKey SEGYEndianness()

The endianness of the SEG-Y file (0=BigEndian)(1=LittleEndian)

static inline MetadataKey SEGYDataEndianness()

The endianness of the data samples in the SEG-Y file if different from the header endianness. This is a non-standard feature, but some SEG-Y files use it. (0=BigEndian)(1=LittleEndian)

static inline MetadataKey SEGYDataSampleFormatCode()

The data sample format code of the data samples imported from the SEG-Y file. (0=Unknown)(1=IBMFloat)(2=Int32)(3=Int16)(4=FixedPoint)(5=IEEEFloat)(6=IEEEDouble)(7=Int24)(8=Int8)(9=Int64)(10=UInt32)(11=UInt16)(12=UInt64)(15=UInt24)(16=UInt8)

static inline MetadataKey SEGYPrimaryKey()

The primary key (i.e. sort order) of the original SEG-Y file. VDSs are expected to transpose crossline-oriented seismic to use the standard (Sample, Crossline, Inline) axis triple, so in order to export the file in the original order we need to know which dimension to loop over.

class KnownUnitNames

Public Static Functions

static inline const char *Meter()

String representing the SI meter unit.

static inline const char *Millisecond()

String representing the SI milliseconds unit.

static inline const char *Foot()

String representing the foot unit.

static inline const char *USSurveyFoot()

String representing the US survey foot unit.

static inline const char *Second()

String representing the SI second unit.

static inline const char *MetersPerSecond()

String representing the meters per second unit.

static inline const char *FeetPerSecond()

String representing the feet per second unit.

static inline const char *USSurveyFeetPerSecond()

String representing the US survey feet per second unit.

static inline const char *Unitless()

String representing unitless.