Class: SentinelHub

ol/source/SentinelHub~SentinelHub


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

使用 Sentinel Hub Processing API 生成瓦片的瓦片数据源。所有构造函数选项都是可选的,但在提供 authdataevalscript 属性之前,数据源不会准备好进行渲染。这些可以在构造后通过 setAuthsetDatasetEvalscript 方法设置。

如果在配置数据源或获取访问令牌时出现错误,将触发 change 事件,数据源状态将设置为 error。有关处理这些错误的详细信息,请参见 getError 方法。

new SentinelHub(options)

Name Type Description
auth AuthConfig | string | undefined

包含 clientIdclientSecret 的认证配置或访问令牌。详见 Sentinel Hub 认证。如果构造时未提供,数据源将不会渲染,直到调用 setAuth

data Array<ProcessRequestInputDataItem> | undefined

输入数据配置。如果构造时未提供,数据源将不会渲染,直到调用 setData

evalscript Evalscript | string | undefined

应用于输入数据的处理。如果构造时未提供,数据源将不会渲染,直到调用 setEvalscript。有关传递处理函数时的限制详情,请参阅 setEvalscript 文档。

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

源瓦片的像素宽度和高度。

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

Sentinel Hub 处理 API URL。

projection ProjectionLike | undefined

投影。默认为视图投影。

attributionsCollapsible boolean (defaults to true)

允许折叠归属信息。

interpolate boolean (defaults to true)

重采样时是否使用插值。默认情况下, 重采样时使用线性插值。设置为 false 可使用 the nearest neighbor instead.

wrapX boolean (defaults to true)

水平包裹世界。

transition number | undefined

渲染的不透明度过渡持续时间。要禁用不透明度过渡,请传递 transition: 0

触发事件:

Extends

Methods

增加修订计数器并分发 'change' 事件。

移除数据源中所有缓存的重投影瓦片。下一个渲染周期将创建新的瓦片。

dispatchEvent(event){boolean | undefined} inherited

分发事件并调用所有监听此类型事件的监听器。事件参数可以是一个字符串或一个 具有 type 属性的对象。

Name Type Description
event BaseEvent | string

事件对象。

返回值:
如果有人在事件对象上调用了 preventDefault 或任何监听器返回 false,则返回 false

获取一个值。

Name Type Description
key string

键名。

返回值:
值。

获取数据源的归属函数。

返回值:
Attribution function.

getAttributionsCollapsible(){boolean} inherited

返回值:
归属信息是否可折叠。

getError(){Error | null}

当数据源状态为 error 时,使用此函数获取有关错误的更多信息。要调试错误配置,您可能需要使用如下监听器:

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

getKeys(){Array.<string>} inherited

获取对象属性名列表。

返回值:
属性名列表。

getProjection(){Projection | null} inherited

获取数据源的投影。

返回值:
投影。

getProperties(){NoInfer.<Properties>} inherited

获取包含所有属性名和值的对象。

返回值:
对象。

getRevision(){number} inherited

获取此对象的版本号。 每次对象被修改时,其版本号将递增。

返回值:
版本号。

获取数据源的状态,可能的状态参见 State。

返回值:
状态。

getTileGrid(){TileGrid | null} inherited

返回瓦片数据源的瓦片网格。

返回值:
瓦片网格。

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

监听特定类型的事件。

Name Type Description
type string | Array.<string>

事件类型或事件类型数组。

listener function

监听器函数。

返回值:
监听器的唯一键。如果第一个参数是事件类型数组,则返回键的数组。

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

仅监听一次特定类型的事件。

Name Type Description
type string | Array.<string>

事件类型或事件类型数组。

listener function

监听器函数。

返回值:
监听器的唯一键。如果第一个参数是事件类型数组,则返回键的数组。

set(key, value, silent) inherited

设置一个值。

Name Type Description
key string

键名。

value *

值。

silent boolean | undefined

更新但不触发事件。

setAttributions(attributions) inherited

设置数据源的归属信息。

Name Type Description
attributions AttributionLike | undefined

归属信息。可以作为字符串、Array<string>、Attribution 或 undefined 传入。

设置数据源的认证配置(如果未在构造函数中提供)。如果提供了包含 clientId 和 clientSecret 的对象,将获取访问令牌并用于处理请求。或者,可以直接提供访问令牌。

Name Type Description
auth

认证配置或访问令牌。

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

获取认证令牌的 URL。

clientId string

客户端 ID。

clientSecret string

客户端密钥。

设置或更新使用的输入数据。

Name Type Description
data Array<ProcessRequestInputDataItem>

输入数据配置。

setEvalscript(evalscript)

设置或更新用于处理数据的 Evalscript。可以提供处理对象或字符串 Evalscript。如果提供处理对象,它将被序列化以生成 Evalscript 字符串。由于这些函数将被序列化并由 Processing API 执行,它们不能引用 Processing API 上下文未提供的其他变量或函数。

Name Type Description
evalscript

要应用于输入数据的处理。

Name Type Description
setup Setup

设置函数。

evaluatePixel EvaluatePixel

将输入样本转换为输出值的函数。

updateOutput UpdateOutput | undefined

调整输出波段的可选函数。

updateOutputMetadata UpdateOutputMetadata | undefined

更新输出元数据的可选函数。

preProcessScenes Collections | undefined

处理前调用的可选函数。

version string (defaults to '3')

Evalscript 版本。

setProperties(values, silent) inherited

设置一组键值对。 注意,这会更改任何现有属性并添加新属性(不会移除任何现有属性)。

Name Type Description
values Partial.<NoInfer.<Properties>>

值。

silent boolean | undefined

更新但不触发事件。

setTileGridForProjection(projection, tilegrid) inherited

设置在将瓦片重投影到给定投影时使用的瓦片网格, 而不是默认的瓦片网格rojection.

当无法创建默认瓦片网格(例如投影未定义范围)或出于优化原因(自定义瓦片尺寸、分辨率等)时,这可能很有用。

Name Type Description
projection ProjectionLike

投影。

tilegrid TileGrid

用于投影的瓦片网格。

un(type, listener) inherited

取消监听特定类型的事件。

Name Type Description
type string | Array.<string>

事件类型或事件类型数组。

listener function

监听器函数。

unset(key, silent) inherited

取消设置一个属性。

Name Type Description
key string

键名。

silent boolean | undefined

取消设置但不触发事件。