- 另请参阅
方法概述
名称 | 返回值类值 | 描述 | 对象 |
---|---|---|---|
Promise<VisualVariableResult> | 此方法使用默认 alpha 值生成一个不透明度视觉变量,该值基于指示字段或表达式所查询的统计信息以最佳方式映射到数据值。 更多详情 | opacity |
方法详细说明
-
createVisualVariable(params){Promise<VisualVariableResult>}
-
此方法使用默认 alpha 值生成一个不透明度视觉变量,该值基于指示字段或表达式所查询的统计信息以最佳方式映射到数据值。
有几种方式可以调用此方法。最常见的情况是提供
layer
和field
。在这种情况下,数据的统计信息不是众所周知的,并且用户不知道要映射到数据值的 alpha 值。您可选择性地使用valueExpression
而不是字段,根据从运行时执行的脚本返回的数值来可视化要素。为方便自定义更复杂的可视化创作应用程序,还提供了其他选项。例如,如果已在另一个操作中生成了统计信息,则可在
statistics
参数中传递统计信息,以避免对服务器进行额外的调用。参数规范params Object输入参数,用于根据从给定字段或表达式返回的数据生成不透明度视觉变量。各参数的详细信息见下表。
规范为其生成视觉变量的图层。
field Stringoptional将查询其数据以进行统计并用作数据驱动可视化的基础的字段名称。如果使用
valueExpression
,则忽略此属性。normalizationField Stringoptional用于规范化给定
field
值的字段名称。提供规范化字段有助于最大限度地减少一些可视化错误并标准化数据,因此,由于面积的差异或计数变化,所有要素都以最小的偏差可视化。此选项通常在可视化密度时使用。valueExpression Stringoptional遵循 Arcade 可视化配置文件定义的规范的 Arcade 表达式 表达式。表达式可以使用
$feature
配置变量来引用字段值,并且必须返回一个数字。此属性覆盖field
属性,因此用于代替输入field
值。valueExpressionTitle Stringoptional描述从
valueExpression
返回的值的文本。这由 Legend 微件使用。sqlExpression Stringoptional一个 SQL 表达式,其计算结果为数字。
sqlWhere StringoptionalSQL where 子句,用于过滤统计查询的要素。例如,当您希望避免除以 0 的情况时 (像创建优势可视化的情况那样),这很有用。
legendOptions Objectoptional提供选项,用于在提供表达式而不是字段名称时设置字段的标题。此标题将表示 Legend 中的字段。
规范title Stringoptional用于表示 Legend 中的给定字段或表达式的标题。
statistics SummaryStatisticsResultoptional从 summaryStatistics 函数生成的统计信息对象。如果已生成了字段的统计信息,则在此处传递对象以避免向服务器进行第二次统计信息查询。
minValue Numberoptional用户设置的自定义最小值。将此参数与
maxValue
结合使用可在下限和上限之间生成统计信息。这将是返回的视觉变量中的最低停止点。maxValue Numberoptional用户设置的自定义最大值。将此参数与
minValue
结合使用可在下限和上限之间生成统计信息。这将是返回的视觉变量中的最高停止点。view ViewoptionalforBinning Booleanoptional指示生成的渲染器是否用于图格可视化。如果为
true
,则此方法中的输入字段应引用该图层的featureReduction
属性中定义的聚合字段。signal AbortSignaloptional允许可取消的请求。如果取消,则承诺将被拒绝,并返回一个名为
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
基于数据的统计信息配置的不透明度视觉变量。
statistics SummaryStatisticsResult从对服务的查询中返回给定字段或表达式的基本统计信息。
defaultValuesUsed Boolean表示在图层中没有足够的数据和/或统计数据时是否使用默认值。当所有要素都具有相同的字段值或根本没有值时,通常使用默认值。
authoringInfo AuthoringInfo与创建视觉变量相关的创作信息。这包括与来自滑块和所选主题的 UI 输入相关的信息。