Zarr

About Zarr Data

Zarr data can be ingested by Sentinel Hub users using Zarr Import API.

Accessing data

Zarr data is accessed using Sentinel Hub APIs, just like any other data you are used to. In all cases collection id is needed, which can be obtained using the Zarr Import API.

Endpoint locations

ServiceNotes
services.sentinel-hub.com/api/for data in AWS buckets in EU-Central-1 region
services-uswest2.sentinel-hub.com/api/for data in AWS buckets in US-West-2 region
creodias.sentinel-hub.com/api/for data in CREODIAS buckets

Data type identifier

Use zarr-<collectionId> for accessing as the value of the input.data.type parameter in your API requests. For example, set it to: zarr-123e4567-e89b-12d3-a456-426614174000 for Zarr collection with id 123e4567-e89b-12d3-a456-426614174000. Note that each Zarr collection in Sentinel Hub contains data from a single Zarr group.

Request resolution limit

The maximum meters per pixel limit is set by the service and is approximately 3 times the resolution of the actual ingested data.

Filtering Options

This chapter will explain the input.data.dataFilter object.

mosaickingOrder

Sets the sensing time order of preference.

ValueDescriptionNotes
mostRecent- In case of SIMPLE mosaicking, the values for most recent sensing time will be returned.
- For ORBIT and TILE mosaicking, samples in the evalscript will have values sorted by descending sensing times.
leastRecentSimilar to mostRecent but in reverse order.

Note that mosaicking works differently for Zarrs than for other collections.

Processing Options

This chapter will explain the input.data.processing object of the process API.

ParameterDescriptionValuesDefault
upsamplingDefines the interpolation used for processing when the pixel resolution is greater than the source resolution (e.g. 5m/px with a 10m/px source)NEAREST - nearest neighbour interpolation
BILINEAR - bilinear interpolation
BICUBIC - bicubic interpolation
NEAREST
downsamplingAs above except when the resolution is lower.NEAREST - nearest neighbour interpolation
BILINEAR - bilinear interpolation
BICUBIC - bicubic interpolation
NEAREST

Available Data Arrays

Since Zarr collections contains your ingested data, this means that the available arrays (or bands) are the ones that the Zarr group contains. The band names to use in your evalscript are the ingested arrays names and can be listed using the Zarr Import API.

Data mask and mosaicking

A Zarr collection only contains data arrays of a single Zarr group. Zarr metadata does not contain cover geometries (other than the envelope), thus all data arrays are considered to cover the full Zarr envelope. Thus, the value of dataMask is always 1 inside the Zarr's envelope and 0 outside. Areas for which an array has no data chunks are filled with the no data value.

Consequently, mosaicking works differently than for other collections:

  • Timeless (two-dimensional) Zarrs contain data for a single (unspecified) sensing time. This data will be returned for both SIMPLE and TILE mosaicking.
  • Three-dimensional Zarrs contain data for multiple sensing times. The data returned will be:
    • For SIMPLE mosaicking, only the data for a single sensing time. As explained above, the data is considered to cover the full Zarr envelope, thus there are no missing areas where data from other sensing times would be mosaicked in.
    • For TILE mosaicking, an array of tiles corresponding to sensing times.
  • ORBIT mosaicking is not supported because Zarrs do not contain orbit metadata.

Units

The only units available are digital numbers (DN) so any unit conversions, if necessary, are the responsability of your evalscript.