WCSLayer

AMD: require(["geoscene/layers/WCSLayer"], (WCSLayer) => { /* code goes here */ });
ESM: import WCSLayer from "@geoscene/core/layers/WCSLayer";
类: geoscene/layers/WCSLayer
继承于:WCSLayer Layer Accessor
起始版本:GeoScene API for JavaScript 4.17
beta

WCS 显示来自OGC Web 覆盖服务 的栅格数据。栅格数据在客户端进行投影和渲染。它支持版本 1.0.0、1.1.0、1.1.1、1.1.2 和 2.0.1。对于版本 2.0.1,它支持支持 GEOTIFF 覆盖范围的服务器,并实现以下扩展:缩放、插值、范围子集、CRS 和 KVP/Get。

为避免在使用 WCSLayer 时出现跨源问题,您可以设置启用CORS 服务器代理。默认情况下,基于 GeoScene Server (10.3.1+) 影像服务的 WCSLayers 已启用 CORS。

另请参阅:

构造函数

new WCSLayer(properties)
参数:
properties Object
可选

有关可能传递到构造函数中的所有属性的列表,请参阅属性

示例:
// Typical usage
let layer = new WCSLayer({
  url: "https://sampleserver6.arcgisonline.com/arcgis/services/ScientificData/SeaTemperature/ImageServer/WCSServer"
});

属性概述

可以设置、检索或收听任何属性。请查阅使用属性主题。
显示继承的属性 隐藏继承的属性
名称 类型 描述
整数[]更多信息

使用从 0 开始的波段索引定义波段组合。

更多信息WCSLayer
String更多信息

服务定义的版权文本。

更多信息WCSLayer
String更多信息

图层的覆盖范围标识符。

更多信息WCSLayer
对象更多信息

使用此属性可将自定义参数追加到所有 WCS 请求。

更多信息WCSLayer
String更多信息

类的名称。

更多信息Accessor
Field[]更多信息

图层中由服务像素值组成的栅格字段数组。

更多信息fields
范围更多信息

图层的全图范围。

更多信息Layer
String更多信息

分配给图层的唯一 ID。

更多信息Layer
String更多信息

定义如何插值像素值。

更多信息WCSLayer
String更多信息

指示图层在“图层列表 ”微件中的显示方式。

更多信息Layer
布尔值更多信息

指示图层的资源是否已加载。

更多信息Layer
错误更多信息

如果加载时发生错误,则返回 Error 对象。

更多信息Layer
String更多信息

表示加载操作的状态。

更多信息Layer
对象[]更多信息

加载时发生的警告列表。

更多信息Layer
整数更多信息

图层在视图中可见的最大比例(放大程度最高)。

更多信息WCSLayer
整数更多信息

图层在视图中可见的最小比例(最大缩小)。

更多信息WCSLayer
DimensionalDefinition[]更多信息

与图层关联的多维定义。

更多信息WCSLayer
整数更多信息

图层的不透明度。

更多信息Layer
PortalItem更多信息

从中加载图层的门户项目。

更多信息WCSLayer
RasterInfo更多信息

从数据源检索的栅格信息。

更多信息WCSLayer
ClassBreaksRenderer|RasterStretchRenderer更多信息

分配给图层的渲染器。

更多信息WCSLayer
TimeExtent更多信息

图层的时间范围。

更多信息WCSLayer
TimeInfo更多信息

TimeInfo 提供的信息包括存储每个要素的开始结束 时间的日期字段以及图层的 fullTimeExtent

更多信息WCSLayer
TimeInterval更多信息

基于特定时间间隔的时间数据的临时偏移。

更多信息WCSLayer
String更多信息

图层的标题,用于在“图层列表”微件等位置标识该图层。

更多信息Layer
String更多信息 对于WCSLayer 类型始终为 "wcs"更多信息WCSLayer
String更多信息

当前正在使用的 Web 覆盖服务的版本。

更多信息WCSLayer
布尔值更多信息

指示图层在视图中是否可见。

更多信息WCSLayer
String更多信息

当前使用的网络覆盖服务版本。

更多信息WCSLayer
布尔值更多信息

指示图层在视图中是否可见。

更多信息Layer

属性详情

bandIds Number[]

使用从 0 开始的波段索引定义波段组合。

服务定义的版权文本。

coverageId String

图层的覆盖范围标识符。它默认为第一个覆盖范围。

customParameters Object

使用此属性可将自定义参数追加到所有 WCS 请求。自定义参数应用于 WCS 服务的 GetCapabilities, DescribeCoverage, GetCoverage 操作

示例:
// request for particular images in a mosaic dataset
// Numbers are the object IDs of the image service catalog table
layer.customParameters = {images: "1,2,3"};
declaredClass Stringreadonly inherited

类的名称。声明的类名的格式为 geoscene.folder.className

fields Field[]inner

图层中由服务像素值组成的栅格字段数组。

图层的全图范围。默认情况下,这是全球性的。此属性可用于设置视图范围以匹配图层的范围,以便其要素显示为填充视图请参阅下面的示例代码段。

示例:
// Once the layer loads, set the view's extent to the layer's fullextent
layer.when(function(){
  view.extent = layer.fullExtent;
});

分配给图层的唯一 ID。如果未由开发人员设置,则会在加载图层时自动生成。

interpolation String

定义如何插值像素值。

可能值:"nearest"|"bilinear"|"cubic"|"majority"

listMode String inherited

指示图层在“图层列表 ”微件中的显示方式。可能的值如下:

说明
show 该图层在内容列表中可见。
hide 图层隐藏在内容列表中。
hide-children 如果图层时 GroupLayer, BuildingSceneLayer, KMLLayer, MapImageLayer, TileLayerWMSLayer, 请从内容列表中隐藏子图层。

可能值:"show"|"hide"|"hide-children"

默认值:show
loaded Booleanreadonly inherited

指示图层的资源是否已加载。如果为 true,则可以访问对象的所有属性。

默认值:false
loadError Errorreadonly inherited

如果加载时发生错误,则返回 Error 对象。

默认值:null
loadStatus Stringreadonly inherited

表示加载操作的状态。

说明
not-loaded 对象的资源尚未加载。
loading 对象的资源当前正在加载。
loaded 对象的资源已加载且未出现错误。
failed 无法加载对象的资源。有关更多详情,请参阅加载错误

可能值:"not-loaded"|"loading"|"failed"|"loaded"

默认值:not-loaded
loadWarnings Object[]readonly inherited

加载时发生的警告列表。

maxScale Number

图层在视图中可见的最大比例(放大程度最高)。如果地图放大到超出此比例,则该图层将不可见。值为 0 表示该图层没有最大比例。maxScale 值应始终小于 minScale 值,并且大于或等于服务规范。

默认值:0
示例:
// The layer will not be visible when the view is zoomed in beyond a scale of 1:1,000
layer.maxScale = 1000;
// The layer's visibility is not restricted to a maximum scale.
layer.maxScale = 0;
minScale Number

图层在视图中可见的最小比例(最大缩小)。如果地图缩小到超出此比例,则图层将不可见。值为 0 表示该图层没有最小比例。minScale 值应始终大于 maxScale 值,并且小于或等于服务规范。

默认值:0
示例:
// The layer will not be visible when the view is zoomed out beyond a scale of 1:3,000,000
layer.minScale = 3000000;
// The layer's visibility is not restricted to a minimum scale.
layer.minScale = 0;
multidimensionalDefinition DimensionalDefinition[]
起始版本:GeoScene API for JavaScript 4.20

与图层关联的多维定义。与图层关联的多维定义。如果已定义,则多维定义包含特定值的各种维度的数据,例如时间、深度、高度等。使用多维定义定义要由图层显示的切片。例如,您可以显示以固定尺寸(例如时间,深度)测量的特定变量,例如温度或盐度。这些数据类型通常用于大气科学、海洋学和地球科学。

另请参阅:
示例:
// set the `multidimensionalDefinition` to visualize a sea water
// temperature at -5000m on April 7th 2014.
const dimension = [
  {
     variableName: "temperature",
     dimensionName: "Std_Time",
     values: [1396828800000]
  },
  {
     variableName: "temperature",
     dimensionName:"Std_Z",
     values:[-5000]
  }
];
layer.multidimensionalDefinition = dimension;
// get the layer's multidimensionalDefinition and locate the
// Salinity dimension and filter the data by salinity.
const multidimensionalDefinition = layer.multidimensionalDefinition;
const variableName =  "Salinity";
// filter the data by salinity dimension
multidimensionalDefinition.forEach((def) => def.variableName = variableName);
layer.multidimensionalDefinition = multidimensionalDefinition;

// update the statistics of the layer's stretch renderer.
const renderer = layer.renderer.clone();
const dimensions = layer.rasterInfo.multidimensionalInfo;
// get the salinity variable's statistics
const salinity = dimensions.variables.find((variable) => variable.name === variableName);
renderer.statistics = salinity.statistics;
layer.renderer = renderer;

图层的不透明度。此值的范围在 10 之间,其中 0 是 100% 透明,而 1 为完全不透明。

默认值:1
示例:
// Makes the layer 50% transparent
layer.opacity = 0.5;
portalItem PortalItem

从中加载图层的门户项目。如果门户项目引用了要素服务或场景服务,则可以指定要使用 layerId 属性加载的单个图层。

从版本 4.17 开始,可以从 GeoScene Online 和 GeoScene Enterprise 中托管的要素服务项目加载表。这仅适用于 要素图层,如果 FeatureLayer.isTable 返回 true,将成功加载。

示例:
// While this example uses FeatureLayer, this same pattern can be
// used for other layers that may be loaded from portalItem ids.
const lyr = new FeatureLayer({
  portalItem: {  // autocasts as new PortalItem()
    id: "caa9bd9da1f4487cb4989824053bb847"
  }  // the first layer in the service is returned
});
// Set hostname when using an on-premise portal (default is GeoScene Online)
// geosceneConfig.portalUrl = "http://myHostName.geoscene.cn/geoscene";

// While this example uses FeatureLayer, this same pattern can be
// used for SceneLayers.
const lyr = new FeatureLayer({
  portalItem: {  // autocasts as new PortalItem()
    id: "8d26f04f31f642b6828b7023b84c2188"
  },
  // loads the third item in the given feature service
  layerId: 2
});
// This snippet loads a table hosted in GeoScene Online.
const table = new FeatureLayer({
  portalItem: { // autocasts as geoscene/portal/PortalItem
    id: "123f4410054b43d7a0bacc1533ceb8dc"
  }
});

// Before adding the table to the map, it must first be loaded and confirm it is the right type.
table.load().then(function() {
  if (table.isTable) {
    map.tables.add(table);
  }
});
rasterInfo RasterInforeadonly
起始版本:GeoScene API for JavaScript 4.19

从数据源检索的栅格信息。

分配给图层的渲染器。渲染器定义了如何在 WCSLayer 中可视化像素。根据渲染器类型,像素可能会在色带上拉伸分类

另请参阅:
起始版本:GeoScene API for JavaScript 4.22

图层的时间范围。当图层的使用“useViewTime ”为 false 时,图层指示视图根据此时间范围显示图层中的数据。如果 useViewTimetrue ,并且同时设置了图层和视图时间范围,则将显示位于视图和图层时间范围相交范围内的要素。例如,如果图层的时间范围设置为显示 1970 年至 1975 年间的要素,并且视图的时间范围设置为 1972-1980,则要素图层的有效时间为 1972-1975。

默认值:null
示例:
if (!layer.useViewTime) {
  if (layer.timeExtent) {
    console.log("Current timeExtent:", layer.timeExtent.start, " - ", layer.timeExtent.end}
  } else {
    console.log("The layer will display data within the view's timeExtent.");
    console.log("Current view.timeExtent:", view.timeExtent.start, " - ", view.timeExtent.end}
  }
}
// set the timeExtent on the layer and useViewTime false
// In this case, the layer will honor its timeExtent and ignore
// the view's timeExtent
const layer = new ImageryTileLayer({
  url: "https://tiledimageservices.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/NLDAS2011_daily_wind_magdir/ImageServer",
  timeExtent: {
    start: new Date(2014, 4, 18),
    end: new Date(2014, 4, 19)
  },
  useViewTime: false
});
// timeExtent is set on the layer and the view
// In this case, the layer will display features that fall
// within the intersection of view and layer time extents
// features within Jan 1, 1976 - Jan 1, 1981 will be displayed
const view = new MapView({
  timeExtent: {
    start: new Date(1976, 0, 1),
    end: new Date(2002, 0, 1)
  }
});
const layer = new FeatureLayer({
  url: myUrl,
  timeExtent: {
    start: new Date(1974, 0, 1),
    end: new Date(1981, 0, 1)
  }
});
起始版本:GeoScene API for JavaScript 4.22

TimeInfo 提供的信息包括存储每个要素的开始结束 时间的日期字段以及图层的 fullTimeExtent

默认值:null
起始版本:GeoScene API for JavaScript 4.22

基于特定时间间隔的时间数据的临时偏移。这允许用户叠加两个或多个具有不同时间范围的时间感知图层中的要素。例如,如果图层记录了 1970 年的数据,则 2 年的偏移值会暂时将数据移动到 1972 年。然后,您可以将此数据与 1972 年记录的数据叠加。时间偏移只能用于显示目的。查询和选择不受偏移量的影响。

默认值:null
示例:
// Offset a CSV Layer containing hurricanes from 2015 so that they appear in 2019 (+4 years).
let layer = new CSVLayer({
  url: `hurricanes-and-storms-2015.csv`,
  timeOffset: {
    value: 4,
    unit: "years"
  },
  timeInfo: {
    startField: "ISO_time"
  },
  renderer: {
    type: "simple",
    symbol: {
      type: "simple-marker",
      size: 6,
      color: "red",
      outline: {
        width: 0.5,
        color: "black"
      }
    }
  }
});

图层的标题,用于在“图层列表”微件等位置标识该图层。

如果从门户项目加载图层,则将使用门户项目的标题。如果将图层作为 web 地图或 webscene 的一部分加载,则将使用存储在 webmap/webscene 中的图层标题。

type Stringreadonly

对于 WCSLayer 类型始终为 "WCS"

url String

图层的 REST 端点的 URL。URL 可以指向 GeoScene Enterprise 或 GeoScene Online 上的资源。

useViewTime Boolean
起始版本:GeoScene API for JavaScript 4.22

指示图层在视图中是否可见。当 false 时,无论视图是否发生更改,图层都将根据图层的时间显示显示其时态数据。如果在此属性时 true 同时设置了视图和图层时间范围,则将显示位于视图和图层时间范围交集内的要素。例如,如果将图层的时间范围设置为显示 1970 年至 1975 年间的要素,并且视图的时间范围设置为 1972-1980 年,则要素图层的有效时间为 1972-1975 年。

默认值:true
示例:
if (featureLayer.useViewTime) {
  console.log("Displaying data between:", view.timeExtent.start, " - ", view.timeExtent.end);
}
version String

当前使用的网络覆盖服务版本。支持的版本有:1.0.0, 1.1.0, 1.1.1, 1.1.2和 2.0.1。

指示图层在视图中是否可见。当为 false 时,图层可能仍会添加到视图中引用的 Map 实例,但其要素在视图中将不可见。

默认值:true
示例:
// The layer is no longer visible in the view
layer.visible = false;

方法概述

显示继承的方法 隐藏继承的方法
Name 返回类型 描述
更多信息

如果 load() 操作已经在进行中,则取消它。

更多信息Layer
Promise<LayerView>更多信息

当图层添加到 Map.layers 集合并且必须为其创建图层视图时,由视图(例如 MapViewSceneView)调用。

更多信息Layer
PopupTemplate更多信息

为图层创建默认弹出窗口模板,并使用图层的所有字段进行填充。

更多信息WCSLayer
更多信息

销毁图层和任何关联的资源(包括其 portalItem,如果它是图层上的属性)。

更多信息Layer
布尔值更多信息

在实例上发出事件。

更多信息Layer
Promise<Object>更多信息

获取给定范围的像素。

更多信息WCSLayer
布尔值更多信息

指示实例上是否存在与提供的事件名称匹配的事件侦听器。

更多信息Layer
Promise<Object>更多信息

标识给定位置的像素值。

更多信息WCSLayer
布尔值更多信息

isFulfilled() 可用于验证创建类的实例是否已完成(已解决或已拒绝)。

更多信息Layer
布尔值更多信息

isRejected() 可用于验证创建类的实例是否被拒绝。

更多信息Layer
布尔值更多信息

isResolved() 可用于验证创建类的实例是否已解决。

更多信息Layer
Promise更多信息

加载此类引用的资源。

更多信息Layer
Object更多信息

在实例上注册事件处理程序。

更多信息Layer
Promise更多信息

when() 一旦创建了类的实例,就可以利用它。

更多信息Layer

方法详情

cancelLoad()inherited

如果 load() 操作已经在进行中,则取消它。

createLayerView(view, options){Promise<LayerView>}inherited

当图层添加到 Map.layers 集合并且必须为其创建图层视图时,由视图(例如 MapViewSceneView)调用。此方法在内部使用,没有直接调用它的用例。

参数:
view *

父视图。

options Object
可选

指定其他选项的对象。有关此对象的必需属性,请参阅下面的对象规范表。

详述:
可选

中止图层视图创建的信号。

返回:
类型 说明
Promise<LayerView> 使用 LayerView 实例进行解析。
另请参阅:
createPopupTemplate(options){PopupTemplate}

为图层创建默认弹出窗口模板,并使用图层的所有字段进行填充。

参数:
可选

用于创建弹出模板的选项。

返回:
类型 说明
PopupTemplate 弹出模板,如果图层没有任何字段,则为 null
destroy()inherited

销毁图层和任何关联的资源(包括其 portalItem,如果它是图层上的属性)。该层一旦被破坏就不能再使用了。

被破坏的图层将从其父对象如 Map, WebMap, WebScene, Basemap, GroundGroupLayer中移除。

另请参阅:
emit(type, event){Boolean}inherited

在实例上发出事件。此方法仅应在创建此类的子类时使用。

参数:
type String

事件的名称。

event Object
可选

事件负载。

返回:
类型 说明
布尔值 true 如果通知了侦听器
fetchPixels(extent, width, height, options){Promise<Object>}
起始版本:GeoScene API for JavaScript 4.19

获取给定范围的像素。

参数:
详述:
extent Extent

要导出的图像的范围。

width Number

图像的宽度(以像素为单位)。

height Number

图像的高度(以像素为单位)。

options Object
可选

参数选项是具有以下属性的对象。

详述:
interpolation String
可选

在版本 4.23 中添加。定义如何插值像素值。

可能值:"nearest"|"bilinear"|"cubic"|"majority"

可选

中止请求的 AbortSignal。如果取消,promise 将被拒绝并出现名为 AbortError 的错误。另参见 AbortController

返回:
类型 说明
Promise<Object> 解析为包含导出像素参数的对象,包括 PixelBlockpixelBlock 包含图像中每个像素的值。
hasEventListener(type){Boolean}inherited

指示实例上是否存在与提供的事件名称匹配的事件侦听器。

参数:
type String

事件的名称。

返回:
类型 说明
布尔值 如果类支持输入事件,则返回 true。
identify(point, options){Promise<Object>}

标识给定位置的像素值。它标识输入位置和指定维度定义中的影像服务内容。

参数:
point Point

定义要识别的位置的输入点。

可选
Autocasts from Object

标识请求的可选设置。

返回:
类型 说明
Promise<Object> 返回解析为包含位置和像素值的 RasterIdentifyResult 的承诺。
isFulfilled(){Boolean}inherited

isFulfilled() 可用于验证创建类的实例是否已完成(已解决或已拒绝)。如果满足,则返回 true

返回:
类型 说明
布尔值 指示创建类的实例是否已完成(已解决或已拒绝)。
isRejected(){Boolean}inherited

isRejected() 可用于验证创建类的实例是否被拒绝。如果拒绝,则返回 true

返回:
类型 说明
布尔值 指示创建类的实例是否已被拒绝。
isResolved(){Boolean}inherited

isResolved() 可用于验证创建类的实例是否已解决。如果解决,则返回 true

返回:
类型 说明
布尔值 指示创建类的实例是否已解决。
load(signal){Promise}inherited

加载此类引用的资源。如果视图 是使用地图实例构造的,则此方法会自动为视图及其在地图中引用的所有资源执行。

开发人员在访问不会在视图中加载的资源时必须调用此方法。

load() 方法仅在第一次调用时触发资源的加载。随后的调用返回相同的promise。

可以提供一个 signal 来停止对 Loadable 实例的加载状态感兴趣。当信号中止时,实例不会停止其加载过程,只有 cancelLoad 可以中止它。

参数:
可选

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被一个名为 AbortError错误拒绝。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回:
类型 说明
Promise 资源已加载时解析
on(type, listener){Object}inherited

在实例上注册事件处理程序。调用此方法以将事件与侦听器挂钩。

参数:

要侦听的事件或事件数组。

listener Function

事件触发时调用的函数。

返回:
类型 说明
Object 返回带有 remove() 方法的事件处理程序,应调用该方法以停止侦听事件。
属性 类型 说明
remove 函数 调用时,从事件中删除侦听器。
示例:
view.on("click", function(event){
  // event is the event handle returned after the event fires.
  console.log(event.mapPoint);
});
when(callback, errback){Promise}inherited

when() 一旦创建了类的实例,就可以利用它。这个方法有两个输入参数:一个 callback 函数和一个 errback 函数。callback 在类的实例加载时执行。errback 在类的实例无法加载时执行。

参数:
callback Function
可选

当 promise 解决时调用的函数。

errback Function
可选

当 promise 失败时执行的函数。

返回:
类型 说明
Promise 返回 callback 结果的新承诺,可用于链接其他函数。
示例:
// Although this example uses MapView, any class instance that is a promise may use when() in the same way
let view = new MapView();
view.when(function(){
  // This function will execute once the promise is resolved
}, function(error){
  // This function will execute if the promise is rejected due to an error
});

事件概述

显示继承的事件 隐藏继承的事件
Name 类型 描述
{view: View,layerView: LayerView}
更多信息

在视图中创建并渲染图层的 LayerView 后激发。

更多信息 Layer
{view: View,error: Error}
更多信息

在将图层添加到地图后,在创建 LayerView 期间发出错误时触发。

更多信息 Layer
{view: View,layerView: LayerView}
更多信息

在图层的 LayerView 被销毁且不再在视图中渲染后触发。

更多信息 Layer

事件详情

layerview-createinherited

在视图中创建并渲染图层的 LayerView 后激发。

属性:
view View

创建 layerView 的视图。

layerView LayerView

在视图中呈现的 LayerView 表示 layer 中的图层。

另请参阅:
示例:
// This function will fire each time a layer view is created for this
// particular view.
layer.on("layerview-create", function(event){
  // The LayerView for the layer that emitted this event
  event.layerView;
});
layerview-create-errorinherited

在将图层添加到地图后,在创建 LayerView 期间发出错误时触发。

属性:
view View

未能为发出此事件的图层创建图层视图的视图。

error Error

描述层视图创建失败原因的错误对象。

另请参阅:
示例:
// This function fires when an error occurs during the creation of the layer's layerview
layer.on("layerview-create-error", function(event) {
  console.error("LayerView failed to create for layer with the id: ", layer.id, " in this view: ", event.view);
});
layerview-destroyinherited

在图层的 LayerView 被销毁且不再在视图中渲染后触发。

属性:
view View

销毁 layerView 的视图。

layerView LayerView

表示图层的被破坏的 LayerView。

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.