Presto Embeddings#

class torchgeo.datasets.PrestoEmbeddings(paths='data', crs=None, res=None, bands=None, transforms=None, cache=True, time_series=False)[source]#

Bases: RasterDataset

Presto Embeddings dataset.

Geospatial embeddings for Togo generated using the Presto geospatial foundation model.

Presto geospatial embeddings provide a compressed representation of Earth Observation data, enabling more efficient mapping and analysis. Embeddings are generated by using the Presto encoder to compress location information, optical imagery (Sentinel-2), radar imagery (Sentinel-1), climatology data (ERA5), and elevation data (SRTM) over the course of a year (March 2019 - March 2020). Each embedding contains 128 features representing a single 10 m2 pixel on Earth. Embeddings can be used in place of raw Earth Observation data for various machine-learning tasks, such as classification, clustering, and anomaly detection.

The dataset can be downloaded from one of two sources:

If you use this dataset in your research, please cite the following paper:

Added in version 0.9.

filename_glob = 'Togo_Presto_embeddings_*'#

Glob expression used to search for files.

This expression should be specific enough that it will not pick up files from other datasets. It should not include a file extension, as the dataset may be in a different file format than what it was originally downloaded as.

mint: datetime = datetime.datetime(2019, 3, 1, 0, 0)#

Minimum timestamp if not in filename

maxt: datetime = datetime.datetime(2020, 3, 1, 0, 0)#

Maximum timestamp if not in filename

all_bands: tuple[str, ...] = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '100', '101', '102', '103', '104', '105', '106', '107', '108', '109', '110', '111', '112', '113', '114', '115', '116', '117', '118', '119', '120', '121', '122', '123', '124', '125', '126', '127')#

Names of all available bands in the dataset

plot(sample, show_titles=True, suptitle=None)[source]#

Plot a sample from the dataset.

Warning

Visualizations are generated using PCA on each image individually, and are thus not comparable across images. The plot method is provided for visualization purposes only and should not be used to draw conclusions.

Parameters:
  • sample (dict[str, Any]) – a sample returned by RasterDataset.__getitem__()

  • show_titles (bool) – flag indicating whether to show titles above each panel

  • suptitle (str | None) – optional string to use as a suptitle

Returns:

a matplotlib Figure with the rendered sample

Return type:

Figure