Class OpenVDS::KnownMetadata

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.