opacity

AMD: require(["geoscene/smartMapping/renderers/opacity"], (opacityVariableCreator) => { /* 代码 */ });
ESM: import * as opacityVariableCreator from "@geoscene/core/smartMapping/renderers/opacity";
Object: geoscene/smartMapping/renderers/opacity
起始版本: GeoScene API for JavaScript 4.22

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

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

已知限制

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

geoscene/renderers/smartMapping/... 从 4.16 移出。

示例:

方法列表

属性 返回值类型 描述 Object
Promise<VisualVariableResult>更多信息

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

更多信息opacity

方法详细说明

createVisualVariable(params){Promise<VisualVariableResult>}

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

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

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

参数:
规范:
params Object

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

规范:

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

field String
optional

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

normalizationField String
optional

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

valueExpression String
optional

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

valueExpressionTitle String
optional

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

sqlExpression String
optional

计算结果为数字的 SQL 表达式。

sqlWhere String
optional

用于筛选统计信息查询要素的 SQL where 子句。例如,这在您希望避免被零除的情况下非常有用,就像创建优势可视化一样。

legendOptions Object
optional

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

规范:
title String
optional

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

optional

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

minValue Number
optional

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

maxValue Number
optional

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

view View
optional

指定 valueExpression 时,需要 SceneView or MapView 实例。

signal AbortSignal
optional

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

类型定义

VisualVariableResult

createVisualVariable() 方法的结果对象。有关每个属性的详细信息,请参阅下表。

属性:
visualVariable OpacityVariable

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

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

defaultValuesUsed Boolean

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

authoringInfo AuthoringInfo

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

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.