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, be it 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 sharing acquisition and most processing parameters. Capabilities: Requires Seismic:WRITE capability to the CDF tenant.
SearchSurveysSearchSurveysRequestSearchSurveyResponse streamLists all surveys accessible to the client. Optionally 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
EditSurveyEditSurveyRequestSurveyModify 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 are not met.
UnregisterSourceSegyFileUnregisterSourceSegyFileRequestUnregisterSourceSegyFileResponseUnregisters a file previously registered as 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 criteira are not met.
IngestSourceSegyFileIngestSourceSegyFileRequestIngestSourceSegyFileResponseRequests queueing of a registered file for ingestion.
CreateSeismicCreateSeismicRequestSeismicCreate 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 e.g. 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.
EditSeismicEditSeismicRequestSeismicEdit the specified seismic. Seismic object names and metadata can be changed. The cutout definition, however, cannot be changed. To modify the definition or the owning partition, delete the seismic object and create a new one.
DeleteSeismicDeleteSeismicRequestDeleteSeismicResponseDelete seismic objects.
SearchSeismicStoresSearchSeismicStoresRequestSeismicStore streamSearch and retrieve seismic stores. Can only retrieve seismic stores you own.
InspectIngestionInspectIngestionRequestInspectIngestionResponseInspect the seismicstore resulting from a possibly failed ingestion. Useful for debugging failed ingestions.
EditSeismicStoreEditSeismicStoreRequestSeismicStoreSet the name of a seismic store object.
DeleteSeismicStoreDeleteSeismicStoreRequestDeleteSeismicStoreResponseDelete a seismic store. If any seismics still reference the specified seismic store, the request will fail.
CreatePartitionCreatePartitionRequestPartitionCreate a data partition, optionally setting a name.
SearchPartitionsSearchPartitionsRequestPartition streamReturns the partition(s) specified, with the same search options as the other search endpoints.
EditPartitionEditPartitionRequestPartitionEdit partitions. The only modifiable field is the name
DeletePartitionDeletePartitionRequestDeletePartitionResponseDelete the specified partition, and return whether it was successfully deleted.
GetVolumeVolumeRequest.com.cognite.seismic.Trace streamRequest a volume of traces by range of inlines, crosslines and time Deprecated - use StreamTraces instead.
GetVolumeBoundsVolumeRequestVolumeBoundsResponseReturn 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 streamRequest a set of seismic traces by ranges of trace headers such as inline, crossline (for 3d) or cdp or shotpoint (for 2d). Can also filter by geometry, and select a subset of depth indices. See StreamTracesRequest for more information.
GetTraceBoundsStreamTracesRequestTraceBoundsReturn 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 contain 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 the traces (ie. 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 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_defVolumeDefDefine 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 ingestiong
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 allow for 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 the file's data being removed 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, include File information in the response
include_volume_definitionsboolIf true, includes inline/crossline volume definitions for store
include_extentboolIf true, include a description of the traces contained in the seismicstore
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 seismicstore. Any seismicstores not indexed by the given header will have its extent field left as null.
include_headersboolif true, include 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 seismicstore. Must be data manager.
include_partitionboolIf true, include 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, retrieve 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 from 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 Seismicstore 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 linestring, 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 tracestore
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 is not 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 are not 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 as per the SEG-Y rev1 specification
crossline_offsetgoogle.protobuf.Int32ValuePosition of the crossline number field in the trace headers. Defaults to 193 as per the SEG-Y rev1 specification
cdp_x_offsetgoogle.protobuf.Int32ValuePosition of the X coordinate of ensemble (CDP) in trace headers. Defaults to 181 as per the SEG-Y rev1 specification
cdp_y_offsetgoogle.protobuf.Int32ValuePosition of the Y coordinate of ensemble (CDP) in trace headers. Defaults to 185 as per the SEG-Y rev1 specification
cdp_number_offsetgoogle.protobuf.Int32ValuePosition of the ensemble (CDP) number in trace headers. Defaults to 21 as per the SEG-Y rev1 specification
energy_source_point_offsetgoogle.protobuf.Int32ValuePosition of the energy source point in trace headers. Defaults to 17 as per the SEG-Y rev1 specification
shotpoint_offsetgoogle.protobuf.Int32ValuePosition of the shotpoint field in trace headers. Defaults to 197 as per the SEG-Y rev1 specification
cdp_trace_offsetgoogle.protobuf.Int32ValuePosition of the trace number within ensemble. Defaults to 21 as per the SEG-Y rev1 specification.
offset_header_offsetgoogle.protobuf.Int32ValuePosition of the 'offset' field in the trace header. Defaults to 37 as per the SEG-Y rev1 specification.
source_group_scalar_overridegoogle.protobuf.FloatValue[optional] Multiplier for CDP-X and CDP-Y values, 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 is 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 are not 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 cutout of a seismic store

FieldTypeLabelDescription
idint64The unique internal id of the seismic. It is always present
external_idstringThe external id of the seismic
namestringA non-unique name for the seismic. It is easily editable and is 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 seismicstore the seismic is derived from. It is 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 seismicstore

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 seismicstore. 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 of its valid crosslines.
crossline_volume_defVolumeDefVolume definition for the store, indexed on crosslines. Maps from a crossline to all of 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 is stored in an unspecified trace store. While support for multiple storage backends per store is planned, this is not 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 seismicstore
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 or 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: <pre>{ "type": "Point", "coordinates": [100.0, 0.0] }</pre>

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, 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.

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, 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.
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 is not 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 (<a href="http://www.opengeospatial.org/standards/sfa">WKT</a>)

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)