The "seismicdecimatedquery" web service provides meta data about a seismic query using a decimation. This web service doesn't actually serve any trace header or sample value. This streaming of trace data is performed by the seismicdecimatedtraces web service instead. The seismicdecimatedquery web service is typically called prior to retrieving the decimated traces themselves.
INTGeoServer supports 3 types of decimated queries:
Seismic range queries (ex: INLINE=300 to 400)
Seismic path queries (traces along an arbitrary path in a volume)
Seismic discrete queries (traces at discrete points of an arbitrary path in a volume)
Seismic range queries can be of two types:
XSection (used in XSection and 3D visualizations, this is the default type)
Map (used in Map and 3D visualizations). Not all datasets support map queries as it requires fast time slice access. Seismic formats like SEP allow such access natively, but other formats like Segy require a transposition of the data
A typical URL is http://myserver.mycompany.com:8080/INTGeoServer/api/ds/{datasourcetype}/v1/sources/{datasource}/seismic/{seismicuniqueid}/decimatedqueryinfo
where
datasourcetype: type of a datasource, i.e. geofiles, s3, etc.
datasource: unique id of a datasource
seismicuniqueid: unique id of a seismic
The following parameters are available:
includenormalization: indicates whether the statistics section should be included in the JSON response. This is an optional parameter. The default is false. This parameter is useful when displaying datasets that have no built-in amplitude statistics. If you don't need the server to calculate these statistics, you can improve the performance of the "seismicdata" service by setting this parameter to false. Statistics are usually approximative and meant to be used as part of the normalization of seismic displays. Statistics are often calculated based upon only a small selection of traces (ex: 200 traces that are far apart)
decimationalgorithm: specifies a decimation algorithm to apply, i.e. "Uniform 2D".
decimationlevel: specifies a level of decimation to apply in both dimensions if "Unifiorm 2D" is used as decimationalgorithm. This is an optional parameter. The default is 0.
query: the query that will be run on the dataset. See the seismicquery web service for more information.
Here is an example response. This response has been formatted to improve readability
{
"from": {
"actor": "akka://DefaultActorSystemControllerActorSystem:FindDecimatedSeismicQueryInfoJsonActor:SeismicStatisticsResponse for FindDecimatedSeismicQueryInfoRequest:FindDecimatedSeismicQueryInfoRequest{klass=AbstractSeismicDataFinder, sourceType=geofiles, sourceName=0e704862-738a-4b07-9aba-09922ff13d94, uniqueId=c2Vpc21pYy9TRUdTZWlzbWljRGVwdGguSA==, queryString={\"keys\":[{\"name\":\"INLINE\",\"min\":596,\"max\":596,\"step\":1,\"order\":\"asc\",\"position\":596},{\"name\":\"XLINE\",\"min\":104,\"max\":1076,\"step\":1,\"order\":\"asc\"}],\"options\":null,\"emptyTracesKey\":{\"name\":\"XLINE\",\"min\":104,\"max\":1076},\"queryType\":\"seismicRange\"}, statisticsType=KEEP_NORMALIZATION, decimationAlgorithm=Uniform 2D, decimationLevel=2}"
},
"data": {
"content": {
"numberOfTraces": 80000,
"samplesPerTrace": 101,
"startTime": 0.0,
"sampleRate": 20.0,
"normalization": {
"minimumValue": -208.50137,
"maximumValue": 287.29187,
"meanValue": 10.027335,
"rmsValue": 24.442627
}
},
"links": [
{
"rel": "self",
"relEntity": "v1/schema/int/seismic/decimatedqueryinfo",
"href": "/ivaap/api/ds/geofiles/v1/sources/0e704862-738a-4b07-9aba-09922ff13d94/seismic/c2Vpc21pYy9TRUdTZWlzbWljRGVwdGguSA%3D%3D/decimatedqueryinfo",
"children": false,
"hasProjectEntityChildren": false,
"isProjectEntity": false
},
{
"rel": "Seismic Traces",
"name": "Seismic Traces",
"relEntity": "v1/schema/int/seismic/decimatedquerytrace",
"href": "/ivaap/api/ds/geofiles/v1/sources/0e704862-738a-4b07-9aba-09922ff13d94/seismic/c2Vpc21pYy9TRUdTZWlzbWljRGVwdGguSA%3D%3D/decimatedquerytraces",
"children": false,
"hasProjectEntityChildren": false,
"isProjectEntity": false
}
]
}
}
The numberOfTraces entry represents the total number of traces matching the specified query. This could be zero if the query is outside of the limits of the dataset, or if it is limited to an area of the survey where traces are missing. This is an important number to page subsequent calls to the seismictraces web service.
The samplesPerTrace entry represents the number of samples in each trace. The number of samples is identical for all traces. This should be identical to the samplesPerTrace returned by the seismicdata web service.
The startTime entry represents the time (or depth) of the first sample. This should be identical to the startTime returned by the seismicdata web service.
The sampleRate entry represents the time (or depth) increment between two consecutive samples. This should be identical to the sampleRate returned by the seismicdata web service.
The normalization section is identical to the normalization section returned by the seismicdata web service. In most cases, the values are identical, but this could vary based upon the implementation of your own format.
The links sections lists all HATEOAS links leading to the services supported by this dataset.
If the specified seismicuniqueid doesn't match a valid seismic dataset, no JSON response will be provided. The HTTP response will only show a "InvalidUniqueId" (error 404) in its headers.