-
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。