Class: SentinelHub

ol/source/SentinelHub~SentinelHub


import SentinelHub from 'ol/source/SentinelHub.js';

A tile source that generates tiles using the Sentinel Hub Processing API. All of the constructor options are optional, however the source will not be ready for rendering until the auth, data, and evalscript properties are provided. These can be set after construction with the setAuth, setData, and setEvalscript methods.

If there are errors while configuring the source or fetching an access token, the change event will be fired and the source state will be set to error. See the getError method for details on handling these errors.

new SentinelHub(options)

Name Type Description
auth AuthConfig | string | undefined

The authentication configuration with clientId and clientSecret or an access token. See Sentinel Hub authentication for details. If not provided in the constructor, the source will not be rendered until setAuth is called.

data Array<ProcessRequestInputDataItem> | undefined

The input data configuration. If not provided in the constructor, the source will not be rendered until setData is called.

evalscript Evalscript | string | undefined

The process applied to the input data. If not provided in the constructor, the source will not be rendered until setEvalscript is called. See the setEvalscript documentation for details on the restrictions when passing process functions.

tileSize number | Size (defaults to [512, 512])

The pixel width and height of the source tiles.

url string (defaults to 'https://services.sentinel-hub.com/api/v1/process')

The Sentinel Hub Processing API URL.

projection ProjectionLike | undefined

Projection. Default is the view projection.

attributionsCollapsible boolean (defaults to true)

Allow the attributions to be collapsed.

interpolate boolean (defaults to true)

Use interpolated values when resampling. By default, linear interpolation is used when resampling. Set to false to use the nearest neighbor instead.

wrapX boolean (defaults to true)

Wrap the world horizontally.

transition number | undefined

Duration of the opacity transition for rendering. To disable the opacity transition, pass transition: 0.

Fires:

Extends

Methods

Increases the revision counter and dispatches a 'change' event.

Remove all cached reprojected tiles from the source. The next render cycle will create new tiles.

dispatchEvent(event){boolean | undefined} inherited

Dispatches an event and calls all listeners listening for events of this type. The event parameter can either be a string or an Object with a type property.

Name Type Description
event BaseEvent | string

Event object.

Returns:
false if anyone called preventDefault on the event object or if any of the listeners returned false.

Gets a value.

Name Type Description
key string

Key name.

Returns:
Value.

Get the attribution function for the source.

Returns:
Attribution function.

getAttributionsCollapsible(){boolean} inherited

Returns:
Attributions are collapsible.

getError(){Error | null}

When the source state is error, use this function to get more information about the error. To debug a faulty configuration, you may want to use a listener like this:

source.on('change', () => {
  if (source.getState() === 'error') {
    console.error(source.getError());
  }
});
Returns:
A source loading error.

getKeys(){Array.<string>} inherited

Get a list of object property names.

Returns:
List of property names.

getProjection(){Projection | null} inherited

Get the projection of the source.

Returns:
Projection.

getProperties(){Object.<string, *>} inherited

Get an object of all property names and values.

Returns:
Object.

getRevision(){number} inherited

Get the version number for this object. Each time the object is modified, its version number will be incremented.

Returns:
Revision.

Get the state of the source, see State for possible states.

Returns:
State.

getTileGrid(){TileGrid | null} inherited

Return the tile grid of the tile source.

Returns:
Tile grid.

on(type, listener){EventsKey | Array<EventsKey>} inherited

Listen for a certain type of event.

Name Type Description
type string | Array.<string>

The event type or array of event types.

listener function

The listener function.

Returns:
Unique key for the listener. If called with an array of event types as the first argument, the return will be an array of keys.

once(type, listener){EventsKey | Array<EventsKey>} inherited

Listen once for a certain type of event.

Name Type Description
type string | Array.<string>

The event type or array of event types.

listener function

The listener function.

Returns:
Unique key for the listener. If called with an array of event types as the first argument, the return will be an array of keys.

set(key, value, silent) inherited

Sets a value.

Name Type Description
key string

Key name.

value *

Value.

silent boolean | undefined

Update without triggering an event.

setAttributions(attributions) inherited

Set the attributions of the source.

Name Type Description
attributions AttributionLike | undefined

Attributions. Can be passed as string, Array<string>, Attribution, or undefined.

Set the authentication configuration for the source (if not provided in the constructor). If an object with clientId and clientSecret is provided, an access token will be fetched and used with processing requests. Alternatively, an access token can be supplied directly.

Name Type Description
auth

The auth config or access token.

Name Type Description
tokenUrl string (defaults to 'https://services.sentinel-hub.com/auth/realms/main/protocol/openid-connect/token')

The URL to get the authentication token.

clientId string

The client ID.

clientSecret string

The client secret.

Set or update the input data used.

Name Type Description
data Array<ProcessRequestInputDataItem>

The input data configuration.

setEvalscript(evalscript)

Set or update the Evalscript used to process the data. Either a process object or a string Evalscript can be provided. If a process object is provided, it will be serialized to produce the Evalscript string. Because these functions will be serialized and executed by the Processing API, they cannot refer to other variables or functions that are not provided by the Processing API context.

Name Type Description
evalscript

The process to apply to the input data.

Name Type Description
setup Setup

The setup function.

evaluatePixel EvaluatePixel

The function to transform input samples into output values.

updateOutput UpdateOutput | undefined

Optional function to adjust the output bands.

updateOutputMetadata UpdateOutputMetadata | undefined

Optional function to update the output metadata.

preProcessScenes Collections | undefined

Optional function called before processing.

version string (defaults to '3')

The Evalscript version.

setProperties(values, silent) inherited

Sets a collection of key-value pairs. Note that this changes any existing properties and adds new ones (it does not remove any existing properties).

Name Type Description
values Object.<string, *>

Values.

silent boolean | undefined

Update without triggering an event.

setTileGridForProjection(projection, tilegrid) inherited

Sets the tile grid to use when reprojecting the tiles to the given projection instead of the default tile grid for the projection.

This can be useful when the default tile grid cannot be created (e.g. projection has no extent defined) or for optimization reasons (custom tile size, resolutions, ...).

Name Type Description
projection ProjectionLike

Projection.

tilegrid TileGrid

Tile grid to use for the projection.

un(type, listener) inherited

Unlisten for a certain type of event.

Name Type Description
type string | Array.<string>

The event type or array of event types.

listener function

The listener function.

unset(key, silent) inherited

Unsets a property.

Name Type Description
key string

Key name.

silent boolean | undefined

Unset without triggering an event.