histogram

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

根据图层中数据的给定字段生成直方图。返回的对象可用于在查询和显示统计信息的可视化创作应用程序和分析应用程序的 UI 中显示直方图。

已知限制

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

方法概述

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

为从给定 layerfield 中返回的数据生成直方图。

更多详情
histogram

方法详细说明

histogram(params){Promise<HistogramResult>}

为从给定 layerfield 中返回的数据生成直方图。返回的对象可用于在查询和显示统计信息的可视化创作应用程序和分析应用程序的 UI 中显示直方图。

参数
规范
params Object

有关可能传递给此函数的参数的详细信息,请参阅下表。

规范

要为其生成直方图的图层。

field String
optional

将为其生成直方图的数值字段的名称。如果使用 valueExpression,则忽略此属性。

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 时才适用。指示用于标准化字段值的总量。

classificationMethod String
optional

对数据进行分类的方法。有关可能值列表,请参见下表。

可能值 描述
natural-breaks 将聚类的数据值放置到单个类中。分类间隔发生在聚类之间存在间隙的地方。如果您的数据分布不均匀,则应使用此方法;也就是说,许多要素具有相同或相似的值,并且值组之间存在间隙。
equal-interval 每个类具有相等的值范围;换句话说,每个类的高值和低值之间的差异是相等的。如果数据分布均匀,并且想要强调要素之间值的差异,则应使用此方法。
quantile 每个类具有大致相同的要素数。如果数据分布均匀,并且想要强调要素之间相对位置处的差异,则应使用分位数分类方法。例如,如果将点值分为五个类,则最高类中的点将落入所有点的前五分之一。
standard-deviation 10.50.25 个标准差的间隔将分类分隔放置在平均值上方和下方,直到所有数据值都包含在一个类中。

可能值"equal-interval"|"natural-breaks"|"quantile"|"standard-deviation"

standardDeviationInterval Number
optional

classificationMethod = "standard-deviation" 时,这将设置间隔,在此处可设置每个分类间隔 (例如 0.25, 0.33, 0.5, 1)。

minValue Number
optional

直方图的最小边界值。将此参数与 maxValue 结合使用可在自定义下限和上限之间生成直方图。

maxValue Number
optional

直方图的最大边界值。将此参数与 minValue 结合使用可在自定义下限和上限之间生成直方图。

numBins Number
optional
默认值:10

指示要为直方图生成的类数。

valueExpression String
optional

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

sqlExpression String
optional

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

sqlWhere String
optional

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

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<HistogramResult> 解析为 HistogramResult 的实例。
示例
histogram({
  layer: featureLayer,
  valueExpression: "( ($feature.POP2020 - $feature.POP2010) / $feature.POP2010 ) * 100"
  view: mapView,
  numBins: 30
}).then(function(histogramResult){
  colorSlider.histogram = histogramResult;
});
histogram({
  layer: featureLayer,
  field: "Population",
  normalizationType: "natural-log",
  sqlWhere: "Population > 0",
  numBins: 100
}).then(function(histogramResult){
  const histogramWidget = Histogram.fromHistogramResult(histogramResult);
});

类型定义

HistogramResult

Histogram() 方法返回的结果。

属性
bins Bin[]

表示直方图中每个条柱的对象数组。

minValue Number

字段返回的最小值。

maxValue Number

字段返回的最大值。

normalizationTotal Number
optional

percent-of-total 指定为 normalizationType 时,用于归一化所有值的数字。

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