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.
-
static inline const char *Inline()
-
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.
-
static inline const char *CategorySurveyCoordinateSystem()
-
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.
-
static inline const char *Meter()
-
class KnownAxisNames