> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tilebox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# datasets.NewDatapointDescriptor

```go theme={"system"}
func NewDatapointDescriptor(dataset *datasets.Dataset) (*datasets.DatapointDescriptor, error)
```

Create a reusable descriptor for decoding raw protobuf datapoints from a loaded dataset.

Use this helper when you want to query datasets without generated Go protobuf types.

## Parameters

<ParamField path="dataset" type="*datasets.Dataset" required>
  A dataset returned by `client.Datasets.Get` or another dataset client method.
</ParamField>

## Returns

A `DatapointDescriptor` that can be passed to [`UnmarshalDatapoint`](/api-reference/go/datasets/UnmarshalDatapoint) or [`DatapointDecoder.Unmarshal`](/api-reference/go/datasets/DatapointDecoder.Unmarshal).

<RequestExample>
  ```go Go theme={"system"}
  dataset, err := client.Datasets.Get(ctx, "open_data.copernicus.sentinel1_sar")
  if err != nil {
      return err
  }

  descriptor, err := datasets.NewDatapointDescriptor(dataset)
  if err != nil {
      return err
  }
  ```
</RequestExample>
