• geoscene/smartMapping

opacity

AMD: require(["geoscene/smartMapping/renderers/opacity"], (opacityVariableCreator) => { /* code goes here */ });
ESM: import * as opacityVariableCreator from "@geoscene/core/smartMapping/renderers/opacity";
类: geoscene/smartMapping/renderers/opacity
起始版本:GeoScene Maps SDK for JavaScript 4.6

此对象包含一个 helper 方法,用于根据 Layer 中的字段值或表达式返回的数据生成具有连续不透明度的数据驱动型可视化效果。

createVisualVariable() 方法使用默认 alpha 值生成一个不透明度视觉变量,该值基于指示字段的统计信息以最佳方式映射到数据值。

已知限制

  • SceneLayers 必须启用 supportsRenderersupportsLayerQuery 功能,除非将预定义 statistics 对象提供给方法的 statistics 参数。请使用 getFieldInfoUsage() 方法检查 SceneLayer 的功能。
  • 不能使用 SQL 表达式为 SceneView 中的客户端 FeatureLayers 生成渲染器和可视变量。

方法概述

名称 返回值类值 描述 对象
Promise<VisualVariableResult>

此方法使用默认 alpha 值生成一个不透明度视觉变量,该值基于指示字段或表达式所查询的统计信息以最佳方式映射到数据值。

更多详情
opacity

方法详细说明

createVisualVariable(params){Promise<VisualVariableResult>}

此方法使用默认 alpha 值生成一个不透明度视觉变量,该值基于指示字段或表达式所查询的统计信息以最佳方式映射到数据值。

有几种方式可以调用此方法。最常见的情况是提供 layerfield。在这种情况下,数据的统计信息不是众所周知的,并且用户不知道要映射到数据值的 alpha 值。您可选择性地使用 valueExpression 而不是字段,根据从运行时执行的脚本返回的数值来可视化要素。

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

参数
规范
params Object

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

规范

为其生成视觉变量的图层。

field String
optional

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

normalizationField String
optional

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

valueExpression String
optional

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

valueExpressionTitle String
optional

描述从 valueExpression 返回的值的文本。这由 Legend 微件使用。

sqlExpression String
optional

一个 SQL 表达式,其计算结果为数字。

sqlWhere String
optional

SQL where 子句,用于过滤统计查询的要素。例如,当您希望避免除以 0 的情况时 (像创建优势可视化的情况那样),这很有用。

legendOptions Object
optional

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

规范
title String
optional

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

optional

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

minValue Number
optional

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

maxValue Number
optional

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

view View
optional

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

forBinning Boolean
optional

指示生成的渲染器是否用于图格可视化。如果为 true,则此方法中的输入字段应引用该图层的 featureReduction 属性中定义的聚合字段

optional

允许可取消的请求。如果取消,则承诺将被拒绝,并返回一个名为 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;
  });

类型定义

VisualVariableResult

createVisualVariable() 方法的结果对象。各属性的详细信息见下表。

属性
visualVariable OpacityVariable

基于数据的统计信息配置的不透明度视觉变量。

从对服务的查询中返回给定字段或表达式的基本统计信息。

defaultValuesUsed Boolean

表示在图层中没有足够的数据和/或统计数据时是否使用默认值。当所有要素都具有相同的字段值或根本没有值时,通常使用默认值。

authoringInfo AuthoringInfo

与创建视觉变量相关的创作信息。这包括与来自滑块和所选主题的 UI 输入相关的信息。

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。请参阅浏览器弃用帖子以获取更多信息