当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript ArcGIS univariateColorSize.createVisualVariables用法及代码示例


基本信息

以下是所在类或对象的基本信息。

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函数(或属性)的定义如下:

createVisualVariables (params) {Promise<VisualVariablesResult>}


此方法基于相同的给定字段或表达式生成颜色和大小视觉变量。这些视觉变量是使用默认停靠点生成的,这些停靠点是根据针对指定字段或表达式查询的统计信息以及基于视图背景的颜色进行优化选择的。

可以通过两种不同的方式调用此方法。最常见的情况是提供 layerviewfield 。这是数据的统计信息不为人知且用户不知道使用什么颜色的场景。您可以选择使用 valueExpression 而不是字段,根据运行时执行的脚本返回的数值来可视化特征。

提供其他选项是为了方便更多涉及的自定义可视化创作应用程序。例如,如果您已经在另一个操作中生成了统计信息,则可以在statistics 参数中传递对象以避免对服务器进行额外的调用。如果您不想为您挑选一个,您也可以提供 colorScheme 和/或 sizeScheme。在这种情况下,theme 选项将被忽略。

生成的视觉变量数组将包含一个颜色视觉变量和一个或两个大小视觉变量,具体取决于sizeOptions.axis 参数的值。

参数:

规格:
类型说明
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

根据有意义的数据值设置大小停止和颜色。

说明
high-to-low 最大数据值被分配最大尺寸和颜色。最小数据值被分配最小大小和颜色。所有其他值都被插值。
above 最大数据值被分配最大尺寸和颜色。平均数据值或零被分配最小大小和颜色。对最大数据值和平均值之间的所有其他值进行插值。这对于映射变量随时间的增加非常有用,例如人口增加或两个日期之间的失业。
below 最小数据值被分配最大尺寸和颜色。平均数据值或零被分配最小大小和颜色。对最小数据值和平均值之间的所有其他值进行插值。这对于绘制变量随时间的下降情况很有用,例如人口减少或两个日期之间的失业率。
above-and-below 最小和最大数据值被分配最大尺寸和颜色。平均数据值或零被分配最小大小和颜色。使用发散色带。最小和最大数据值与平均值之间的所有其他值都被插值。这对于映射值随时间和速率的变化非常有用。

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

sqlExpression

String

可选的

计算为数字的 SQL 表达式。

sqlWhere

String

可选的

用于过滤统计查询函数的 SQL where 子句。例如,这在您希望避免除以零的情况下很有用,就像创建优势可视化的情况一样。

可选的

summaryStatistics 函数生成的统计对象。如果该字段的统计信息已经生成,则在此处传递对象以避免向服务器进行第二次统计查询。

minValue

Number

可选的

用户设置的自定义最小值。将此与 maxValue 结合使用以生成上下限之间的统计信息。这将是返回的视觉变量中的最低点。

maxValue

Number

可选的

用户设置的自定义最大值。将此与 minValue 结合使用以生成上下限之间的统计信息。这将是返回的视觉变量中的最高点。

colorOptions

Object

可选的

用于配置可视化颜色部分的选项。

规格:
theme

String

可选的
默认值:high-to-low

确定将在连续渐变和Map中强调哪些值。下面列出了可能的值。

说明 示例
high-to-low 用强烈的颜色强调高值。 high-to-low
above-and-below 以给定点为中心的值(例如平均值)用弱颜色显示,而其他值用强颜色强调。 above-and-below
centered-on 以给定点为中心的值(例如平均值)用强颜色强调,而其他值用弱颜色显示。 centered-on
extremes 用强烈的颜色强调高值和低值。所有其他人都用弱颜色可视化。 extremes

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

colorScheme

ColorScheme

可选的

在创作应用程序中,用户可以选择预定义的配色方案。将方案对象传递给此属性以避免基于 themeview 获得一个。

legendOptions

Object

可选的

当提供表达式而不是字段名称时,提供用于为字段设置标题的选项。此标题将表示 Legend 中的字段。

规格:
title

String

用于表示 Legend 中给定字段或表达式的标题。

isContinuous

Boolean

可选的
默认值:真的

仅适用于above-and-below 主题。如果 true ,则向渲染器添加具有发散色带的 ColorVariable

sizeOptions

Object

可选的

用于配置可视化大小部分的选项。

规格:
axis

String

可选的
默认值:全部

当设置为 all 时,会生成一个在所有维度上均匀缩放的大小变量。当设置为 height 时,结果包含两个大小视觉变量:第一个根据字段统计设置高度,而第二个定义宽度和深度的恒定大小。

可能的值"all"|"height"

sizeScheme

SizeScheme

可选的

在创作应用程序中,用户可以选择预定义的尺寸方案。将方案对象传递给此属性以避免根据视图的背景获取一个。

legendOptions

Object

可选的

当提供表达式而不是字段名称时,提供用于为字段设置标题的选项。此标题将表示 Legend 中的字段。

规格:
title

String

用于表示 Legend 中给定字段或表达式的标题。

worldScale

Boolean

可选的

指示符号的大小单位是否以米为单位。当使用 3D 体积符号系统生成可视化时,这应该是 true。如果此属性设置为 true ,则必须提供 view

signal

AbortSignal

可选的

允许可取消的请求。如果取消,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;
  });

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 univariateColorSize.createVisualVariables。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。