当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript ArcGIS ImageryLayer.rasterFields用法及代码示例


基本信息

以下是所在类或对象的基本信息。

AMD: require(["esri/layers/ImageryLayer"], (ImageryLayer) => { /* code goes here */ });

ESM: import ImageryLayer from "@arcgis/core/layers/ImageryLayer";

类: esri/layers/ImageryLayer

继承: ImageryLayer > Layer > Accessor

自从:用于 JavaScript 4.0 的 ArcGIS API

用法说明

ImageryLayer.rasterFields函数(或属性)的定义如下:

rasterFields Field[] readonly


包含栅格属性表字段、项目像素值、服务像素值、具有各种服务器定义的函数模板的服务像素值和栅格属性表字段的完整字段列表。此列表用于图层的 popupTemplate

在许多影像工作流程中,必须在弹出窗口中显示像素值和相关的分类信息(如果适用)。为满足此要求,影像服务弹出窗口中使用了额外的栅格字段,如果服务具有额外的 rasterAttributeTable 资源,则表示像素值和相应的属性。这些栅格字段以Raster. 为前缀,表示它们是特殊字段,并避免与服务信息中的字段发生任何潜在冲突。

像素值字段

以下是返回不同类型像素值及其说明的栅格字段列表。

服务像素值

Raster.ServicePixelValue 字段在动态镶嵌(如果适用)后返回标识位置处的像素值,并使用图层的当前马赛克规则和渲染规则设置完成处理。所有图像服务都存在该字段。仅当服务是从镶嵌数据集发布时,服务器端动态镶嵌过程才适用。

原始服务像素值

Raster.ServicePixelValue.Raw 字段在动态镶嵌(如果适用)后返回识别位置处的像素值,但无需进一步处理。它使用图层当前的mosaicRule和None渲染规则。仅当图像服务信息具有 allowRasterFunction: true 且在 rasterFunctionInfos 中具有 None 条目时,此字段才存在。

来自服务器端栅格函数的服务像素值

Raster.ServicePixelValue.RFTNAME 字段在使用任何预定义的服务器端栅格函数进行动态镶嵌(如果适用)和处理之后返回识别位置的像素值。可用函数列表由图像服务根资源中的rasterFunctionInfos 定义,但None 函数除外,该函数已映射为原始服务像素值。仅当影像服务信息具有 allowRasterFunction: true 时,此字段才存在。

项目像素值

Raster.ItemPixelValue 字段返回表示图像服务中每个单独图像的像素值的像素值。这仅适用于从镶嵌数据集发布的影像服务。可以使用识别或 getSamples 方法从图像服务中检索它。

例如,对于从具有以下栅格函数的镶嵌数据集发布的服务:

rasterFunctionInfos": [
 { "name": "None", "description": "", "help": ""},
 { "name": "EVI", "description": "", "help": ""}],
 { "name": "VI", "description": "", "help": ""}
]

您可以拥有以下附加栅格字段:Raster.ServicePixelValueRaster.ServicePixelValue.RawRaster.ServicePixelValue.EVIRaster.ServicePixelValue.VIRaster.ItemPixelValue

像素值字段支持格式化。由于影像服务可以有多个波段,因此像素值代表多个波段,不应假定为单个数字。格式化值时需要考虑这一点。

像素值的分类属性字段

使用分类数据(例如土地覆盖数据)时,影像服务信息可能具有关联的 rasterAttributeTable 资源,通过 hasRasterAttributeTable 标志在根资源中指示。栅格属性表总是有一个Value字段,表中的每条记录代表一个像素值映射到相关的分类字段,例如ClassName (Raster.ClassName)、计数(Raster.Count)或颜色表示(Raster.Count) Raster.RedRaster.GreenRaster.Blue ) 值的字段。

向量场

Raster.MagnitudeRaster.Direction 字段从具有矢量字段的多维数据集中返回幅度和方向值。

例子:

layer.when(() => {
  // print out field names returned in layer.rasterFields
  layer.rasterFields.forEach((field) => {
    console.log(field.name);
  });
});

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 ImageryLayer.rasterFields。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。