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


JavaScript ArcGIS color.createContinuousRenderer用法及代碼示例


基本信息

以下是所在類或對象的基本信息。

AMD: require(["esri/smartMapping/renderers/color"], (colorRendererCreator) => { /* code goes here */ });

ESM: import * as colorRendererCreator from "@arcgis/core/smartMapping/renderers/color";

對象: esri/smartMapping/renderers/color

自從:用於 JavaScript 4.2 的 ArcGIS API

用法說明

color.createContinuousRenderer函數(或屬性)的定義如下:

createContinuousRenderer (params) {Promise<ContinuousRendererResult>}


生成一個Renderer,可以直接應用於用於調用此方法的層。渲染器包含一個連續的顏色視覺變量,它將基於視圖背景的最佳顏色映射到基於來自指定字段或表達式的查詢統計信息的特定停止值。

在大多數情況下,您將提供 layerviewfieldtheme 來生成此渲染器。這是一種數據統計不為人知且用戶不知道在可視化中使用什麽顏色的場景。您還可以使用 valueExpression 而不是 field 根據在運行時執行的腳本返回的值來可視化特征。

提供其他選項是為了方便更多涉及的自定義可視化創作應用程序。例如,如果您已經在另一個操作中生成了統計信息,則可以將統計信息對象傳遞給 statistics 參數以避免對服務器進行額外調用。

參數:

規格:
類型說明
params Object

用於根據從給定字段或表達式返回的數據生成連續顏色可視化的輸入參數。有關每個參數的詳細信息,請參見下表。

規格:

為其生成可視化的圖層。

view

View

可選的

渲染輸入層的視圖。此方法檢查視圖的背景(即底圖、Web Map背景或視圖容器)以確定輸出渲染器的最佳顏色。在實踐中應始終設置此參數,但如果未提供此參數,則此方法將假定生成的渲染器將顯示在淺色背景上。當使用 valueExpression 創建渲染器或用於在 SceneView 中顯示的渲染器時,此參數是必需的。

field

String

可選的

將查詢其數據以進行統計並用作數據驅動可視化基礎的字段的名稱。如果使用 valueExpression,則忽略此屬性。

normalizationField

String

可選的

用於規範化給定 field 值的字段名稱。提供歸一化字段有助於最大限度地減少一些可視化錯誤並標準化數據,因此所有特征都以最小的偏差進行可視化,因為麵積差異或計數變化。此選項通常在可視化密度時使用。

theme

String

可選的
默認值:high-to-low

確定將在連續漸變和Map中強調哪些值。下麵列出了可能的值。

說明 示例
high-to-low 用強烈的顏色強調高值。高於平均值一個標準偏差的數據值被指定為最強的顏色。低於平均值一個標準偏差的數據值被指定為最弱的顏色。所有其他值都被插值。 high-to-low
above 用強烈的顏色強調高值。最大數據值被分配最強的顏色。中間或平均數據值被分配最弱的顏色。所有其他值都被插值。 above
below 用強烈的顏色強調低值。最小數據值被分配最強的顏色。中間或平均數據值被分配最弱的顏色。所有其他值都被插值。 below
above-and-below 以有意義的數據值(例如平均值)為中心的值用弱顏色顯示,而其他值用強顏色強調。所有其他值都被插值。 above-and-below
centered-on 以有意義的數據值(例如平均值)為中心的值用強烈的顏色強調,而其他值用弱的顏色顯示。所有其他值都被插值。 centered-on
extremes 用強烈的顏色強調高值和低值。所有其他人都用弱顏色可視化。所有其他值都被插值。 extremes

可能的值"high-to-low"|"above"|"below"|"above-and-below"|"centered-on"|"extremes"

colorScheme

ColorScheme

可選的

在創作應用程序中,用戶可以選擇預定義的配色方案。將方案對象傳遞給此屬性以避免基於 theme 和視圖背景獲取一個。

valueExpression

String

可選的

遵循 Arcade Visualization Profile 定義的規範的 Arcade 表達式。表達式可以使用 $feature 全局變量引用字段值,並且必須返回一個數字。此屬性覆蓋 field 屬性,因此用於代替輸入 field 值。

valueExpressionTitle

String

可選的

說明從 valueExpression 返回的值的文本。這是由Legend 小部件使用的。

sqlExpression

String

可選的

計算為數字的 SQL 表達式。

sqlWhere

String

可選的

用於過濾統計查詢函數的 SQL where 子句。例如,這在您希望避免除以零的情況下很有用,就像創建優勢可視化的情況一樣。

outlineOptimizationEnabled

Boolean

可選的
默認值:錯誤的

僅適用於多邊形圖層。指示多邊形輪廓寬度是否應根據視圖比例而變化。設置後,必須在 view 參數中提供有效的 MapView 實例。 3D SceneViews 不支持此選項。

sizeOptimizationEnabled

Boolean

可選的
默認值:錯誤的

僅適用於點和折線圖層。指示符號大小是否應根據視圖比例而變化。設置後,必須在 view 參數中提供有效的 MapView 實例。 3D SceneViews 不支持此選項。

legendOptions

Object

可選的

當提供表達式而不是字段名稱時,提供用於為字段設置標題的選項。此標題將表示 Legend 中的字段。

規格:
title

String

可選的

用於表示 Legend 中給定字段或表達式的標題。

showLegend

Boolean

可選的

指示是否在圖例中說明渲染器。

可選的

summaryStatistics 函數生成的統計對象。如果該字段的統計信息已經生成,則在此處傳遞對象以避免向服務器進行第二次統計查詢。

minValue

Number

可選的

用戶設置的自定義最小值。將此與 maxValue 結合使用以生成上下限之間的統計信息。這將是返回的顏色視覺變量中的最低點。

maxValue

Number

可選的

用戶設置的自定義最大值。將此與 minValue 結合使用以生成上下限之間的統計信息。這將是返回的顏色視覺變量中的最高點。

defaultSymbolEnabled

Boolean

可選的
默認值:真的

在渲染器上啟用 defaultSymbol 並將其分配給沒有值的特征和不在配置數據範圍內的特征。

symbolType

String

可選的
默認值:二維

要生成的符號類型。這取決於您正在使用的視圖和所需的可視化。不需要為具有mesh 幾何類型的圖層指定此參數。可能的值如下所述。

說明
2d 使用 2D 符號(例如 SimpleMarkerSymbolSimpleLineSymbolSimpleFillSymbol )生成可視化。如果為 MapView 中的數據生成可視化,請使用此選項。
3d-flat 使用具有平麵符號圖層(例如 IconSymbol3DLayerLineSymbol3DLayerFillSymbol3DLayer )的 3D 符號生成可視化。如果為 SceneView 中的數據生成 2D 可視化,請使用此選項。
3d-volumetric 使用具有體積符號圖層的 3D 符號生成可視化,例如 ObjectSymbol3DLayerPathSymbol3DLayerExtrudeSymbol3DLayer 。如果為 SceneView 中的數據生成 3D 可視化,請使用此選項。如果使用此選項,則必須向 view 參數提供 SceneView 實例。
3d-volumetric-uniform 使用具有體積符號圖層的統一大小的 3D 符號生成可視化。如果為 SceneView 中的數據生成 3D 可視化,並且符號的大小應一致,例如球體,請使用此選項。如果使用此選項,則必須向 view 參數提供 SceneView 實例。

可能的值"2d"|"3d-flat"|"3d-volumetric"|"3d-volumetric-uniform"

colorMixMode

String

可選的
默認值:代替

此選項僅適用於生成網格 SceneLayers 的渲染器.指定符號顏色如何應用於幾何顏色/紋理。請參閱中的文檔FillSymbol3DLayer.material了解更多上下文。有關可能的值,請參見下表。

說明
tint 將符號color 應用於不飽和幾何/紋理顏色。
replace 移除幾何/紋理顏色並應用符號 color
multiply 將幾何/紋理顏色值與符號 color 值相乘。結果是顏色較深。與白色相乘可保持幾何顏色相同。
signal

AbortSignal

可選的

允許可取消的請求。如果取消,promise 將被拒絕,並出現名為 AbortError 的錯誤。另見AbortController

返回:

類型 說明
Promise<ContinuousRendererResult> 解析為 ContinuousRendererResult 的實例。

例子:

let layer = new FeatureLayer({
  url: "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/counties_politics_poverty/FeatureServer/0"
});

// visualization based on field and normalization field
let colorParams = {
  layer: layer,
  view: view,
  field: "POP_POVERTY",
  normalizationField: "TOTPOP_CY",
  theme: "above-and-below"
};

// when the promise resolves, apply the renderer to the layer
colorRendererCreator.createContinuousRenderer(colorParams)
  .then(function(response){
    layer.renderer = response.renderer;
  });
let layer = new FeatureLayer({
  url: "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/counties_politics_poverty/FeatureServer/0"
});

// visualization based off Arcade expression
let colorParams = {
  layer: layer,
  valueExpression: "($feature.POP_POVERTY / $feature.TOTPOP_CY) * 100",
  view: view,
  sqlWhere: "TOTPOP_CY > 0",
  legendOptions: {
    title: "% of people living in poverty"
  }
};

// when the promise resolves, apply the renderer to the layer
colorRendererCreator.createContinuousRenderer(colorParams)
  .then(function(response){
    layer.renderer = response.renderer;
  });

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 color.createContinuousRenderer。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。