-
createVisualVariables
(params)
{Promise<VisualVariablesResult>}
此方法基於相同的給定字段或表達式生成顏色和大小視覺變量。這些視覺變量是使用默認停靠點生成的,這些停靠點是根據針對指定字段或表達式查詢的統計信息以及基於視圖背景的顏色進行優化選擇的。
可以通過兩種不同的方式調用此方法。最常見的情況是提供
layer
、view
和field
。這是數據的統計信息不為人知且用戶不知道使用什麽顏色的場景。您可以選擇使用valueExpression
而不是字段,根據運行時執行的腳本返回的數值來可視化特征。提供其他選項是為了方便更多涉及的自定義可視化創作應用程序。例如,如果您已經在另一個操作中生成了統計信息,則可以在
statistics
參數中傳遞對象以避免對服務器進行額外的調用。如果您不想為您挑選一個,您也可以提供colorScheme
和/或sizeScheme
。在這種情況下,theme
選項將被忽略。生成的視覺變量數組將包含一個顏色視覺變量和一個或兩個大小視覺變量,具體取決於
sizeOptions.axis
參數的值。參數:
規格:類型 說明 params Object用於根據從給定字段或表達式返回的數據生成顏色和大小視覺變量的輸入參數。有關每個參數的詳細信息,請參見下表。
規格:為其生成視覺變量的層。
view可選的 渲染輸入層的視圖。此方法檢查視圖的背景(即底圖、Web Map背景或視圖容器)以確定輸出渲染器的最佳顏色。在實踐中應始終設置此參數,但如果未提供此參數,則此方法將假定生成的渲染器將顯示在淺色背景上。當使用
valueExpression
創建渲染器或用於在 SceneView 中顯示的渲染器時,此參數是必需的。field可選的 將查詢其數據以進行統計並用作數據驅動可視化基礎的字段的名稱。如果使用
valueExpression
,則忽略此屬性。normalizationField可選的 用於規範化給定
field
值的字段名稱。提供歸一化字段有助於最大限度地減少一些可視化錯誤並標準化數據,因此所有特征都以最小的偏差進行可視化,因為麵積差異或計數變化。此選項通常在可視化密度時使用。valueExpression可選的 遵循 Arcade Visualization Profile 定義的規範的 Arcade 表達式。表達式可以使用
$feature
全局變量引用字段值,並且必須返回一個數字。此屬性覆蓋field
屬性,因此用於代替輸入field
值。valueExpressionTitle可選的 說明從
valueExpression
返回的值的文本。這是由Legend 小部件使用的。theme可選的 默認值:high-to-low根據有意義的數據值設置大小停止和顏色。
值 說明 high-to-low 最大數據值被分配最大尺寸和顏色。最小數據值被分配最小大小和顏色。所有其他值都被插值。 above 最大數據值被分配最大尺寸和顏色。平均數據值或零被分配最小大小和顏色。對最大數據值和平均值之間的所有其他值進行插值。這對於映射變量隨時間的增加非常有用,例如人口增加或兩個日期之間的失業。 below 最小數據值被分配最大尺寸和顏色。平均數據值或零被分配最小大小和顏色。對最小數據值和平均值之間的所有其他值進行插值。這對於繪製變量隨時間的下降情況很有用,例如人口減少或兩個日期之間的失業率。 above-and-below 最小和最大數據值被分配最大尺寸和顏色。平均數據值或零被分配最小大小和顏色。使用發散色帶。最小和最大數據值與平均值之間的所有其他值都被插值。這對於映射值隨時間和速率的變化非常有用。 可能的值:"high-to-low"|"above"|"below"|"above-and-below"
sqlExpression可選的 計算為數字的 SQL 表達式。
sqlWhere可選的 用於過濾統計查詢函數的 SQL where 子句。例如,這在您希望避免除以零的情況下很有用,就像創建優勢可視化的情況一樣。
statistics可選的 從 summaryStatistics 函數生成的統計對象。如果該字段的統計信息已經生成,則在此處傳遞對象以避免向服務器進行第二次統計查詢。
minValue可選的 用戶設置的自定義最小值。將此與
maxValue
結合使用以生成上下限之間的統計信息。這將是返回的視覺變量中的最低點。maxValue可選的 用戶設置的自定義最大值。將此與
minValue
結合使用以生成上下限之間的統計信息。這將是返回的視覺變量中的最高點。colorOptions可選的 用於配置可視化顏色部分的選項。
規格:theme可選的 默認值:high-to-low確定將在連續漸變和Map中強調哪些值。下麵列出了可能的值。
值 說明 示例 high-to-low 用強烈的顏色強調高值。 above-and-below 以給定點為中心的值(例如平均值)用弱顏色顯示,而其他值用強顏色強調。 centered-on 以給定點為中心的值(例如平均值)用強顏色強調,而其他值用弱顏色顯示。 extremes 用強烈的顏色強調高值和低值。所有其他人都用弱顏色可視化。 可能的值:"high-to-low"|"above-and-below"|"centered-on"|"extremes"
colorScheme可選的 在創作應用程序中,用戶可以選擇預定義的配色方案。將方案對象傳遞給此屬性以避免基於
theme
和view
獲得一個。legendOptions可選的 當提供表達式而不是字段名稱時,提供用於為字段設置標題的選項。此標題將表示 Legend 中的字段。
規格:title用於表示 Legend 中給定字段或表達式的標題。
isContinuous可選的 默認值:真的僅適用於
above-and-below
主題。如果true
,則向渲染器添加具有發散色帶的 ColorVariable。sizeOptions可選的 用於配置可視化大小部分的選項。
規格:axis可選的 默認值:全部當設置為
all
時,會生成一個在所有維度上均勻縮放的大小變量。當設置為height
時,結果包含兩個大小視覺變量:第一個根據字段統計設置高度,而第二個定義寬度和深度的恒定大小。可能的值:"all"|"height"
sizeScheme可選的 在創作應用程序中,用戶可以選擇預定義的尺寸方案。將方案對象傳遞給此屬性以避免根據視圖的背景獲取一個。
legendOptions可選的 當提供表達式而不是字段名稱時,提供用於為字段設置標題的選項。此標題將表示 Legend 中的字段。
規格:title用於表示 Legend 中給定字段或表達式的標題。
worldScale可選的 指示符號的大小單位是否以米為單位。當使用 3D 體積符號係統生成可視化時,這應該是
true
。如果此屬性設置為true
,則必須提供view
。signal可選的 允許可取消的請求。如果取消,promise 將被拒絕,並出現名為
AbortError
的錯誤。另見AbortController。返回:
類型 說明 Promise<VisualVariablesResult> 解析為 VisualVariablesResult 的實例。 例子:
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", theme: "above" }; // when the promise resolves, apply the visual variables to the renderer colorAndSizeRendererCreator.createVisualVariables(params) .then(function(response){ const renderer = layer.renderer.clone(); renderer.visualVariables = [ response.color.visualVariable, ...response.size.visualVariables ]; layer.renderer = renderer; });
const layer = new FeatureLayer({ url: "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/counties_politics_poverty/FeatureServer/0" }); // visualization based off an Arcade expression const params = { layer: layer, view: view, valueExpression: "($feature.POP_POVERTY / $feature.TOTPOP_CY) * 100", sqlExpression: "( POP_POVERTY / TOTPOP_CY ) * 100" }; // when the promise resolves, apply the visual variables to the renderer colorAndSizeRendererCreator.createVisualVariables(params) .then(function(response){ const renderer = layer.renderer.clone(); renderer.visualVariables = [ response.color.visualVariable, ...response.size.visualVariables ]; layer.renderer = renderer; });
基本信息
以下是所在類或對象的基本信息。
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.createVisualVariables
函數(或屬性)的定義如下:
相關用法
- JavaScript ArcGIS univariateColorSize.createContinuousRenderer用法及代碼示例
- JavaScript ArcGIS uniqueValues.uniqueValues用法及代碼示例
- JavaScript unescape()用法及代碼示例
- JavaScript ArcGIS urlUtils.urlToObject用法及代碼示例
- JavaScript ArcGIS SceneView double-click事件用法及代碼示例
- JavaScript ArcGIS geometryEngineAsync.overlaps用法及代碼示例
- JavaScript ArcGIS Expand.when用法及代碼示例
- JavaScript ArcGIS Sublayer.JoinTableDataSource用法及代碼示例
- JavaScript ArcGIS FillSymbol3DLayer.outline用法及代碼示例
- JavaScript ArcGIS Ground.loadAll用法及代碼示例
- JavaScript Object valueOf()用法及代碼示例
- JavaScript ArcGIS LabelClass.repeatLabelDistance用法及代碼示例
- JavaScript ArcGIS KMLLayerView.when用法及代碼示例
- JavaScript ArcGIS Daylight.visibleElements用法及代碼示例
- JavaScript Uint8Array.of()用法及代碼示例
- JavaScript ArcGIS CIMSymbol.CIMTextSymbol用法及代碼示例
- JavaScript new Legend用法及代碼示例
- JavaScript Slider.effectiveMin用法及代碼示例
- JavaScript Sketch.classes用法及代碼示例
- JavaScript Sketch.visible用法及代碼示例
- JavaScript ArcGIS AreaMeasurement3D.analysis用法及代碼示例
- JavaScript ArcGIS PolygonDrawAction draw-complete事件用法及代碼示例
- JavaScript ArcGIS PathSymbol3DLayer用法及代碼示例
- JavaScript ArcGIS decorators.cast用法及代碼示例
- JavaScript ArcGIS VectorTileLayer.apiKey用法及代碼示例
注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 univariateColorSize.createVisualVariables。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。