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


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


基本信息

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

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

ESM: import * as colorAndSizeRendererCreator from "@arcgis/core/smartMapping/renderers/univariateColorSize";

對象: esri/smartMapping/renderers/univariateColorSize

自從:用於 JavaScript 4.2 的 ArcGIS API

用法說明

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

createContinuousRenderer (params) {Promise<ContinuousRendererResult>}


生成可以直接應用於 LayerRenderer 。渲染器包含連續的顏色和大小可視變量,這些變量根據視圖的背景映射具有最佳顏色和大小的符號,以根據來自指示字段或表達式的匯總統計信息停止值。

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

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

參數:

規格:
類型說明
params Object

有關可能傳遞給此方法的每個參數的詳細信息,請參見下表。

規格:

為其生成視覺變量的層。

view

View

可選的

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

field

String

可選的

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

normalizationField

String

可選的

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

valueExpression

String

可選的

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

valueExpressionTitle

String

可選的

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

theme

String

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

根據有意義的數據值設置大小停止和顏色。從 4.18 版開始。

說明
high-to-low 最大數據值被分配最大尺寸和顏色。最小數據值被分配最小大小和顏色。所有其他值都被插值。
above 最大數據值被分配最大尺寸和顏色。平均數據值或零被分配最小大小和顏色。對最大數據值和平均值之間的所有其他值進行插值。這對於映射變量隨時間的增加非常有用,例如人口增加或兩個日期之間的失業。
below 最小數據值被分配最大尺寸和顏色。平均數據值或零被分配最小大小和顏色。對最小數據值和平均值之間的所有其他值進行插值。這對於繪製變量隨時間的下降情況很有用,例如人口減少或兩個日期之間的失業率。
above-and-below 最小和最大數據值被分配最大尺寸和顏色。平均數據值或零被分配最小大小和顏色。使用發散色帶。最小和最大數據值與平均值之間的所有其他值都被插值。這對於映射值隨時間和速率的變化非常有用。

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

sqlExpression

String

可選的

計算為數字的 SQL 表達式。

sqlWhere

String

可選的

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

sizeOptimizationEnabled

Boolean

可選的
默認值:錯誤的

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

可選的

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

minValue

Number

可選的

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

maxValue

Number

可選的

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

defaultSymbolEnabled

Boolean

可選的

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

colorOptions

Object

可選的

用於配置可視化顏色部分的選項。

規格:
colorScheme

ColorScheme

可選的

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

isContinuous

Boolean

可選的
默認值:錯誤的

僅適用於above-and-below 主題。如果 true ,則向渲染器添加具有發散色帶的 ColorVariable。從 4.18 版開始。

sizeOptions

Object

可選的

用於配置可視化大小部分的選項。

規格:
sizeScheme

SizeScheme

可選的

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

symbolOptions

Object

可選的

above-and-below 主題設置符號的選項。從 4.18 版開始。

參數:

規格:
symbolStyle

String

可選的

根據預定義的命名符號對設置上方和下方的符號。

可能的值"caret"|"circle-caret"|"arrow"|"circle-arrow"|"plus-minus"|"circle-plus-minus"|"square"|"circle"|"triangle"|"happy-sad"|"thumb"

symbols

Object

可選的

允許您在above-and-below 主題中指定自定義符號。

規格:
above

Symbol

用於above-and-below 可視化的上述部分的符號。

below

Symbol

用於above-and-below 可視化的以下部分的符號。

legendOptions

Object

可選的

提供用於配置 Legend 的選項,該 Legend 表示從此方法生成的渲染器。從 4.18 版開始。

規格:
title

String

可選的

Legend 中用於表示從此方法生成的渲染器的標題。

showLegend

Boolean

可選的

指示Legend 小部件是否應顯示說明生成的渲染器的內容。

symbolType

String

可選的
默認值:二維

要生成的符號類型。這取決於您正在使用的視圖和所需的可視化。可能的值如下所述。

說明
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"

signal

AbortSignal

可選的

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

返回:

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

例子:

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

// color/size univariate visualization based on field and normalization field
const params = {
  layer: layer,
  view: view,
  field: "POP_POVERTY",
  normalizationField: "TOTPOP_CY"
};

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

// above-and-below visualization based off Arcade expression
const params = {
  layer: layer,
  valueExpression: "(($feature.votes_2016 - $feature.votes_2012) / $feature.votes_2016) * 100",
  valueExpressionTitle: "Change in votes from 2012-2016",
  view: view,
  theme: "above-and-below",
  colorOptions: {
    isContinuous: false
  },
  symbolOptions: {
    symbolStyle: "arrow"
  }
};

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

相關用法


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