---
title: "datasets.NewDatapointDescriptor"
description: "Create a reusable descriptor for decoding raw protobuf datapoints from a loaded dataset."
image: "https://tilebox.com/images/tilebox-docs-social-preview.png"
---

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

# datasets.NewDatapointDescriptor

import { Fragment } from "astro/jsx-runtime";

import ApiReference from "@docs/components/ApiReference.astro";

import ParamField from "@docs/components/ParamField.astro";

```go
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

**dataset**

type: *datasets.Dataset

required: true

A dataset returned by `client.Datasets.Get` or another dataset client method.

## Returns

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

<h2 id="request-example">Usage example</h2>

```go
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
}
```

Source: https://tilebox.com/docs/api-reference/go/datasets/NewDatapointDescriptor/index.mdx
