Skip to main content
func (datapointClient) Query(
    ctx context.Context,
    datasetID uuid.UUID,
    options ...datasets.QueryOption,
) iter.Seq2[[]byte, error]
Query datapoints from one or more collections of the same dataset. The datapoints are lazily queried and returned as a sequence of bytes. The output sequence can be transformed into a typed proto.Message using CollectAs or As functions.

Parameters

datasetID
uuid.UUID
The ID of the dataset to query.
options
[]datasets.QueryOption
Options for querying datapoints.

Options

WithTemporalExtent(temporalExtent query.TemporalExtent)
required
Specify the time interval for which data should be queried. Right now, a temporal extent is required for every query.
WithSpatialExtent(spatialExtent orb.Geometry)
Specify the geographical extent in which to query data. Optional, if not specified the query will return all results found globally.
WithSpatialExtentFilter(spatialExtent query.SpatialExtent)
Specify a geographical extent with an explicit spatial filter mode and coordinate system.
WithCollections(collections ...*datasets.Collection)
Restrict the query to specific dataset collections by collection object.
WithCollectionIDs(collectionIDs ...uuid.UUID)
Restrict the query to specific dataset collections by collection ID.
WithSkipData()
default:"false"
Skip the data when querying datapoints. If set, only the required and auto-generated fields will be returned.

Returns

A sequence of bytes containing the requested data points as bytes.
import (
  "time"
  datasets "github.com/tilebox/tilebox-go/datasets/v1"
	"github.com/tilebox/tilebox-go/query"
)

startDate := time.Date(2014, 10, 4, 0, 0, 0, 0, time.UTC) 
endDate := time.Date(2021, 2, 24, 0, 0, 0, 0, time.UTC) 
queryInterval := query.NewTimeInterval(startDate, endDate)

datapoints, err := datasets.CollectAs[*v1.Sentinel1Sar](
    client.Datapoints.Query(
      ctx,
      dataset.ID,
      datasets.WithCollectionIDs(collection.ID),
      datasets.WithTemporalExtent(queryInterval),
    ),
)