Skip to content

tilebox/tilebox-generate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tilebox Logo

Documentation | Console | Discord

Tilebox Generate

CLI tool to generate Tilebox datasets types for Go. It is intended be used alongside tilebox-go.

Installation

go install github.com/tilebox/tilebox-generate@latest

Examples

Generate a dataset type for Sentinel-1 SAR dataset to ./protogen using $TILEBOX_API_KEY api key:

tilebox-generate --dataset open_data.copernicus.sentinel1_sar

Same as above, but override the output directory, package name and message name:

tilebox-generate --dataset open_data.copernicus.sentinel1_sar --out ./protogen --package tilebox.v1 --name MyDataset

Usage

NAME:
   tilebox-generate - Generate Tilebox datasets types for Go

USAGE:
   tilebox-generate [global options]

GLOBAL OPTIONS:
   --tilebox-api-key value  A Tilebox API key [$TILEBOX_API_KEY]
   --dataset value          A valid dataset slug e.g. 'open_data.copernicus.sentinel1_sar'
   --out value              A directory to write the output to (default: protogen)
   --package value          Package name (default: tilebox.v1)
   --name value             Override the message name
   --help, -h               show help

Usage with tilebox-go

Usage example to load typed data from Tilebox.

To have typed custom datasets in Go you need to replace tileboxdatasets.CollectAs type with the generated one.

package main

import (
	tileboxdatasets "github.com/tilebox/tilebox-go/datasets/v1"
	"log"
	// TODO: replace with your own path to the generated package
	tileboxv1 "path/to/protogen/tilebox/v1"
)

func main() {
	// ...

	// Load data of my custom datasets
	// TODO: replace tileboxv1.Sentinel1Sar with your own dataset type
	datapoints, err := tileboxdatasets.CollectAs[*tileboxv1.Sentinel1Sar](collection.Load(ctx, loadInterval))
	if err != nil {
		log.Fatalf("Failed to load and collect datapoints: %v", err)
	}
	_ = datapoints // now datapoints are typed using tileboxv1.Sentinel1Sar
	
	// ...
}