Tilebox Datasets
A high-performance platform for structuring and querying satellite metadata, with curated open data catalogs and support for custom dataset collections.
Tilebox Datasets ingests and structures metadata for efficient querying, reducing data transfer and storage costs.
Create your own Custom Datasets and easily set up a private, custom, strongly typed and highly available catalogue, or explore any of the wide range of available public open data datasets available on Tilebox.
Learn more about datasets by exploring the following sections:
Datasets
Learn what dataset types are available on Tilebox and how to create, list and access them.
Collections
Learn what collections are and how to access them.
Querying Data
Find out how to access data from a collection for specific time intervals.
Ingesting Data
Learn how to ingest data into a collection.
Assets and storage
Connect dataset metadata to files in object storage.
Terminology
Get familiar with some key terms when working with time series datasets.
Data points are the individual entities that form a dataset. Each data point has a set of required fields determined by the dataset type, and can have custom user-defined fields.
Datasets act as containers for data points. All data points in a dataset share the same type and fields. Tilebox supports different types of datasets, currently those are Timeseries and Spatio-temporal datasets.
Collections group data points within a dataset. They help represent logical groupings of data points that are often queried together.
Creating a datasets client
Prerequisites
- You have installed the python
tilebox-datasetspackage or go library. - You have created a Tilebox API key.
After meeting these prerequisites, you can create a client instance to interact with Tilebox Datasets.
from tilebox.datasets import Client
client = Client(token="YOUR_TILEBOX_API_KEY")import (
"github.com/tilebox/tilebox-go/datasets/v1"
)
client := datasets.NewClient(
datasets.WithAPIKey("YOUR_TILEBOX_API_KEY"),
)You can also set the TILEBOX_API_KEY environment variable to your API key. You can then instantiate the client without passing the token argument. Python will automatically use this environment variable for authentication.
from tilebox.datasets import Client
# requires a TILEBOX_API_KEY environment variable
client = Client()import (
"github.com/tilebox/tilebox-go/datasets/v1"
)
// requires a TILEBOX_API_KEY environment variable
client := datasets.NewClient()Exploring datasets
After creating a client instance, you can start exploring available datasets. A straightforward way to do this in an interactive environment is to list all datasets and use the autocomplete feature in your Jupyter notebook.
datasets = client.datasets()
datasets. # trigger autocomplete here to view available datasetspackage main
import (
"context"
"github.com/tilebox/tilebox-go/datasets/v1"
"log"
)
func main() {
client := datasets.NewClient()
ctx := context.Background()
allDatasets, err := client.Datasets.List(ctx)
if err != nil {
log.Fatalf("Failed to list datasets: %v", err)
}
for _, dataset := range allDatasets {
log.Printf("Dataset: %s", dataset.Name)
}
}Errors you might encounter
AuthenticationError
AuthenticationError occurs when the client fails to authenticate with the Tilebox API. This may happen if the provided API key is invalid or expired. A client instantiated with an invalid API key won’t raise an error immediately, but an error will occur when making a request to the API.
client = Client(token="invalid-key") # runs without error
datasets = client.datasets() # raises AuthenticationErrorpackage main
import (
"context"
"github.com/tilebox/tilebox-go/datasets/v1"
"log"
)
func main() {
// runs without error
client := datasets.NewClient(datasets.WithAPIKey("invalid-key"))
// returns an error
_, err := client.Datasets.List(context.Background())
if err != nil {
log.Fatalf("Failed to list datasets: %v", err)
}
}