直方图

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

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

已知限制

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

方法概述

名称 返回类型 总结 函数
Promise<HistogramResult>更多信息

为从给 layer 中的 field 返回的数据生成直方图。

更多信息histogram

方法详情

histogram(params){Promise<HistogramResult>}

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

参数
规范:
params Object

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

详述;

要生成直方图的图层。

field String
optional

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

normalizationType String
optional

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

可能值 描述
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

仅当 normalizationType 为 percent-of-total 时才适用。 表示用于标准化字段值的总量。

classificationMethod String
optional

数据分类的方法。下表列出了可能的值。

可能值 描述
natural-breaks 的数据值被放置在一个类中。 类中断发生在簇之间存在间隙的地方。 如果您的数据分布不均匀,则应使用此方法; 也就是说,许多要素具有相同或相似的值,并且值组之间存在间隙。
equal-interval 类都有相同的取值范围; 换句话说,每个类别的高值和低值之间的差异是相等的。 如果您的数据分布均匀,并且您想强调要素之间的值差异,则应使用此方法。
quantile 类都有大致相同数量的要素。 如果你的数据是均匀分布的,并且你想强调要素之间相对位置的差异,你应该使用分位数分类方法。 例如,如果将点值分为五个等级,则最高等级的点将落入所有点的前五分之一。
standard-deviation 以 1, 0.5 或 0.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 Visualization Profile 定义的规范的 Arcade 表达式。 表达式可以使用 $feature 全局变量引用字段值,并且必须返回一个数字。 此属性覆盖field 属性,因此用于代替输入field 值。

sqlExpression String
optional

求值为数字的 SQL 表达式。

sqlWhere String
optional

用于过滤统计查询功能的 SQL where 子句。 例如,这在您希望避免除以零的情况下很有用,就像创建优势可视化的情况一样。

view View
optional

指定 valueExpression  时需要  SceneView 或 MapView 实例。

features Graphic[]
已弃用 自从版本 4.23. 使用 useFeaturesInView 代替。
optional

生成直方图的要素子集。

useFeaturesInView Boolean
optional

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

signal AbortSignal
optional

允许可取消的请求。 如果取消,promise 将被拒绝并出现名为  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[]

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

minValue Number

该字段返回的最小值。

maxValue Number

该字段返回的最大值。

normalizationTotal Number
optional

当 percent-of-total 指定为  normalizationType 时用于规范化所有值的数字。

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