Skip to main content

Protocol Documentation

Top

cognite/seismic/protos/v1/seismic_service.proto

SeismicAPI

Service for querying data and metadata from seismic tracestore in Cognite Data Fusion (CDF) seismic datastore.

Queries are done primarily on cubes, with some management endpoints for tracestores $ partitions.

Queries are divided in:

  • Metadata: General information and headers for surveys and files.
  • Trace: Retrieve traces by geometry, line, or volume.
  • Artificial sampling: Get the (calculated/interpolated) values of properties in the file/tracestore given arbitrary positions.

Metadata queries

Method NameRequest TypeResponse TypeDescription
CreateSurveyCreateSurveyRequestSurveyCreates a Survey object in the data model. A Survey object represents a grouping of seismic data in the same area and normally shares acquisition and most processing parameters. Capabilities: Requires Seismic: WRITE capability to the CDF tenant.
SearchSurveysSearchSurveysRequestSearchSurveyResponse streamLists all surveys accessible to the client. Optionally, it includes Cubes associated with the surveys. Can optionally search surveys based on both/either of two criteria: Coverage polygon of files in the survey are within an area delimited by a specified polygon. Filters on metadata of both the survey and the file.
EditSurveyEditSurveyRequestSurveyModifies the metadata for a survey.
DeleteSurveyDeleteSurveyRequestDeleteSurveyResponseDeletes a specified survey. Must have ALL scope and Write capabilities. In the case of Surveys, the "name" should be input into the external_ids field of the Identifier.
RegisterSourceSegyFileRegisterSourceSegyFileRequestRegisterSourceSegyFileResponseRegisters a new file in a (previously registered) survey as source for ingestion.
EditSourceSegyFileEditSourceSegyFileRequestEditSourceSegyFileResponseEdits a registered source file. Before editing, there must be no ingestion jobs running for the source file, and if already ingested, any SeismicStore associated with the source file must be deleted. This request will fail if the above criteria aren't met.
UnregisterSourceSegyFileUnregisterSourceSegyFileRequestUnregisterSourceSegyFileResponseUnregisters a file previously registered as the source for ingestion. Before unregistering, there must be no ingestion jobs running for the source file, and if already ingested, any SeismicStore associated with the source file must be deleted. This request will fail if the above criteria aren't met.
IngestSourceSegyFileIngestSourceSegyFileRequestIngestSourceSegyFileResponseRequests queueing of a registered file for ingestion.
CreateSeismicCreateSeismicRequestSeismicCreates new Seismics and assign them to partitions. Seismics are mostly immutable save for their name and metadata. The user needs to delete an existing cutout and create a new one if, for example, the definition or the seismic store must be changed.
SearchSeismicsSearchSeismicsRequestSeismic streamReturns Seismic metadata given its id. Can optionally retrieve seismic store & partition info if user has the right scope. Use GetVolume to retrieve traces.
EditSeismicEditSeismicRequestSeismicEdits the specified seismic. Seismic object names and metadata can be changed. The cutout definition, however, can't be changed. To modify the definition or the owning partition, delete the seismic object and create a new one.
DeleteSeismicDeleteSeismicRequestDeleteSeismicResponseDeletes seismic objects.
SearchSeismicStoresSearchSeismicStoresRequestSeismicStore streamSearches and retrieves seismic stores. Can only retrieve seismic stores you own.
InspectIngestionInspectIngestionRequestInspectIngestionResponseInspects the seismicstore resulting from a possibly failed ingestion. Useful for debugging failed ingestions.
EditSeismicStoreEditSeismicStoreRequestSeismicStoreSets the name of a seismic store object.
DeleteSeismicStoreDeleteSeismicStoreRequestDeleteSeismicStoreResponseDeletes a seismic store. If any seismics still reference the specified seismic store, the request will fail.
CreatePartitionCreatePartitionRequestPartitionCreates a data partition, optionally setting a name.
SearchPartitionsSearchPartitionsRequestPartition streamReturns the specified partitions with the same search options as the other search endpoints.
EditPartitionEditPartitionRequestPartitionEdits partitions. The only modifiable field is the name.
DeletePartitionDeletePartitionRequestDeletePartitionResponseDeletes the specified partition and returns a response if it was successfully deleted.
GetVolumeVolumeRequest.com.cognite.seismic.Trace streamRequests a volume of traces by range of inlines, crosslines, and time Deprecated - use StreamTraces instead.
GetVolumeBoundsVolumeRequestVolumeBoundsResponseReturns information about what a GetVolume request would return, including bounding boxes of trace header values and estimated total size. Deprecated - use GetTraceBounds instead.
StreamTracesStreamTracesRequest.com.cognite.seismic.Trace streamRequests a set of seismic traces by ranges of trace headers, such as inline, crossline (for 3d), cdp, or shotpoint (for 2d). Can also filter by geometry, and select a subset of depth indices. See StreamTracesRequest for more information.
GetTraceBoundsStreamTracesRequestTraceBoundsReturns information about what a StreamTraces request would return, including bounding boxes of trace header values, and estimated total size.
GetSegYFileSegYSeismicRequestSegYSeismicResponse streamFetch seismic data in SEG-Y format. The stream of responses each containing a byte array that must be written sequentially to a file to produce a SEG-Y file. The ordering of traces in the output is unspecified. The request object can be used to specify whether the file should contain the whole set of traces in the source dataset or a subset of traces (for example, a cropped file). See SegYSeismicRequest for more information. Returns a stream of SegYSeismicResponse objects, each containing a fragment of a SEG-Y data stream.
SearchFilesSearchFilesRequestSourceSegyFile streamRetrieves File objects describing the seismic files registered with the tenant. Search criteria can be specified in the SearchFilesRequest, restricting the data retrieved to a subset of the files in the tenant. See SearchFilesRequest for more information. Returns a stream of file objects, terminating all files matching the search criteria that have been returned.
SearchJobStatusSearchJobStatusRequestJobStatusResponse streamRetrieves ingestion job statuses, filtered by the specified criteria.

Top

cognite/seismic/protos/v1/seismic_service_messages.proto

Messages that describe requests/responses from the Seismic Datastore in Cognite Data Fusion

CreatePartitionRequest

FieldTypeLabelDescription
namestringoptional name
external_idstringnot optional externalid

CreateSeismicRequest

FieldTypeLabelDescription
namestringoptional
external_idstringnot optional
partitionIdentifier
seismic_store_idint64
volume_defVolumeDefDefines the volume as VolumeDef format.
geometrycom.cognite.seismic.GeometryDefines the volume as WKT or GeoJson.
emptyboolIf true, will create a seismic with an empty cutout.
two_dee_extentSeismic2dExtentOnly valid if the seismic is 2D.
three_dee_extentSeismic3dExtentOnly valid if the seismic is 3D.
metadataOptionalMap
text_headerTextHeaderOptionally set a custom text header.
binary_headerBinaryHeaderOptionally set a custom binary header.
copy_metadataboolIf true, copy the metadata from the source seismic store.

CreateSurveyRequest

FieldTypeLabelDescription
namestringShort descriptive name
metadataCreateSurveyRequest.MetadataEntryrepeatedKey-value pairs of metadata for the survey.
external_idcom.cognite.seismic.ExternalIdIdentifier for correlation with systems outside CDF.
crsstringCRS used by all members.
grid_transformationcom.cognite.seismic.SurveyGridTransformationOptional.
custom_coveragecom.cognite.seismic.CustomSurveyCoverage[optional] Customer-provided survey coverage.

CreateSurveyRequest.MetadataEntry

FieldTypeLabelDescription
keystring
valuestring

DeletePartitionRequest

FieldTypeLabelDescription
partitionIdentifier

DeletePartitionResponse

FieldTypeLabelDescription
successbool

DeleteSeismicRequest

FieldTypeLabelDescription
seismicIdentifier

DeleteSeismicResponse

FieldTypeLabelDescription
succeededbool

DeleteSeismicStoreRequest

FieldTypeLabelDescription
seismic_storeIdentifier

DeleteSeismicStoreResponse

FieldTypeLabelDescription
succeededbool

DeleteSurveyRequest

FieldTypeLabelDescription
surveyIdentifier

DeleteSurveyResponse

FieldTypeLabelDescription
successbool

EditPartitionRequest

FieldTypeLabelDescription
partitionIdentifierMust uniquely identify a partition
new_namestring

EditSeismicRequest

FieldTypeLabelDescription
seismicIdentifier
namegoogle.protobuf.StringValue
metadataOptionalMap
text_headerTextHeaderReplaces the existing text header, if specified.
binary_headerBinaryHeaderReplaces the existing binary header, if specified.

EditSeismicStoreRequest

FieldTypeLabelDescription
seismic_store_idint64Deprecated. Use identifier instead.
namegoogle.protobuf.StringValueIf not null, will change the seismic store name.
metadataOptionalMapIf not null, will replace the seismic store metadata.
seismic_storeIdentifierUniquely identifies one seismic store.
external_idgoogle.protobuf.StringValueIf not null, will attempt to change the seismic store external id. Can fail if the new external id is not unique.

EditSourceSegyFileRequest

FieldTypeLabelDescription
fileIdentifier[required] The registered source file to edit.
pathgoogle.protobuf.StringValue[optional] Path including protocol, bucket, directory structure, and file name. Example: "gs://cognite-seismic-eu/samples/DN1302M03R16_MERGED_KPSDM_00-32_DEG_T.sgy"
external_idcom.cognite.seismic.ExternalId[optional] An external identifier - matches service contract field.
metadataEditSourceSegyFileRequest.MetadataEntryrepeated[optional] Any custom-defined metadata.
crscom.cognite.seismic.CRS[optional] Official name of the CRS used. Example: "EPSG:23031"
segy_overridesSegyOverrides[optional] Overrides for the source file.
key_fieldsTraceHeaderFieldrepeated[optional] The trace header fields that will be used as keys for indexing.
dimensionsDimensions[optional] File data dimensionality, either 2D or 3D.

EditSourceSegyFileRequest.MetadataEntry

FieldTypeLabelDescription
keystring
valuestring

EditSourceSegyFileResponse

FieldTypeLabelDescription
fileSourceSegyFile

EditSurveyRequest

FieldTypeLabelDescription
surveyIdentifier
metadataOptionalMapThe existing metadata will be replaced with this metadata.
external_idcom.cognite.seismic.ExternalId
crscom.cognite.seismic.CRSCRS used by all members.
grid_transformationcom.cognite.seismic.SurveyGridTransformationOptional.
custom_coveragecom.cognite.seismic.CustomSurveyCoverageOptional.
new_namegoogle.protobuf.StringValueIf provided, the new name of the survey.

GeometryBasedVolume

FieldTypeLabelDescription
geometrycom.cognite.seismic.Geometry
interpolation_methodcom.cognite.seismic.InterpolationMethodRequired if the geometry describes a line, otherwise ignored
z_rangecom.cognite.seismic.LineDescriptor

IngestSourceSegyFileRequest

FieldTypeLabelDescription
fileIdentifier[required] The file to queue for ingesting.
target_storage_tier_namestring[required] Target storage tier for this file. A storage tier is a defined facility for storing the trace data associated with a seismic volume. [Accepted values] Accepted values are defined by the tenant configuration and consider optimizing tradeoffs between storage cost, retrieval performance, numeric precision, and sampling. Note that currently only one storage tier per trace store is supported, so ingesting an already ingested file will result in removing the file's data from the previously active storage tier.

IngestSourceSegyFileResponse

FieldTypeLabelDescription
job_idstring

IngestionLog

FieldTypeLabelDescription
timestampgoogle.protobuf.Timestamp
log_linestring

InspectIngestionRequest

FieldTypeLabelDescription
seismic_store_idint64
file_idint64
job_idstring

InspectIngestionResponse

FieldTypeLabelDescription
seismic_storeSeismicStore

JobStatusResponse

FieldTypeLabelDescription
job_idstring
file_uuidstring
statuscom.cognite.seismic.JobStatus
started_atgoogle.protobuf.Timestamp
updated_atgoogle.protobuf.Timestamp
target_storage_tier_namegoogle.protobuf.StringValue
logsIngestionLogrepeated
file_idint64

RegisterSourceSegyFileRequest

FieldTypeLabelDescription
surveyIdentifier[required] The survey this source file belongs to
pathstring[required] Path including protocol, bucket, directory structure, and file name. Example: &"gs://cognite-seismic-eu/samples/DN1302M03R16_MERGED_KPSDM_00-32_DEG_T.sgy"
external_idcom.cognite.seismic.ExternalId[optional] An external identifier - matches service contract field
metadataRegisterSourceSegyFileRequest.MetadataEntryrepeated[optional] Any custom-defined metadata
crscom.cognite.seismic.CRS[required] Official name of the CRS used. Example: "EPSG:23031"
segy_overridesSegyOverrides[optional] Overrides for the source file.
key_fieldsTraceHeaderFieldrepeated[optional] The trace header fields that will be used as keys for indexing.
dimensionsDimensions[required] File data dimensionality, either 2D or 3D.

RegisterSourceSegyFileRequest.MetadataEntry

FieldTypeLabelDescription
keystring
valuestring

RegisterSourceSegyFileResponse

FieldTypeLabelDescription
fileSourceSegyFile

SearchFilesRequest

Used to search files by a given file/seismic-store/survey search specification.

FieldTypeLabelDescription
specSearchSpecFind files using a file search specification.
seismic_storeSearchSpecFind files using a seismic store search specification.
surveySearchSpecFind files using a survey search specification.
last_modifiedLastModifiedFilterFilter files by last modified.

SearchJobStatusRequest

FieldTypeLabelDescription
job_idstring
file_uuidstring
file_idint64
statuscom.cognite.seismic.JobStatus
target_storage_tier_namegoogle.protobuf.StringValue
started_beforegoogle.protobuf.Timestamp
started_aftergoogle.protobuf.Timestamp
updated_beforegoogle.protobuf.Timestamp
updated_aftergoogle.protobuf.Timestamp

SearchPartitionsRequest

FieldTypeLabelDescription
partitionsSearchSpec
last_modifiedLastModifiedFilterSearch for partitions by last modified.

SearchSeismicStoresRequest

FieldTypeLabelDescription
seismic_storeSearchSpec
surveySearchSpec
fileSearchSpec
last_modifiedLastModifiedFilterWill return seismic stores by last modified.
include_file_infoboolIf true, includes File information in the response.
include_volume_definitionsboolIf true, includes inline/crossline volume definitions for store.
include_extentboolIf true, includes a description of the traces contained in the seismic store.
extent_keyTraceHeaderFieldIf specified, indicates which trace header the extent should be indexed by (if a 2d header) or which should be the major direction (if a 3d header). Leaving this unspecified with include_extent=true means the server chooses a key header for each seismic store. Any seismic stores not indexed by the given header will have their extent field left as null.
include_headersboolIf true, includes text and binary headers in the response.
include_coverageboolDeprecated. Use coverage instead.
coverageCoverageSpecIf specified, include coverage.

SearchSeismicsRequest

FieldTypeLabelDescription
surveySearchSpec
seismicSearchSpec
partitionSearchSpecCan only search on partitions you can see.
seismic_storeSearchSpecMust be a data manager to search by seismic store.
last_modifiedLastModifiedFilterSearch for seismics by last modified.
include_text_headerbool
include_binary_headerbool
include_line_rangebool
include_volume_definitionboolIf true, include the volume definition.
include_cutoutboolIf true, include the cutout specification the seismic was created with.
include_extentboolIf true, include a description of the included traces.
extent_keyTraceHeaderFieldIf specified, indicates which trace header the extent should be indexed by (if a 2d header) or which should be the major direction (if a 3d header). Leaving this unspecified with include_extent=true means the server chooses the native key header for each seismic. Any seismic not indexed by the given header will have its extent field left as null.
include_seismic_storeboolIf true, include info on the backing seismic store. Must be data manager.
include_partitionboolIf true, includes info on the partition. Must be data manager.\
include_coverageboolDeprecated. Use coverage instead.
coverageCoverageSpecIf specified, requests coverage as well.

SearchSurveyResponse

FieldTypeLabelDescription
surveySurvey
seismic_idsstringrepeatedOptionally present
seismic_store_idsstringrepeatedOptionally present
coveragecom.cognite.seismic.GeometryOptionally present
coverage_sourceSurveyCoverageSource

SearchSurveysRequest

FieldTypeLabelDescription
surveysSearchSpecrepeatedOptional identifier of the survey. If empty, retrieves all accessible surveys.
list_seismic_idsboolSet to true to list the survey's seismics in the response (default: false).
list_seismic_store_idsboolSet to true to list the survey's seismic stores in the response. Only tenant users can see this.
include_metadataboolSet to true to include survey metadata in the response (default: false).
include_coveragecom.cognite.seismic.CoverageParametersDeprecated. Use coverage instead.
coverageCoverageSpecSet this field to include coverage in the response (default: No coverage).
include_grid_transformationboolSet this field to include the manually specified grid transformation in the response (default: false).
include_custom_coverageboolSet this field to include the customer-provided survey coverage in the response.
coverage_sourceSurveyCoverageSourceRequests that a coverage geometry from a particular source is returned in the SearchSurveysResponse. If this field is specified, the coverage parameters in the include_coverage field must also be set. Note that this is independent of the custom coverage returned as part of the survey. If no coverage source is provided, but the coverage parameters are provided, the coverage geometry will be fetched from the custom coverage if one has been provided, and the calculated coverage in other cases.
last_modifiedLastModifiedFilterIf set, will further filter returned objects by last modified.

SegYSeismicRequest

FieldTypeLabelDescription
seismicIdentifier
seismic_store_idint64Need to be a data manager or tenant user, not 3rd party, to access by seismic store.
polygoncom.cognite.seismic.Geometry
linescom.cognite.seismic.LineBasedRectangleOnly valid if the queried object is 3D. Deprecated. Use three_dee_extent instead.
two_dee_extentSeismic2dExtentOnly valid if the queried object is 2D.
three_dee_extentSeismic3dExtentOnly valid if the queried object is 3D
skip_message_countint32Skip the first n chunks of the download. Useful for resuming aborted downloads. Default: 0.

SegYSeismicResponse

FieldTypeLabelDescription
contentbytes

StreamTracesRequest

FieldTypeLabelDescription
seismicIdentifierThe identifier of the Seismic object to stream traces from.
seismic_store_idint64The id of the Seismic store to stream traces from. Only accessible by data managers.
two_dee_extentSeismic2dExtentFilter traces by 2D header ranges. Only valid if the queried object is 2D.
three_dee_extentSeismic3dExtentFilter traces by 3D header ranges. Only valid if the queried object is 3D.
geometryGeometryFilterFilter traces by geometry. If the geometry is a polygon, select traces contained in the geometry. If the geometry is a line or a line string, interpolate traces onto the line.
z_rangecom.cognite.seismic.LineDescriptorSelect which depth indices to return as part of the traces.
include_trace_headerboolWhether to include the binary trace header in the streamed traces.

TraceBounds

FieldTypeLabelDescription
trace_size_bytesint32The size in bytes of one Trace message
num_tracesint32The number of traces returned
sample_countint32The number of samples per trace
crsstringCRS of the returned trace coordinates
z_rangecom.cognite.seismic.LineDescriptorThe actual range of z values returned
three_dee_boundsLineRangeThree-dimensional bounds for the case when the seismic object is 3D
two_dee_boundsTwoDeeBoundsTwo-dimensional bounds for the case when the seismic object is 2D

TwoDeeBounds

FieldTypeLabelDescription
requested_boundsSeismic2dRangeA range bounding the trace header values of the returned traces, using the trace key specified in the extent (if any), or CDP if no extent was specified.
cdp_boundscom.cognite.seismic.LineDescriptorA range bounding the CDP numbers of the returned traces.

UnregisterSourceSegyFileRequest

FieldTypeLabelDescription
fileIdentifier[required] The file to unregister.

UnregisterSourceSegyFileResponse

VolumeBoundsResponse

FieldTypeLabelDescription
trace_size_bytesint32The size in bytes of one Trace message.
num_tracesint32The number of traces returned.
sample_countint32The number of samples per trace.
crsstringCRS of the returned trace coordinates.
boundsLineBasedVolumeUpper and lower bounds and step sizes in each direction for the returned traces. Null if the result is empty. The iline and xline fields will be null for a line-like geometry.

VolumeRequest

FieldTypeLabelDescription
seismicIdentifier
seismic_store_idint64Need to be a data manager or tenant user, not 3rd party, to access by trace store.
volumeLineBasedVolume
geometryGeometryBasedVolume
include_trace_headerbool

Top

cognite/seismic/protos/v1/seismic_service_datatypes.proto

Messages that describe data types used by Seismic Datastore in Cognite Data Fusion

BinaryHeader

A representation of binary headers used to create or edit existing headers. BinaryHeader FIELDS contains the list of valid fields to set after the object is constructed.

FieldTypeLabelDescription
file_idstringDEPRECATED: This field will always be empty.
tracesint32
trace_data_typeint32
fixed_length_tracesint32
segy_revisionint32
auxtracesint32
intervalint32
interval_originalint32
samplesint32
samples_originalint32
ensemble_foldint32
vertical_sumint32
trace_type_sorting_codeint32
sweep_type_codeint32
sweep_frequency_startint32
sweep_frequency_endint32
sweep_lengthint32
sweep_channelint32
sweep_taper_startint32
sweep_taper_endint32
sweep_taper_typeint32
correlated_tracesint32
amplitude_recoveryint32
original_measurement_systemint32
impulse_signal_polarityint32
vibratory_polarity_codeint32
raw_headerbytes

Coordinate

FieldTypeLabelDescription
xfloatThe x value of the coordinate.
yfloatThe y value of the coordinate.

CoverageSpec

FieldTypeLabelDescription
crsstringIf CRS isn't specified (aka is blank), uses default CRS from file.
formatCoverageSpec.Format

Filter

Specify an individual filter.

FieldTypeLabelDescription
key_value_exact_matchKeyValueExactMatch

GeometryFilter

FieldTypeLabelDescription
geometrycom.cognite.seismic.Geometry
interpolation_methodcom.cognite.seismic.InterpolationMethodOnly used for linear geometries in 3D.

Identifier

Used to identify zero or one objects that may have an external id.

FieldTypeLabelDescription
idint64
external_idstring

KeyValueExactMatch

Matches when the key AND value are exact matches.

FieldTypeLabelDescription
keystring
valuestring

LastModifiedFilter

Specifies a last modified timestamp range to search. Returned objects will satisfy all arguments that aren't null.

FieldTypeLabelDescription
beforegoogle.protobuf.TimestampAll returned objects will have a last_modified before this timestamp.
aftergoogle.protobuf.TimestampAll returned objects will have a last_modified after this timestamp.

LineBasedExtent

FieldTypeLabelDescription
extentsTraceExtentrepeated

LineBasedVolume

FieldTypeLabelDescription
ilinecom.cognite.seismic.LineDescriptor
xlinecom.cognite.seismic.LineDescriptor
zcom.cognite.seismic.LineDescriptor

LineRange

FieldTypeLabelDescription
inlinecom.cognite.seismic.LineDescriptor
crosslinecom.cognite.seismic.LineDescriptor

LineSelect

FieldTypeLabelDescription
ilineint32
xlineint32

MetadataFilter

Specifying how to filter metadata. An object will be considered a match if it satisfies ALL filters. All strings are case sensitive.

FieldTypeLabelDescription
filtersFilterrepeated

MinorLines

FieldTypeLabelDescription
rangescom.cognite.seismic.LineDescriptorrepeated

OptionalMap

Used in edit messages to distinguish between an empty map, and a missing map.

FieldTypeLabelDescription
dataOptionalMap.DataEntryrepeated

OptionalMap.DataEntry

FieldTypeLabelDescription
keystring
valuestring

Partition

Represents partitions, used for granular access control.

FieldTypeLabelDescription
idint64The unique internal id for this partition.
external_idstringThe external id of the partition.
namestringThe human-friendly name for this partition.
seismicsSeismicrepeatedDEPRECATED: This field will always be empty. Use seismic search by partition instead.
seismic_idsint64repeatedThe list of ids of seismics that belong to this partition.
last_modifiedgoogle.protobuf.TimestampThe last time this object was created or edited.

SearchSpec

Used to identify any number of objects, intended for any plural Read endpoints. Set endpoints should use Identifier.

Can search by id, name, or prefix.

FieldTypeLabelDescription
idint64
id_stringstringSurveys and files must have string format ids. Other objects can't use this.
external_idstringExternal ids only exist for partitions and seismics. Exact match required.
external_id_substringstring
namestringNames exist for everything. An exact string match is required.
name_substringstringSearches for names having this substring.
metadataMetadataFilterFilters by metadata. Currently, only supported by Surveys.
geometrycom.cognite.seismic.GeometryFilters by intersection with a geometry. Currently, only supported by Surveys.

SegyOverrides

Metadata related to interpreting SEG-Y files.

FieldTypeLabelDescription
inline_offsetgoogle.protobuf.Int32ValuePosition of the inline number field in the trace headers. Defaults to 189 per the SEG-Y rev1 specification.
crossline_offsetgoogle.protobuf.Int32ValuePosition of the crossline number field in the trace headers. Defaults to 193 per the SEG-Y rev1 specification.
cdp_x_offsetgoogle.protobuf.Int32ValuePosition of the X coordinate of ensemble (CDP) in trace headers. Defaults to 181 per the SEG-Y rev1 specification.
cdp_y_offsetgoogle.protobuf.Int32ValuePosition of the Y coordinate of ensemble (CDP) in trace headers. Defaults to 185 per the SEG-Y rev1 specification.
cdp_number_offsetgoogle.protobuf.Int32ValuePosition of the ensemble (CDP) number in trace headers. Defaults to 21 per the SEG-Y rev1 specification.
energy_source_point_offsetgoogle.protobuf.Int32ValuePosition of the energy source point in trace headers. Defaults to 17 per the SEG-Y rev1 specification.
shotpoint_offsetgoogle.protobuf.Int32ValuePosition of the shotpoint field in trace headers. Defaults to 197 per the SEG-Y rev1 specification.
cdp_trace_offsetgoogle.protobuf.Int32ValuePosition of the trace number within ensemble. Defaults to 21 per the SEG-Y rev1 specification.
offset_header_offsetgoogle.protobuf.Int32ValuePosition of the "offset" field in the trace header. Defaults to 37 per the SEG-Y rev1 specification.
source_group_scalar_overridegoogle.protobuf.FloatValue[optional] Multiplier for CDP-X and CDP-Y values that overrides scalar factor obtained from trace header. Note that this is a floating point multiplier used directly to scale CDP-X and CDP-Y values, and it's not interpreted in the manner of the source group scalar trace header field in the SEG-Y specification. That is: To divide by 100, specify 0.01, not -100. Negative values and values greater than 1 aren't permitted. To remove the override from a file where an override has previously been set, set the source_group_scalar_override to 0 or NaN. The next ingestion processing of a file will then use the source group scalar values found in trace headers.

Seismic

A cut-out of a seismic store.

FieldTypeLabelDescription
idint64The unique internal id of the seismic. it's always present.
external_idstringThe external id of the seismic.
namestringA non-unique name for the seismic. It's editable and intended to be used as a human-friendly reference.
crsstringThe Coordinate Reference System of the seismic.
metadataSeismic.MetadataEntryrepeatedAny custom-defined metadata.
text_headerTextHeaderThe text header that corresponds to the seismic.
binary_headerBinaryHeaderThe binary header that corresponds to the seismic.
line_rangeLineRangeThe minimum and maximum extents of the seismic's grid, described in inlines and crosslines.
volume_defVolumeDefThe VolumeDef describing the seismic.
cutoutSeismicCutoutThe cutout the seismic object was created with.
extentSeismicExtentA description of the traces contained in the seismic.
partition_idint64The id of the partition the seismic belongs to.
seismicstore_idint64The id of the seismic store the seismic is derived from. It's present only if agent has READ access and ALL scope.
coveragecom.cognite.seismic.GeometryThe coverage geometry for the seismic.
created_emptyboolIf true, this seismic was created empty (deprecated).
trace_countint64Provides an estimate of the number of traces contained within the seismic.
trace_header_fieldsTraceHeaderFieldrepeatedThe trace header fields that have been registered as keys for indexing. This will always match the trace header fields registered for the underlying seismic store.
dimensionsDimensionsThe underlying file's data dimensionality, either 2D or 3D. This will always match the dimensionality for the underlying seismic store.
last_modifiedgoogle.protobuf.TimestampThe last time this object was created or edited.

Seismic.MetadataEntry

FieldTypeLabelDescription
keystring
valuestring

Seismic2dExtent

FieldTypeLabelDescription
trace_keyTraceHeaderFieldMust be an applicable field for 2D.
trace_rangescom.cognite.seismic.LineDescriptorrepeatedRange of header values to use.

Seismic2dRange

FieldTypeLabelDescription
trace_keyTraceHeaderFieldMust be an applicable field for 2D.
trace_rangecom.cognite.seismic.LineDescriptor

Seismic3dDef

FieldTypeLabelDescription
major_headerTraceHeaderFieldMust be inline or crossline.
minor_headerTraceHeaderFieldMust be inline or crossline, and different from major_header.
linesSeismic3dDef.LinesEntryrepeated

Seismic3dDef.LinesEntry

FieldTypeLabelDescription
keyint32
valueMinorLines

Seismic3dExtent

FieldTypeLabelDescription
rectsSeismic3dRects
defSeismic3dDef

Seismic3dRect

FieldTypeLabelDescription
inline_rangecom.cognite.seismic.LineDescriptor
xline_rangecom.cognite.seismic.LineDescriptor

Seismic3dRects

FieldTypeLabelDescription
rectsSeismic3dRectrepeated

SeismicCutout

FieldTypeLabelDescription
two_dee_extentSeismic2dExtentIndicates that the seismic was requested with this 2D extent.
three_dee_extentSeismic3dExtentIndicates that the seismic was requested with this 3D extent (or an equivalent VolumeDef).
geometrycom.cognite.seismic.GeometryIndicates that the seismic was requested with this geometry.
emptyboolIndicates that the seismic was created empty.
fullboolIndicates that the seismic was created to cover the entire seismic store.

SeismicExtent

FieldTypeLabelDescription
two_dee_extentSeismic2dExtent
three_dee_extentSeismic3dExtent

SeismicStore

Represents a seismic store.

FieldTypeLabelDescription
idint64The unique internal id of the seismic store.
namestringThe unique name of the seismic store. Will become non-unique in the future, and external_id will become the unique identifier.
survey_idstringThe survey this seismic store belongs to, in the old UUID format.
survey_id_intint64The survey this seismic store belongs to.
ingestion_sourcecom.cognite.seismic.IngestionSourceThe source of the seismic store. It indicates how the file was ingested.
metadataSeismicStore.MetadataEntryrepeatedAny custom-defined metadata.
ingested_filecom.cognite.seismic.FileSame as ingested_source_file. This field is deprecated and will be removed in the future.
ingested_source_fileSourceSegyFileIf present, the file this SeismicStore was ingested from.
inline_volume_defVolumeDefVolume definition for the store, indexed on inlines. Maps from an inline to all its valid crosslines.
crossline_volume_defVolumeDefVolume definition for the store, indexed on crosslines. Maps from a crossline to all its valid inlines.
extentSeismicExtentDescription of the traces contained in the seismicstore.
text_headerTextHeaderIf present, the text header for this seismic store.
binary_headerBinaryHeaderIf present, the binary header for this seismic store.
storage_tier_namestringrepeatedTenant specific name for the storage facility the trace data are stored in. If empty, it's stored in an unspecified trace store. While support for many storage backends per store is planned, this isn't currently offered.
coveragecom.cognite.seismic.GeometryIf present, the coverage geometry for this seismic store.
trace_header_fieldsTraceHeaderFieldrepeatedThe trace header fields that have been registered as keys for indexing.
dimensionsDimensionsThe underlying file's data dimensionality, either 2D or 3D.
crsstringThe coordinate reference system used by this seismic store.
last_modifiedgoogle.protobuf.TimestampThe last time this object was created or edited.

SeismicStore.MetadataEntry

FieldTypeLabelDescription
keystring
valuestring

SourceSegyFile

File or dataset or cube derived from a single SEG-Y file.

FieldTypeLabelDescription
uuidstring
idint64
external_idcom.cognite.seismic.ExternalId
namestringThe name of the file.
cloud_storage_pathstringThe cloud storage path for the file, excluding the file name.
metadataSourceSegyFile.MetadataEntryrepeated
segy_overridesSegyOverrides
key_fieldsTraceHeaderFieldrepeatedThe trace header fields that will be used as keys for indexing.
dimensionsDimensionsFile data dimensionality, either 2D or 3D.
crsstringThe coordinate reference system used by this file.
survey_idint64The integer id of the survey this file is contained in.
last_modifiedgoogle.protobuf.TimestampThe last time this object was created or edited.

SourceSegyFile.MetadataEntry

FieldTypeLabelDescription
keystring
valuestring

Survey

Representation of the data for a survey

FieldTypeLabelDescription
idstringUnique identifier for the survey in CDF. The identifier is generated by CDF on creation and not editable.
id_intint64The integer unique ID for the survey. This ID should be used for V1 survey operations.
namestringSurvey name: Should be a short but recognizable name for the survey. Must be unique within a single CDF tenant, and may be used to refer to the survey in API calls. Survey name.
metadataSurvey.MetadataEntryrepeatedMetadata describing the survey with named fields and values.
external_idcom.cognite.seismic.ExternalIdExternal identifier of the survey. The value of this field must be unique among all the surveys in the CDF tenant. It may be used for correlating with systems outside CDF, and for search and retrieval operations later.
crsstringCoordinate reference system to be used by all members of this survey.
grid_transformationcom.cognite.seismic.SurveyGridTransformationManually specify an affine transformation between bin grid coordinates and projected CRS coordinates, either using an origin point and the azimuth of the xline axis (P6Transformation) or by specifying three or more corners of the grid as a list of DoubleTraceCoordinates. This transformation must be valid for all members of this survey.
custom_coveragecom.cognite.seismic.CustomSurveyCoverageUser-provided coverage override.
last_modifiedgoogle.protobuf.TimestampThe last time this object was created or edited.

Survey.MetadataEntry

FieldTypeLabelDescription
keystring
valuestring

TextHeader

A representation of text headers used to create or edit existing headers.

FieldTypeLabelDescription
file_idstringDEPRECATED: This field will always be empty.
headerstringThe text content of the header.
raw_headerstringThe raw bytes of a header as a string.

TraceExtent

FieldTypeLabelDescription
xlineint32
ilineint32
zcom.cognite.seismic.LineDescriptor

VolumeDef

VolumeDef is a simple, versioned, flexible format for describing which grid points of a seismic volume contain data.

The grid is described per line. Each line contains a series of descriptors that specify the points on the axis perpendicular to the line. For example, a volumedef that is indexed as inline-major will use inline numbers as keys in the lines object and have descriptors with crossline numbers.

FieldTypeLabelDescription
jsonstringUses the Volume Definition schema.

CoverageSpec.Format

NameNumberDescription
WKT0
GEOJSON1

Dimensions

NameNumberDescription
UNSPECIFIED_DIMENSION0
TWO_DEE2
THREE_DEE3

SurveyCoverageSource

NameNumberDescription
UNSPECIFIED_SURVEY_COVERAGE_SOURCE0Used as the default when a specific source isn't requested by the user.
CUSTOM1Requesting or returning custom coverage.
CALCULATED2Requesting or returning calculated coverage.

TraceHeaderField

NameNumberDescription
UNSPECIFIED_TRACE_HEADER_FIELD0
ENERGY_SOURCE_POINT1
CDP2
INLINE3
CROSSLINE4
SHOTPOINT5
CDP_TRACE6Bytes 25-28 of standard trace header: trace number within ensemble.
OFFSET7Bytes 37-40 of standard trace header: distance from center of source point to the center of receiver group.

Top

cognite/seismic/protos/types.proto

Messages for types used in ingestion and query services in Seismic Datastore in Cognite Data Fusion.

CRS

FieldTypeLabelDescription
crsstring

Coordinate

Basic type representing (x,y) coordinate in the given CRS.

FieldTypeLabelDescription
crsstringThe Coordinate Reference System of the coordinate. Generally should be an EPSG code including the EPSG: prefix, for example, EPSG:23031.
xfloatThe x value of the coordinate.
yfloatThe y value of the coordinate.

CoverageParameters

Parameters for requesting coverage of survey.

FieldTypeLabelDescription
crsCRS[optional] If CRS provided converts coverage to given CRS. Otherwise, will return in the survey's original CRS.
in_wktboolSet this to true to return in WKT format. Otherwise, response will be in geojson format by default.

CustomSurveyCoverage

Customer-provided custom coverage for surveys.

FieldTypeLabelDescription
custom_coverageGeometryOverrides survey coverage with the provided custom coverage geometry.
no_custom_coverageCustomSurveyCoverage.NoCustomCoverageSpecifies that no custom coverage is provided, so survey coverage is computed from the seismicstores in the survey.

CustomSurveyCoverage.NoCustomCoverage

DeduceFromTraces

Have the seismic service try to deduce the affine transformation for each file by reading trace coordinates.

DoubleTraceCoordinates

Correlated grid indices and coordinates.

FieldTypeLabelDescription
ilineint32The inline number. Within a 3D survey, a inline represents a seismic line parallel to the direction in which the data was adquired.
xlineint32The xline number. Within a 3D survey, a xline represents a seismic line perpendicular to the direction in which the data was adquired.
xfloatThe x value of the coordinate.
yfloatThe y value of the coordinate.

ExternalId

FieldTypeLabelDescription
external_idstring

File

File, dataset, or cube derived from a single SEG-Y file.

FieldTypeLabelDescription
idstring
namestring
metadataFile.MetadataEntryrepeated
is_temporarybool
external_idExternalId

File.MetadataEntry

FieldTypeLabelDescription
keystring
valuestring

GeoJSON

The GeoJSON format (RFC 7946). Supported geometry: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, and GeometryCollection.
Example:

{
"type": "Point",
"coordinates": [100.0, 0.0]
}
FieldTypeLabelDescription
jsongoogle.protobuf.Struct

Geometry

Geometry can be specified using either wkt or geoJSON. CRS is always required.

FieldTypeLabelDescription
crsCRSrequired
wktWkt
geoGeoJson

Identifier

Specify either id or name to find a file or survey.

FieldTypeLabelDescription
idstring
namestring

LineBasedRectangle

Range of inline and crossline indices defining a 2D region.

FieldTypeLabelDescription
top_leftPositionQuery
bottom_rightPositionQuery

LineDescriptor

FieldTypeLabelDescription
mingoogle.protobuf.Int32Value
maxgoogle.protobuf.Int32Value
stepgoogle.protobuf.Int32Value

LineRange

Object to store the line range. From and to are optional.

FieldTypeLabelDescription
from_linegoogle.protobuf.Int32Value
to_linegoogle.protobuf.Int32Value

LineSelect

Specify either inline OR crossline.

FieldTypeLabelDescription
ilineint32The inline number. Within a 3D survey, an inline represents a seismic line parallel to the direction in which the data was adquired.
xlineint32The xline number. Within a 3D survey, an xline represents a seismic line perpendicular to the direction in which the data was adquired.

P6Transformation

Specify the transformation by an origin point and the crossline azimuth. Format inspired by IOGP guidance note 373-7-2 section 2.3.2.4. https://ge0mlib.com/papers/Guide/IOGP/373-07-2-1_2017.pdf

FieldTypeLabelDescription
handednessHandedness
originDoubleTraceCoordinatesA point in the grid.
iline_bin_widthfloatThe bin width along the inline axis.
xline_bin_widthfloatThe bin width along the crossline axis.
xline_azimuthfloatMap bearing of the crossline axis in clockwise degrees from north.
iline_bin_incint32Inline increment corresponding to a bin.
xline_bin_incint32Crossline increment corresponding to a bin.

PositionQuery

Point defined by its inline and crossline indices.

FieldTypeLabelDescription
ilineint32The inline number. Within a 3D survey, a inline represents a seismic line parallel to the direction in which the data was adquired.
xlineint32The xline number. Within a 3D survey, a xline represents a seismic line perpendicular to the direction in which the data was adquired.

Project

FieldTypeLabelDescription
idstring
aliasstring

SlabTrace

Wrapper over Trace type that additionally provide information about the range of z values included in the trace.

FieldTypeLabelDescription
traceTrace
z_fromint32
z_toint32

SurfacePoint

Basic type to represent a point in a surface defined by a horizontal grid. Used in horizontal slice queries.

FieldTypeLabelDescription
ilineint32The inline number. Within a 3D survey, an inline represents a seismic line parallel to the direction in which the data was adquired.
xlineint32The xline number. Within a 3D survey, an xline represents a seismic line perpendicular to the direction in which the data was adquired.
valuefloat

Survey

A survey represents a collection of files in the same area.

FieldTypeLabelDescription
idstringSurvey ID.
namestringSurvey name.
metadataSurvey.MetadataEntryrepeated
external_idExternalIdSurvey external ID.
crsCRSThe Coordinate Reference System of the survey.
grid_transformationSurveyGridTransformation
custom_coverageCustomSurveyCoverage

Survey.MetadataEntry

FieldTypeLabelDescription
keystring
valuestring

SurveyGridTransformation

Specify the affine transformation between line indices and coordinates.

FieldTypeLabelDescription
p6_transformationP6Transformation
trace_cornersTraceCorners
deduce_from_tracesDeduceFromTraces

Trace

Basic type to represent a seismic trace. Used in trace, vertical slices, and volume queries. Contains the samples and information on positioning. If a trace is an original trace in the file, it can optionally contain the trace header. This isn't valid for traces that are synthetically generated from interpolation.

FieldTypeLabelDescription
trace_headerbytesThe binary SEGY trace header, if requested.
ilinegoogle.protobuf.Int32ValueThe inline number. Only populated for 3D seismics.
xlinegoogle.protobuf.Int32ValueThe xline number. Only populated for 3D seismics.
cdpgoogle.protobuf.Int32ValueThe CDP number. Only populated for 2D seismics indexed by cdp.
shotpointgoogle.protobuf.Int32ValueThe CDP number. Only populated for 2D seismics indexed by shotpoint.
energy_source_pointgoogle.protobuf.Int32ValueThe CDP number. Only populated for 2D seismics indexed by energy source point.
tracefloatrepeatedThe underlying array of floats representing samples.
coordinateCoordinateThe CDP X and Y coordinates of the trace.

TraceCorners

Specify the transformation by giving the coordinates of three or more corners.

FieldTypeLabelDescription
cornersDoubleTraceCoordinatesrepeated

Wkt

Well-known text representation of geometry (WKT)

FieldTypeLabelDescription
geometrystring

FileStep

NameNumberDescription
REGISTER0
INSERT_FILE_HEADERS1
INSERT_TRACE_HEADERS2
INSERT_DATA3
COMPUTE_COVERAGE4
COMPUTE_GRID5
COMPUTE_TRACE_INDICES6
DELETING254
DELETE255

Handedness

NameNumberDescription
RIGHTHANDED0Inline axis is 90 deg clockwise from crossline AKA EPSG code 9666.
LEFTHANDED1Inline axis is 90 deg counterclockwise from crossline AKA EPSG code 1049.

IngestionSource

NameNumberDescription
INVALID_SOURCE0
FILE_SOURCE1
TRACE_WRITER2TraceWriter

InterpolationMethod

NameNumberDescription
NEAREST_TRACE0
INVERSE_DISTANCE_WEIGHTING1

JobStatus

NameNumberDescription
NONE0
QUEUED1
IN_PROGRESS2
SUCCESS3
FAILED4
TIMEOUT5

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
doubledoubledoublefloatfloat64doublefloatFloat
floatfloatfloatfloatfloat32floatfloatFloat
int32Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.int32intintint32intintegerBignum or Fixnum (as required)
int64Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.int64longint/longint64longinteger/stringBignum
uint32Uses variable-length encoding.uint32intint/longuint32uintintegerBignum or Fixnum (as required)
uint64Uses variable-length encoding.uint64longint/longuint64ulonginteger/stringBignum or Fixnum (as required)
sint32Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.int32intintint32intintegerBignum or Fixnum (as required)
sint64Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.int64longint/longint64longinteger/stringBignum
fixed32Always four bytes. More efficient than uint32 if values are often greater than 2^28.uint32intintuint32uintintegerBignum or Fixnum (as required)
fixed64Always eight bytes. More efficient than uint64 if values are often greater than 2^56.uint64longint/longuint64ulonginteger/stringBignum
sfixed32Always four bytes.int32intintint32intintegerBignum or Fixnum (as required)
sfixed64Always eight bytes.int64longint/longint64longinteger/stringBignum
boolboolbooleanbooleanboolboolbooleanTrueClass/FalseClass
stringA string must always contain UTF-8 encoded or 7-bit ASCII text.stringStringstr/unicodestringstringstringString (UTF-8)
bytesMay contain any arbitrary sequence of bytes.stringByteStringstr[]byteByteStringstringString (ASCII-8BIT)