Interface CoverageSlicesCatalog.SliceProvider

All Known Implementing Classes:
NetCDFSliceProvider
Enclosing class:
CoverageSlicesCatalog

public static interface CoverageSlicesCatalog.SliceProvider
Resolver that can translate GeoTools Query objects into a stream of matching slices.

Implementations are expected to:

  • Recognize TIME/ELEVATION (and other dimension) constraints in Query#getFilter()
  • Compute the matching tuples and their imageIndex without materializing all slices
  • Build CoverageSlice instances (or at least their originator SimpleFeature) lazily
It matches the FeatureSource behavior by returning an Iterator to iterate over the CoverageSlices resulting from a specific Query.
  • Method Summary

    Modifier and Type
    Method
    Description
    bounds(Query query)
    Optional fast-path for bounds.
    default int
    count(Query query)
    Optional fast-path for counts.
    iterate(Query query)
    Return the SliceIterator object to iterate on the CoverageSlices resulting from the provided Query.
  • Method Details

    • iterate

      Iterator<CoverageSlice> iterate(Query query) throws IOException
      Return the SliceIterator object to iterate on the CoverageSlices resulting from the provided Query.
      Throws:
      IOException
    • count

      default int count(Query query) throws IOException
      Optional fast-path for counts. Implementations may return -1 to indicate that the catalog should fall back to counting by iteration.
      Throws:
      IOException
    • bounds

      default ReferencedEnvelope bounds(Query query) throws IOException
      Optional fast-path for bounds. Implementations may return null to indicate that the catalog should fall back to computing bounds by iteration.
      Throws:
      IOException