Interface IObsStore

All Superinterfaces:
IDataStore<BigId,IObsData,IObsStore.ObsField,ObsFilter>, Map<BigId,IObsData>
All Known Implementing Classes:
EmptyObsStore

public interface IObsStore extends IDataStore<BigId,IObsData,IObsStore.ObsField,ObsFilter>

Generic interface for data stores containing observations.

Observations are organized into data streams. Each data stream contains observations sharing the same result type (i.e. record structure).

Observations retrieved by select methods are sorted by phenomenon time and grouped by result time when several result times are requested.

  • Method Details

    • getDataStreams

      IDataStreamStore getDataStreams()
      Returns:
      Interface to manage data streams
    • add

      BigId add(IObsData obs)
      Add an observation to the datastore
      Parameters:
      obs -
      Returns:
      The auto-generated ID
    • selectResults

      default Stream<DataBlock> selectResults(ObsFilter filter)
      Select all observations matching the query and return result datablocks only
      Parameters:
      filter - Observation filter
      Returns:
      Stream of result data blocks
    • selectObservedFois

      default Stream<BigId> selectObservedFois(ObsFilter filter)
      Select all FOIs for which observation matching the filter are available
      Parameters:
      filter -
      Returns:
      Stream of FOI internal IDs
    • getStatistics

      Stream<ObsStats> getStatistics(ObsStatsQuery query)
      Select statistics for systems and FOI matching the query
      Parameters:
      query - filter to select desired systems and FOIs
      Returns:
      stream of statistics buckets. Each item represents statistics for observations collected for a combination of system, feature of interest, and result time.
    • filterBuilder

      default ObsFilter.Builder filterBuilder()
      Returns:
      A builder for a filter compatible with this datastore
    • selectAllFilter

      default ObsFilter selectAllFilter()
      Specified by:
      selectAllFilter in interface IDataStore<BigId,IObsData,IObsStore.ObsField,ObsFilter>
      Returns:
      The filter to use to select all records
    • linkTo

      void linkTo(IFoiStore foiStore)
      Link this store to a feature of interest store to enable JOIN queries
      Parameters:
      foiStore -