當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。