func UnmarshalDatapoint(
descriptor *datasets.DatapointDescriptor,
data []byte,
) (map[string]any, error)
Decode a raw protobuf datapoint into a JSON-like map using a dataset descriptor.
Parameters
descriptor
*datasets.DatapointDescriptor
required
The raw protobuf datapoint bytes returned by a datapoint query.
Returns
A map of datapoint fields, or an error if the raw datapoint cannot be decoded.
descriptor, err := datasets.NewDatapointDescriptor(dataset)
if err != nil {
return err
}
for data, err := range client.Datapoints.Query(ctx,
dataset.ID,
datasets.WithTemporalExtent(queryInterval),
) {
if err != nil {
return err
}
datapoint, err := datasets.UnmarshalDatapoint(descriptor, data)
if err != nil {
return err
}
fmt.Println(datapoint["id"])
}