类:SentinelHub

ol/source/SentinelHub~哨兵数据平台


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

一个利用Sentinel Hub Processing API生成瓦片的瓦片数据源。构造函数的所有选项均为可选,但在提供authdataevalscript属性之前,数据源无法用于渲染。这些属性可在构造后通过setAuthsetDatasetEvalscript方法进行设置。

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

new SentinelHub(options)

Name Type 描述
auth AuthConfig | string | undefined

身份验证配置clientIdclientSecret或访问令牌。请参见Sentinel Hub authentication详情请参阅。如果未在构造函数中提供,则数据源将不会被渲染,直到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。

wrapX boolean (defaults to true)

水平环绕世界。

transition number | undefined

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

触发事件:

继承

方法

增加修订计数器并触发“更改”事件。

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

dispatchEvent(event){boolean | undefined} inherited

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

Name Type 描述
event BaseEvent | string

事件对象。

返回:
false 如果事件对象上调用了 preventDefault 方法,或者任何监听器返回了 false。

获取值。

Name Type 描述
key string

键名

返回:
值。

获取源的归因函数。

返回:
版权归属功能。

getAttributionsCollapsible(){boolean} inherited

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

getError(){Error | null}

当源状态为 error 时,请使用此函数获取更多错误信息。如需调试配置错误,可考虑使用以下监听器:

source.on('change', () => {
  if (source.getState() === 'error') {
    console.error(source.getError());
  }
});
返回:
数据源加载错误。

getKeys(){Array.<string>} inherited

获取对象属性名列表。

返回:
属性名称列表。

getProjection(){Projection | null} inherited

获取源的投影。

返回:
投影.

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

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

返回:
对象。

getRevision(){number} inherited

获取此对象的版本号。每当对象被修改时,其版本号便会递增。

返回:
修订。

获取数据源的状态,请参阅 State 以了解可能的状态。

返回:
状态。

getTileGrid(){TileGrid | null} inherited

返回瓦片源的瓦片网格。

返回:
瓦片 网格.

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

监听特定类型的事件。

Name Type 描述
type string | Array.<string>

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

listener function

监听器函数。

返回:
监听器的唯一键。若以事件类型数组作为第一个参数调用,则返回值为键的数组。

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

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

Name Type 描述
type string | Array.<string>

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

listener function

监听器函数。

返回:
监听器的唯一键。若以事件类型数组作为首个参数调用,则返回键的数组。

set(key, value, silent) inherited

设置值。

Name Type 描述
key string

键名。

value *

值。

silent boolean | undefined

更新时不触发事件。

setAttributions(attributions) inherited

设置数据源的归属信息。

Name Type 描述
attributions AttributionLike | undefined

归属。可以作为string, Array<string>, Attribution,或undefined.

设置源的身份验证配置(如果构造函数中未提供)。如果提供了包含 clientIdclientSecret 的对象,系统将获取访问令牌并将其用于处理请求。或者,可以直接提供访问令牌。

Name Type 描述
auth

The auth config or access token.

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

用于获取身份验证令牌的URL。

clientId string

客户端 ID

clientSecret string

客户端密钥。

设置或更新输入数据。

Name Type 描述
data Array<ProcessRequestInputDataItem>

输入数据配置。

setEvalscript(evalscript)

设置或更新用于处理数据的Evalscript。可提供处理对象或字符串形式的Evalscript。若提供处理对象,则将其序列化以生成Evalscript字符串。因为这些函数将由Processing API序列化并执行,所以无法引用Processing API上下文未提供的其他变量或函数。

Name Type 描述
evalscript

The process to apply to the input data.

Name Type 描述
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 描述
values Object.<string, *>

值。

silent boolean | undefined

在不触发事件的情况下更新。

setTileGridForProjection(projection, tilegrid) inherited

设置用于将图块重新投影到指定投影的图块网格,而非该投影的默认图块网格。

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

Name Type 描述
projection ProjectionLike

投影.

tilegrid TileGrid

用于投影的瓦片网格。

un(type, listener) inherited

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

Name Type 描述
type string | Array.<string>

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

listener function

监听器函数。

unset(key, silent) inherited

移除属性。

Name Type 描述
key string

键名。

silent boolean | undefined

在不触发事件的情况下取消设置。