-
createClassBreaksRenderer
(params)
{Promise<ClassBreaksRendererResult>}
- 自从:ArcGIS 适用于 JavaScript 4.6 的 API
生成一个ClassBreaksRenderer,可以直接应用于用于调用此方法的层。生成的渲染器根据给定的
field
值定义每个要素的符号大小。默认大小方案是根据视图的背景确定的。根据classificationMethod
,根据数据的统计信息生成分类间隔(或数据范围)。每个要素都根据field
的值所在的分类间隔分配一个大小。在大多数情况下,您将提供
layer
、view
、field
和classificationMethod
来生成此渲染器。在这种情况下,数据的统计信息并不为人所知,并且用户不知道在可视化中使用什么大小。您还可以使用valueExpression
而不是field
根据在运行时执行的脚本返回的值来可视化特征。提供其他选项是为了方便更多涉及的自定义可视化创作应用程序。
参数:
规格:类型 说明 params Object用于根据从给定字段或表达式返回的数据生成分类大小可视化的输入参数。有关每个参数的详细信息,请参见下表。
规格:为其生成可视化的图层。
view可选的 渲染输入层的视图。此方法检查视图的背景(即底图、Web Map背景或视图容器)以确定输出渲染器的最佳颜色。在实践中应始终设置此参数,但如果未提供此参数,则此方法将假定生成的渲染器将显示在浅色背景上。当使用
valueExpression
创建渲染器或用于在 SceneView 中显示的渲染器时,此参数是必需的。field将查询其数据进行统计和分类的字段的名称。如果使用
valueExpression
,则忽略此属性。normalizationField可选的 用于规范化给定
field
值的字段名称。提供归一化字段有助于最大限度地减少一些可视化错误并标准化数据,因此所有特征都以最小的偏差进行可视化,因为面积差异或计数变化。此选项通常在可视化密度时使用。normalizationType可选的 指示数据如何标准化。从
field
获得的数据值在与分类间断进行比较之前,会通过以下方式之一进行归一化。有关可能值的列表,请参见下表。可能的值 说明 field 将 field
值除以normalizationField
的值。如果提供了normalizationField
,则默认设置此值。log 计算数据值的以 10 为底的对数。这对于某些数据分布可能是一种有用的方法,因为它减少了非常大的数据值的影响。 percent-of-total 将数据值除以所有数据值的总和,然后乘以 100。使用 normalizationTotal
定义要标准化的总值。如果提供了normalizationTotal
,则默认设置此值。除了
log
规范化之外,数据规范化通过将两个值相除来创建一个比率。在比较要素之间的属性值时,归一化可最大限度地减少不同Map区域和观察次数的影响。例如,将 18 到 30 岁的人口除以面要素的面积得出的密度值可以与其他要素进行平均比较,而不管它们的大小。可能的值:"field"|"log"|"percent-of-total"
normalizationTotal可选的 当
normalizationType
为percent-of-total
时,此属性包含所有数据值的总和。classificationMethod可选的 默认值:equal-interval用于生成中断的分类方法。有关可能值的列表,请参见下表。
可能的值 说明 equal-interval 将属性值的范围划分为 equal-sized 子范围。例如,如果您为值范围从 0 到 300 的字段指定三个类,则此方法将创建三个范围为 0-100、101-200 和 201-300 的类。等间隔最好应用于熟悉的数据范围,例如百分比和温度。此方法强调属性值相对于其他值的数量。例如,它可以显示一家商店是否属于构成所有销售额最高one-third 的商店组的一部分。 natural-breaks 对最大化类之间差异的相似值进行分组。特征被划分为类别,其边界设置在数据值差异较大的地方。自然间断点是data-specific 分类,对于比较根据不同基础信息构建的多个Map没有用处。 quantile 为每个类分配相同数量的数据值。这非常适合线性分布的数据。由于每个类别中的要素按相同数量分组,因此生成的Map通常会产生误导。相似的特征可能被放置在相邻的类中,或者具有大不相同的值的特征可以被放置在同一个类中。您可以通过增加类的数量来最小化这种失真。 standard-deviation 创建具有相等值范围的分类分隔符,这些值范围是标准差的一部分。这通常以与平均值相差 1、one-half、one-third 或 one-fourth 标准差的间隔进行。 可能的值:"equal-interval"|"natural-breaks"|"quantile"|"standard-deviation"
standardDeviationInterval可选的 默认值: 1如果使用
standard-deviation
分类方法,则这表示生成分类间隔的间隔。可能的值:1 | 0.5 | 0.33 | 0.25
numClasses可选的 默认值: 5要生成的分类间断数。如果指定了
standard-deviation
分类方法,则会忽略此问题。sizeScheme可选的 在创作应用程序中,用户可以选择预定义的尺寸方案。将方案对象传递给此属性以避免根据视图的背景获取一个。
valueExpression可选的 遵循 Arcade Visualization Profile 定义的规范的 Arcade 表达式。表达式可以使用
$feature
全局变量引用字段值,并且必须返回一个数字。此属性覆盖field
属性,因此用于代替输入field
值。valueExpressionTitle可选的 说明从
valueExpression
返回的值的文本。这是由Legend 小部件使用的。sqlExpression可选的 计算为数字的 SQL 表达式。
sqlWhere可选的 用于过滤统计查询函数的 SQL where 子句。例如,这在您希望避免除以零的情况下很有用,就像创建优势可视化的情况一样。
outlineOptimizationEnabled可选的 默认值:错误的仅适用于多边形图层。指示多边形轮廓宽度是否应根据视图比例而变化。设置后,必须在
view
参数中提供有效的 MapView 实例。 3D SceneViews 不支持此选项。legendOptions可选的 提供用于设置标题以说明字段而不是使用字段名称的选项。此标题将表示 Legend 中的字段。
规格:title可选的 用于表示 Legend 中给定字段或表达式的标题。
minValue可选的 用户设置的最小值。将此与
maxValue
结合使用以在下限和上限之间生成分类中断。这将是最低类休息的下限。maxValue可选的 用户设置的最大值。将此与
minValue
结合使用以在下限和上限之间生成分类中断。这将是最高等级突破的上限。defaultSymbolEnabled可选的 默认值:真的在渲染器上启用
defaultSymbol
并将其分配给没有值的特征和不在配置数据范围内的特征。symbolType可选的 默认值:二维要生成的符号类型。这取决于您正在使用的视图和所需的可视化。可能的值如下所述。
值 说明 2d 使用 2D 符号(例如 SimpleMarkerSymbol 、 SimpleLineSymbol 或 SimpleFillSymbol )生成可视化。如果为 MapView 中的数据生成可视化,请使用此选项。 3d-flat 使用具有平面符号图层(例如 IconSymbol3DLayer 、 LineSymbol3DLayer 或 FillSymbol3DLayer )的 3D 符号生成可视化。如果为 SceneView 中的数据生成 2D 可视化,请使用此选项。 3d-volumetric 使用具有体积符号图层的 3D 符号生成可视化,例如 ObjectSymbol3DLayer 、 PathSymbol3DLayer 或 ExtrudeSymbol3DLayer 。如果为 SceneView 中的数据生成 3D 可视化,并且只有符号的高度应该是可变的,例如圆柱体,则使用此选项。如果使用此选项,则必须向 view
参数提供 SceneView 实例。3d-volumetric-uniform 使用具有体积符号图层的统一大小的 3D 符号生成可视化。如果为 SceneView 中的数据生成 3D 可视化,并且符号的大小应统一(例如球体),请使用此选项。如果使用此选项,则必须向 view
参数提供 SceneView 实例。可能的值:"2d"|"3d-flat"|"3d-volumetric"|"3d-volumetric-uniform"
signal可选的 允许可取消的请求。如果取消,promise 将被拒绝,并出现名为
AbortError
的错误。另见AbortController。返回:
类型 说明 Promise<ClassBreaksRendererResult> 解析为 ClassBreaksRendererResult 的实例。 例子:
const layer = new FeatureLayer({ url: "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/counties_politics_poverty/FeatureServer/0" }); // visualization based on field and normalization field const sizeParams = { layer: layer, view: view, field: "POP_POVERTY", normalizationField: "TOTPOP_CY", classificationMethod: "quantile", numClasses: 4 }; // when the promise resolves, apply the renderer to the layer sizeRendererCreator.createClassBreaksRenderer(sizeParams) .then(function(response){ layer.renderer = response.renderer; });
const layer = new FeatureLayer({ url: "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/counties_politics_poverty/FeatureServer/0" }); // visualization based off Arcade expression const sizeParams = { layer: layer, classificationMethod: "equal-interval", valueExpression: "($feature.POP_POVERTY / $feature.TOTPOP_CY) * 100", view: view, legendOptions: { title: "% of people living in poverty" } }; // when the promise resolves, apply the renderer to the layer sizeRendererCreator.createClassBreaksRenderer(sizeParams) .then(function(response){ layer.renderer = response.renderer; });
基本信息
以下是所在类或对象的基本信息。
AMD:
require(["esri/smartMapping/renderers/size"], (sizeRendererCreator) => { /* code goes here */ });
ESM:
import * as sizeRendererCreator from "@arcgis/core/smartMapping/renderers/size";
对象:
esri/smartMapping/renderers/size
自从:用于 JavaScript 4.2 的 ArcGIS API
用法说明
size.createClassBreaksRenderer
函数(或属性)的定义如下:
相关用法
- JavaScript ArcGIS size.createContinuousRenderer用法及代码示例
- JavaScript ArcGIS size.createAgeRenderer用法及代码示例
- JavaScript ArcGIS size.createVisualVariables用法及代码示例
- JavaScript ArcGIS size.cloneScheme用法及代码示例
- JavaScript ArcGIS size.getSchemes用法及代码示例
- JavaScript ArcGIS sizeRange.sizeRange用法及代码示例
- JavaScript ArcGIS symbolUtils.getDisplayedColor用法及代码示例
- JavaScript ArcGIS scaleRange.scaleRange用法及代码示例
- JavaScript string.replace()用法及代码示例
- JavaScript ArcGIS symbolUtils.getDisplayedSymbol用法及代码示例
- JavaScript ArcGIS scheduling.addFrameTask用法及代码示例
- JavaScript ArcGIS sql.parseWhereClause用法及代码示例
- JavaScript ArcGIS serviceArea.solve用法及代码示例
- JavaScript setInterval()用法及代码示例
- JavaScript ArcGIS scheduling.schedule用法及代码示例
- JavaScript ArcGIS symbolUtils.renderPreviewHTML用法及代码示例
- JavaScript ArcGIS symbolUtils.renderColorRampPreviewHTML用法及代码示例
- JavaScript ArcGIS summaryStatisticsForAge.summaryStatisticsForAge用法及代码示例
- JavaScript string.anchor()用法及代码示例
- JavaScript ArcGIS summaryStatistics.summaryStatistics用法及代码示例
- JavaScript ArcGIS SceneView double-click事件用法及代码示例
- JavaScript ArcGIS geometryEngineAsync.overlaps用法及代码示例
- JavaScript ArcGIS Expand.when用法及代码示例
- JavaScript ArcGIS Sublayer.JoinTableDataSource用法及代码示例
- JavaScript ArcGIS FillSymbol3DLayer.outline用法及代码示例
注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 size.createClassBreaksRenderer。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。