summaryStatistics

AMD: require(["geoscene/smartMapping/statistics/summaryStatistics"], (summaryStatistics) => { /* code goes here */ });
ESM: import summaryStatistics from "@geoscene/core/smartMapping/statistics/summaryStatistics";
函数: geoscene/smartMapping/statistics/summaryStatistics
起始版本:GeoScene Maps SDK for JavaScript 4.2

此函数可用于根据从给定字段返回的值在图层中生成属性统计信息。

已知限制

  • SceneLayers 必须启用 supportsRenderersupportsLayerQuery 功能,除非将预定义 statistics 对象提供给方法的 statistics 参数。请使用 getFieldInfoUsage() 方法检查 SceneLayer 的功能。
  • 无法使用 SQL 表达式为 SceneView 中的客户端 FeatureLayers 生成统计信息。
  • normalizationType 参数仅对 field 返回的数据进行规范化。它不适用于从 valueExpressionsqlExpression 返回的值。

方法概述

名称 返回值类值 描述 Function
Promise<SummaryStatisticsResult>

返回一个对象,其中包含描述从图层字段 (或表达式) 返回的一组值的统计信息。

更多详情
summaryStatistics

方法详细说明

summaryStatistics(params){Promise<SummaryStatisticsResult>}

返回一个对象,其中包含描述从图层字段 (或表达式) 返回的一组值的统计信息。

参数
规范
params Object

各参数的详细信息见下表。

规范

从中生成给定 field 的统计信息的图层。

field String
optional

将为其生成汇总统计信息的数值或字符串字段的名称。如果使用 valueExpression,则忽略此属性。

valueExpression String
optional

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

sqlExpression String
optional

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

sqlWhere String
optional

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

normalizationType String
optional

确定如何规范化所提供的 field 值。此参数仅对 field 引用的数据进行规范化,不适用于从 valueExpressionsqlExpression 返回的值。有关可能值列表,请参见下表。

可能值 描述
field 使用 normalizationField 参数中指定的字段值除数据值。如果使用此值,则必须提供 normalizationField
percent-of-total 将数据值除以所有数据值的总和,然后乘以 100。使用 normalizationTotal 来定义标准化的总值。
log 计算数据值的以 10 为底数的对数。对于查看高度偏斜的数据分布,这可能是一种有用的方法,因为它可减少异常值的影响。仅会计算正值。如果数据包含大量负值,则应避免此规范化类型。
natural-log 计算数据值的自然对数。对于查看高度偏斜的数据分布,这可能是一种有用的方法,因为它可减少异常值的影响。仅会计算正值。如果数据包含大量负值,则应避免此规范化类型。
square-root 计算数据值的平方根。对于查看高度偏斜的数据分布,这可能是一种有用的方法,因为它可减少异常值的影响。仅会计算正值。如果数据包含大量负值,则应避免此规范化类型。

可能值"field"|"log"|"percent-of-total"|"natural-log"|"square-root"

normalizationField String
optional

用于规范化从给定 field 返回的值的字段。

normalizationTotal Number
optional

仅当 normalizationTypepercent-of-total 时才适用。指示用于标准化字段值的总量。

minValue Number
optional

统计计算的最小边界值。将此参数与 maxValue 结合使用可在下限和上限之间生成统计信息。

maxValue Number
optional

统计计算的最大边界值。将此参数与 minValue 结合使用可在下限和上限之间生成统计信息。

view View
optional

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

optional

用于按几何过滤统计查询的要素过滤器。此参数仅用于按几何过滤统计信息。忽略 FeatureFilter.where 属性上设置的任何属性过滤器。目前,仅支持 intersects 空间关系。如果您已按图层上的几何定义了要素过滤器,并且希望计算包含要素的统计信息,则此选项非常有用。从 4.25 版开始。

features Graphic[]
已弃用从 4.23 版开始。请改为使用 useFeaturesInView
optional

要为其计算统计数据的要素子集。

useFeaturesInView Boolean
optional

仅当输入 layer 是服务支持的 FeatureLayer 时才适用。当为 true,将根据视图中可见的要素在客户端上计算统计信息。如果为 false,则将从服务请求统计信息。从 4.23 版开始。

forBinning Boolean
optional

指示生成的统计信息是用于图格可视化还是用于聚类可视化。如果为 true,则此方法中的输入字段应引用该图层的 featureReduction 属性中定义的聚合字段

optional

允许可取消的请求。如果取消,则承诺将被拒绝,并返回一个名为 AbortError 的错误。另请参见 AbortController

返回
类型 描述
Promise<SummaryStatisticsResult> 返回解析为 SummaryStatisticsResult 的承诺。
示例
summaryStatistics({
  layer: featureLayer,
  valueExpression: "( ($feature.POP2020 - $feature.POP2010) / $feature.POP2010 ) * 100"
  view: mapView
}).then(function(stats){
  colorSlider.statistics = stats;
});
summaryStatistics({
  layer: featureLayer,
  field: "Population",
  normalizationType: "natural-log",
  sqlWhere: "Population > 0",
  numBins: 100
}).then(function(stats){
  histogramWidget.average = stats.avg;
});

类型定义

SummaryStatisticsResult

summaryStatistics() 查询返回的统计信息。

属性
avg Number

从字段或表达式返回的所有值的平均值。

count Number

给定字段具有非空值的要素总数。

max Number

从字段或表达式返回的所有值中的最大值。

median Number

从字段或表达式返回的所有值的中位数。从 4.22 版开始。

min Number

从字段或表达式返回的所有值中的最小值。

stddev Number

根据从字段或表达式返回的值计算得出的标准差。

sum Number

从字段或表达式返回的所有值的总和。

variance Number

从字段或表达式返回的所有值计算出的方差。

nullcount Number
optional

存储在给定字段中的空值数。仅适用于版本 4.20 或更高版本的字段值计算的汇总统计数据。

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