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


JavaScript ArcGIS opacity.createVisualVariable用法及代码示例


基本信息

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

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

ESM: import * as opacityVariableCreator from "@arcgis/core/smartMapping/renderers/opacity";

对象: esri/smartMapping/renderers/opacity

自从:用于 JavaScript 4.6 的 ArcGIS API

用法说明

opacity.createVisualVariable函数(或属性)的定义如下:

createVisualVariable (params) {Promise<VisualVariableResult>}


此方法生成一个不透明度可视变量,其默认 alpha 值根据为指定字段或表达式查询的统计信息优化映射到数据值。

可以通过多种方式调用此方法。最常见的情况是提供 layerfield 。在这种情况下,数据的统计信息并不为人所知,并且用户不知道要将哪些 alpha 值映射到数据值。您可以选择使用 valueExpression 而不是字段,根据运行时执行的脚本返回的数值来可视化特征。

提供其他选项是为了方便更多涉及的自定义可视化创作应用程序。例如,如果您已经在另一个操作中生成了统计信息,则可以在 statistics 参数中传递统计信息,以避免对服务器进行额外的调用。

参数:

规格:
类型说明
params Object

用于根据从给定字段或表达式返回的数据生成不透明度可视变量的输入参数。有关每个参数的详细信息,请参见下表。

规格:

为其生成视觉变量的层。

field

String

可选的

将查询其数据以进行统计并用作数据驱动可视化基础的字段的名称。如果使用 valueExpression,则忽略此属性。

normalizationField

String

可选的

用于规范化给定 field 值的字段名称。提供归一化字段有助于最大限度地减少一些可视化错误并标准化数据,因此所有特征都以最小的偏差进行可视化,因为面积差异或计数变化。此选项通常在可视化密度时使用。

valueExpression

String

可选的

遵循 Arcade Visualization Profile 定义的规范的 Arcade 表达式。表达式可以使用 $feature 全局变量引用字段值,并且必须返回一个数字。此属性覆盖 field 属性,因此用于代替输入 field 值。

valueExpressionTitle

String

可选的

说明从 valueExpression 返回的值的文本。这是由Legend 小部件使用的。

sqlExpression

String

可选的

计算为数字的 SQL 表达式。

sqlWhere

String

可选的

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

legendOptions

Object

可选的

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

规格:
title

String

可选的

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

可选的

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

minValue

Number

可选的

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

maxValue

Number

可选的

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

view

View

可选的

当指定 valueExpression 时,需要 SceneViewMapView 实例。

signal

AbortSignal

可选的

允许可取消的请求。如果取消,promise 将被拒绝,并出现名为 AbortError 的错误。另见AbortController

返回:

类型 说明
Promise<VisualVariableResult> 解析为 VisualVariableResult 的实例。

例子:

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 params = {
  layer: layer,
  field: "POP_POVERTY",
  normalizationField: "TOTPOP_CY"
};

// when the promise resolves, apply the visual variable to the renderer
opacityVariableCreator.createVisualVariable(params)
  .then(function(response){
    let renderer = layer.renderer.clone();
    renderer.visualVariables = [ response.visualVariable ];
    layer.renderer = 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 params = {
  layer: layer,
  valueExpression: "($feature.POP_POVERTY / $feature.TOTPOP_CY) * 100",
  view: view,
  valueExpressionTitle: "% of people living in poverty"
};

// when the promise resolves, apply the visual variable to the renderer
opacityVariableCreator.createVisualVariable(params)
  .then(function(response){
    let renderer = layer.renderer.clone();
    renderer.visualVariables = [ response.visualVariable ];
    layer.renderer = renderer;
  });

相关用法


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