- 另请参阅
方法概述
名称 | 返回值类值 | 描述 | 对象 |
---|---|---|---|
Promise<AgeRendererResult> | 生成一个连续大小渲染器,表示基于一个或多个字段的要素期限。 更多详情 | size | |
Promise<ClassBreaksRendererResult> | 生成一个 ClassBreaksRenderer,可直接将其应用于用于调用此方法的图层。 更多详情 | size | |
Promise<ContinuousRendererResult> | 生成一个渲染器,可直接将其应用于用于调用此方法的图层。 更多详情 | size | |
Promise<VisualVariableResult> | 此方法生成一个具有默认停止点的大小视觉变量数组,这些停止点是根据指定字段或表达式查询的统计信息进行优化选择的,并映射到适当的大小。 更多详情 | size |
方法详细说明
-
createAgeRenderer(params){Promise<AgeRendererResult>}起始版本:GeoScene Maps SDK for JavaScript 4.9
-
生成一个连续大小渲染器,表示基于一个或多个字段的要素期限。要素年龄是根据给定的
startTime
和endTime
计算的,其中一个必须是输入layer
中的日期字段。此方法生成一个 Arcade 表达式,并计算表达式输出的统计信息以实现此目的。生成的渲染器包含一个连续大小视觉变量,该变量将最佳大小映射到从汇总统计数据返回的数据值。您需要提供
layer
、view
、startTime
和endTime
来生成此渲染器。或者,您还可为可视化效果设置unit
。为方便自定义更复杂的可视化创作应用程序,还提供了其他选项。例如,如果已在另一操作中生成了统计信息,则可将统计对象传递给statistics
参数,以避免对服务器进行额外的调用。参数规范params Object输入参数,用于为从开始和/或结束日期字段返回的时间数据生成年龄的连续大小可视化。各参数的详细信息见下表。
规范为其生成可视化效果的图层。
view View渲染输入图层的视图。此方法可检查视图的背景 (即底图、web 地图背景或视图容器),以确定输出渲染器的最佳颜色。
字段的名称,或表示年龄计算的开始时间的日期值。如果指定了日期值,则
endTime
参数必须引用图层中的 Date 字段。字段的名称,或表示年龄计算的结束时间的日期值。如果指定了日期值,则
startTime
参数必须引用图层中的 Date 字段。unit Stringoptional用于计算
endTime
和startTime
之间差值的时间单位。如果未指定单位,则根据数据的分布确定建议的单位。可能值:"years"|"months"|"days"|"hours"|"minutes"|"seconds"
theme Stringoptional默认值:high-to-low基于有意义的数据值,设置大小停止点。
值 描述 high-to-low 为最大数据值分配最大大小。为最小数据值分配最小大小。对所有其他值进行插值。 above 为最大数据值分配最大大小。为平均数据值分配最小大小。对最大数据值和平均值之间的所有其他值进行插值。这对于绘制变量随时间而增加的情况非常有用,例如人口的增加或两个日期之间的失业率。 below 为最小数据值分配最大大小。为平均数据值分配最小大小。对最小数据值和平均值之间的所有其他值进行插值。这对于绘制变量随时间而下降的情况非常有用,例如人口的减少或两个日期之间的失业率。 可能值:"high-to-low"|"above"|"below"
maxValue Numberoptional设置可视化效果的最长期限。即使存在高于此值的数据,也只会计算
minValue
和maxValue
之间的值的统计信息。在版本 4.15 中添加。minValue Numberoptional设置可视化效果的最小期限。即使存在低于此值的数据,也只会计算
minValue
和maxValue
之间的值的统计信息。在版本 4.15 中添加。outlineOptimizationEnabled Booleanoptional默认值: false仅适用于面图层。指示多边形轮廓宽度是否应根据视图比例而变化。设置后,必须在
view
参数中提供有效的 MapView 实例。3D SceneViews 不支持此选项。sizeOptimizationEnabled Booleanoptional默认值: false指示符号大小是否应根据视图比例而变化。设置后,必须在
view
参数中提供有效的 MapView 实例。3D SceneViews 不支持此选项。legendOptions Objectoptional提供用于修改 Legend 属性 (用于描述可视化效果) 的选项。
规范title Stringoptional用于表示 Legend 中期限大小渐变的标题。
showLegend Booleanoptional指示是否在图例中包括期限渲染器。
statistics SummaryStatisticsResultoptional从 summaryStatistics 函数生成的统计信息对象。
createAgeRenderer()
方法可生成一个 Arcade 表达式,并对图层执行该表达式结果的统计查询。如果已生成表达式的统计信息,则在此处传递对象以避免进行第二次统计信息查询。sizeScheme SizeSchemeoptional在制作应用程序中,用户可以选择预定义的大小方案。将方案对象传递到此属性,以避免基于视图的背景获取方案对象。
symbolType Stringoptional默认值:2d要生成的符号类型。这取决于您正在使用的视图和所需的可视化效果。对于具有
mesh
几何类型的图层,不需要指定此参数。下面描述了可能的值。值 描述 2d 使用 2D 符号生成可视化,如 SimpleMarkerSymbol、SimpleLineSymbol 或 SimpleFillSymbol。如果为 MapView 中的数据生成可视化效果,请使用此选项。 3d-flat 使用具有平面符号图层的 3D 符号生成可视化,例如 IconSymbol3DLayer、LineSymbol3DLayer 或 FillSymbol3DLayer。如果为 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"
defaultSymbolEnabled Booleanoptional默认值:true在渲染器上启用
defaultSymbol
,并将其分配给没有值的要素。signal AbortSignaloptional允许可取消的请求。如果取消,则承诺将被拒绝,并返回一个名为
AbortError
的错误。另请参见 AbortController。返回类型 描述 Promise<AgeRendererResult> 解析为 AgeRendererResult 的实例。 示例const layer = new FeatureLayer({ url: "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/311_Service_Requests_from_2015_50k/FeatureServer/0" }); // visualization based age of incidents closed passed their due date // or the number of days an incident was overdue at the time of closure. const ageParams = { layer: layer, view: view, startTime: "Due_Date", endTime: "Closed_Date", unit: "days" }; // when the promise resolves, apply the renderer to the layer sizeRendererCreator.createAgeRenderer(ageParams) .then(function(response){ layer.renderer = response.renderer; });
const layer = new CSVLayer({ url: "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_week.csv", copyright: "USGS Earthquakes" }); // visualization based off current age of incident const ageParams = { layer: layer, view: view, startTime: "time", endTime: Date.now(), legendOptions: { title: "Time since earthquake struck" } }; // when the promise resolves, apply the renderer to the layer sizeRendererCreator.createAgeRenderer(ageParams) .then(function(response){ layer.renderer = response.renderer; });
-
createClassBreaksRenderer(params){Promise<ClassBreaksRendererResult>}起始版本:GeoScene Maps SDK for JavaScript 4.6
-
生成一个 ClassBreaksRenderer,可直接将其应用于用于调用此方法的图层。生成的渲染器可根据给定
field
值定义每个要素的符号大小。默认大小方案是根据视图的背景确定的。基于classificationMethod
,根据数据的统计信息生成分类间隔 (或数据范围)。根据field
值所在的分类间隔,为每个要素指定一个大小。在大多数情况下,您将提供
layer
、view
、field
和classificationMethod
来生成此渲染器。在这种情况下,数据的统计信息不是众所周知的,并且用户不知道要在可视化中使用的大小。您还可以使用valueExpression
而不是field
,根据从运行时执行的脚本返回的值来可视化要素。为方便自定义更复杂的可视化创作应用程序,还提供了其他选项。
参数规范params Object输入参数,用于根据从给定字段或表达式返回的数据生成分类大小可视化效果。各参数的详细信息见下表。
规范为其生成可视化效果的图层。
view Viewoptional渲染输入图层的视图。此方法可检查视图的背景 (即底图、web 地图背景或视图容器),以确定输出渲染器的最佳颜色。在实践中应始终设置此参数,但如果未提供,此方法将假定生成的渲染器显示在浅色背景上。使用
valueExpression
创建渲染器或用于在 SceneView 中显示的渲染器时,此参数是必需的。field Stringoptional将查询其数据以进行统计和分类的字段名称。如果使用
valueExpression
,则忽略此属性。normalizationField Stringoptional用于规范化给定
field
值的字段名称。提供规范化字段有助于最大限度地减少一些可视化错误并标准化数据,因此,由于面积的差异或计数变化,所有要素都以最小的偏差可视化。此选项通常在可视化密度时使用。normalizationType Stringoptional指示如何对数据进行归一化。在与分类间隔进行比较之前,从
field
中获取的数据值将通过以下方式之一进行规范化。有关可能值列表,请参见下表。可能值 描述 field 将 field
值除以normalizationField
的值。如果提供了normalizationField
,则默认设置此值。log 计算数据值的以 10 为底数的对数。对于某些数据分布,这可能是一种有用的方法,因为它可减少非常大的数据值的影响。 percent-of-total 将数据值除以所有数据值的总和,然后乘以 100。使用 normalizationTotal
来定义标准化的总值。如果提供了normalizationTotal
,则默认设置此值。除了
log
归一化外,数据归一化通过除以两个值来创建一个比率。在比较要素之间的属性值时,归一化可将不同地图区域和观测数量的影响降至最低。例如,将 18 到 30 岁的人口除以面要素的面积,可以得到一个密度值,该值可以在被忽略其面积大小情况下,与其他要素进行均匀比较。可能值:"field"|"log"|"percent-of-total"
normalizationTotal Numberoptional当
normalizationType
为percent-of-total
时,此属性包含所有数据值的总计。classificationMethod Stringoptional默认值: equal-interval用于生成分类间隔的分类方法。有关可能值列表,请参见下表。
可能值 描述 equal-interval 将属性值的范围划分为大小相等的子范围。例如,如果为值范围为 0 到 300 的字段指定三个类,则此方法将创建三个范围分别为 0–100、101–200 和 201–300 的类。相等间隔最适合应用于熟悉的数据范围,例如百分比和温度。此方法强调属性值相对于其他值的数量。例如,它可以显示商店是否是构成所有销售额前三分之一的商店组的一部分。 natural-breaks 对相似值进行分组,以最大化类之间的差异。要素被划分为多个类,其边界设置在数据值存在较大差异的地方。自然间断是特定于数据的分类,对于比较根据不同基础信息构建的多个地图没有用处。 quantile 为每个类分配相同数量的数据值。这非常适合线性分布的数据。由于要素在每个类中以相等的数量进行分组,因此生成的地图通常具有误导性。相似要素可以放置在相邻的类中,或者具有截然不同值的要素可以放在同一个类中。您可以通过增加类的数量来最大程度地减少这种失真。 standard-deviation 创建具有等值范围的分类间隔,这些范围是标准差的一部分。这通常以与平均值相差一、二分之一、三分之一或四分之一的标准偏差的间隔来完成。 可能值:"equal-interval"|"natural-breaks"|"quantile"|"standard-deviation"
standardDeviationInterval Numberoptional默认值:1如果使用
standard-deviation
分类方法,则表示生成分类间隔的时间间隔。可能值:1 | 0.5 | 0.33 | 0.25
numClasses Numberoptional默认值:5生成的分类间隔数。如果指定了
standard-deviation
分类方法,则将忽略这一点。sizeScheme SizeSchemeoptional在制作应用程序中,用户可以选择预定义的大小方案。将方案对象传递到此属性,以避免基于视图的背景获取方案对象。
valueExpression Stringoptional遵循 Arcade 可视化配置文件定义的规范的 Arcade 表达式 表达式。表达式可以使用
$feature
配置变量来引用字段值,并且必须返回一个数字。此属性覆盖field
属性,因此用于代替输入field
值。valueExpressionTitle Stringoptional描述从
valueExpression
返回的值的文本。这由 Legend 微件使用。sqlExpression Stringoptional一个 SQL 表达式,其计算结果为数字。
sqlWhere StringoptionalSQL where 子句,用于过滤统计查询的要素。例如,当您希望避免除以 0 的情况时 (像创建优势可视化的情况那样),这很有用。
outlineOptimizationEnabled Booleanoptional默认值: false仅适用于面图层。指示多边形轮廓宽度是否应根据视图比例而变化。设置后,必须在
view
参数中提供有效的 MapView 实例。3D SceneViews 不支持此选项。legendOptions Objectoptional提供用于设置标题以描述字段而不是使用字段名称的选项。此标题将表示 Legend 中的字段。
规范title Stringoptional用于表示 Legend 中的给定字段或表达式的标题。
minValue Numberoptional用户设置的最小值。将此参数与
maxValue
结合使用以在下限和上限之间生成分类中断。这将是最低分类间隔的下限。maxValue Numberoptional用户设置的最大值。将此参数与
minValue
结合使用以在下限和上限之间生成分类中断。这将是最高分类间隔的上限。defaultSymbolEnabled Booleanoptional默认值:true在渲染器上启用
defaultSymbol
,并将其分配给没有值的要素以及位于配置数据范围之外的要素。symbolType Stringoptional默认值:2d要生成的符号类型。这取决于您正在使用的视图和所需的可视化效果。下面描述了可能的值。
值 描述 2d 使用 2D 符号生成可视化,如 SimpleMarkerSymbol、SimpleLineSymbol 或 SimpleFillSymbol。如果为 MapView 中的数据生成可视化效果,请使用此选项。 3d-flat 使用具有平面符号图层的 3D 符号生成可视化,例如 IconSymbol3DLayer、LineSymbol3DLayer 或 FillSymbol3DLayer。如果为 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"
forBinning Booleanoptional指示生成的渲染器是否用于图格可视化。如果为
true
,则此方法中的输入字段应引用该图层的featureReduction
属性中定义的聚合字段。signal AbortSignaloptional允许可取消的请求。如果取消,则承诺将被拒绝,并返回一个名为
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; });
-
createContinuousRenderer(params){Promise<ContinuousRendererResult>}
-
生成一个渲染器,可直接将其应用于用于调用此方法的图层。渲染器包含一个连续的大小视觉变量,该变量根据指示字段或表达式中查询的统计信息将标记大小映射到特定的停止值。
在大多数情况下,您将提供
layer
、view
和field
来生成此渲染器。在这种情况下,数据的统计信息不是众所周知的,并且用户不知道要在可视化中使用的大小。您还可以使用valueExpression
而不是field
,根据从运行时执行的脚本返回的值来可视化要素。为方便自定义更复杂的可视化创作应用程序,还提供了其他选项。例如,如果已在另一操作中生成了统计信息,则可将统计对象传递给
statistics
参数,以避免对服务器进行额外的调用。参数规范params Object输入参数,用于根据从给定字段或表达式返回的数据生成大小视觉变量。各参数的详细信息见下表。
规范为其生成渲染器的图层。
view Viewoptional渲染输入图层的视图。此方法可检查视图的背景 (即底图、web 地图背景或视图容器),以确定输出渲染器的最佳颜色。在实践中应始终设置此参数,但如果未提供,此方法将假定生成的渲染器显示在浅色背景上。使用
valueExpression
创建渲染器或用于在 SceneView 中显示的渲染器时,此参数是必需的。field Stringoptional将查询其数据以进行统计并用作数据驱动可视化的基础的字段名称。如果使用
valueExpression
,则忽略此属性。normalizationField Stringoptional用于规范化给定
field
值的字段名称。提供规范化字段有助于最大限度地减少一些可视化错误并标准化数据,因此,由于面积的差异或计数变化,所有要素都以最小的偏差可视化。此选项通常在可视化密度时使用。sizeScheme SizeSchemeoptional在制作应用程序中,用户可以选择预定义的大小方案。将方案对象传递到此属性,以避免基于视图的背景获取方案对象。
valueExpression Stringoptional遵循 Arcade 可视化配置文件定义的规范的 Arcade 表达式 表达式。表达式可以使用
$feature
配置变量来引用字段值,并且必须返回一个数字。此属性覆盖field
属性,因此用于代替输入field
值。valueExpressionTitle Stringoptional描述从
valueExpression
返回的值的文本。这由 Legend 微件使用。theme Stringoptional默认值:high-to-low基于有意义的数据值,设置大小停止点。
值 描述 high-to-low 为最大数据值分配最大大小。为最小数据值分配最小大小。对所有其他值进行插值。 above 为最大数据值分配最大大小。为平均数据值分配最小大小。对最大数据值和平均值之间的所有其他值进行插值。这对于绘制变量随时间而增加的情况非常有用,例如人口的增加或两个日期之间的失业率。 below 为最小数据值分配最大大小。为平均数据值分配最小大小。对最小数据值和平均值之间的所有其他值进行插值。这对于绘制变量随时间而下降的情况非常有用,例如人口的减少或两个日期之间的失业率。 可能值:"high-to-low"|"above"|"below"
sqlExpression Stringoptional一个 SQL 表达式,其计算结果为数字。
sqlWhere StringoptionalSQL where 子句,用于过滤统计查询的要素。例如,当您希望避免除以 0 的情况时 (像创建优势可视化的情况那样),这很有用。
outlineOptimizationEnabled Booleanoptional默认值: false仅适用于面图层。指示多边形轮廓宽度是否应根据视图比例而变化。设置后,必须在
view
参数中提供有效的 MapView 实例。3D SceneViews 不支持此选项。sizeOptimizationEnabled Booleanoptional默认值: false指示符号大小是否应根据视图比例而变化。设置后,必须在
view
参数中提供有效的 MapView 实例。3D SceneViews 不支持此选项。legendOptions Objectoptional提供选项,用于在提供表达式而不是字段名称时设置字段的标题。此标题将表示 Legend 中的字段。
规范title Stringoptional用于表示 Legend 中的给定字段或表达式的标题。
showLegend Booleanoptional指示是否在图例中描述渲染器。
statistics SummaryStatisticsResultoptional从 summaryStatistics 函数生成的统计信息对象。如果已生成了字段的统计信息,则在此处传递对象以避免向服务器进行第二次统计信息查询。
minValue Numberoptional用户设置的自定义最小值。将此参数与
maxValue
结合使用可在下限和上限之间生成统计信息。这将是返回的大小视觉变量中的最低停止点。maxValue Numberoptional用户设置的自定义最大值。将此参数与
minValue
结合使用可在下限和上限之间生成统计信息。这将是返回的大小视觉变量中的最高停止点。defaultSymbolEnabled Booleanoptional默认值:true在渲染器上启用
defaultSymbol
,并将其分配给没有值的要素以及位于配置数据范围之外的要素。symbolType Stringoptional默认值:2d要生成的符号类型。这取决于您正在使用的视图和所需的可视化效果。下面描述了可能的值。
值 描述 2d 使用 2D 符号生成可视化,如 SimpleMarkerSymbol、SimpleLineSymbol 或 SimpleFillSymbol。如果为 MapView 中的数据生成可视化效果,请使用此选项。 3d-flat 使用具有平面符号图层的 3D 符号生成可视化,例如 IconSymbol3DLayer、LineSymbol3DLayer 或 FillSymbol3DLayer。如果为 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"
forBinning Booleanoptional指示生成的渲染器是否用于图格可视化。如果为
true
,则此方法中的输入字段应引用该图层的featureReduction
属性中定义的聚合字段。signal AbortSignaloptional允许可取消的请求。如果取消,则承诺将被拒绝,并返回一个名为
AbortError
的错误。另请参见 AbortController。返回类型 描述 Promise<ContinuousRendererResult> 解析为 ContinuousRendererResult 的实例。 示例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" }; // when the promise resolves, apply the renderer to the layer sizeRendererCreator.createContinuousRenderer(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, valueExpression: "($feature.POP_POVERTY / $feature.TOTPOP_CY) * 100", view: view, legendOptions: { title: "% of people living in poverty" }, theme: "above" }; // when the promise resolves, apply the renderer to the layer sizeRendererCreator.createContinuousRenderer(sizeParams) .then(function(response){ layer.renderer = response.renderer; });
-
createVisualVariables(params){Promise<VisualVariableResult>}
-
此方法生成一个具有默认停止点的大小视觉变量数组,这些停止点是根据指定字段或表达式查询的统计信息进行优化选择的,并映射到适当的大小。
有两种不同方式可以调用此方法。最常见的情况是提供
layer
、view
和field
。在这种情况下,数据的统计信息不是众所周知的,并且用户不知道要使用什么大小。您可选择性地使用valueExpression
而不是字段,根据从运行时执行的脚本返回的数值来可视化要素。为方便自定义更复杂的可视化创作应用程序,还提供了其他选项。例如,如果已在另一个操作中生成了统计信息,则可在
statistics
参数中传递对象,以避免对服务器进行额外的调用。如果您不想使用为您挑选的,也可以提供sizeScheme
。在这种情况下,将忽略theme
选项。生成的视觉变量数组将只包含一个大小视觉变量,除非
axis
参数设置为 "height"。参数规范params Object输入参数,用于根据从给定字段或表达式返回的数据生成大小视觉变量。各参数的详细信息见下表。
规范为其生成视觉变量的图层。
view Viewoptional渲染输入图层的视图。此方法可检查视图的背景 (即底图、web 地图背景或视图容器),以确定输出渲染器的最佳颜色。在实践中应始终设置此参数,但如果未提供,此方法将假定生成的渲染器显示在浅色背景上。使用
valueExpression
创建渲染器或用于在 SceneView 中显示的渲染器时,此参数是必需的。field String将查询其数据以进行统计并用作数据驱动可视化的基础的字段名称。如果使用
valueExpression
,则忽略此属性。normalizationField Stringoptional用于规范化给定
field
值的字段名称。提供规范化字段有助于最大限度地减少一些可视化错误并标准化数据,因此,由于面积的差异或计数变化,所有要素都以最小的偏差可视化。此选项通常在可视化密度时使用。sizeScheme SizeSchemeoptional在制作应用程序中,用户可以选择预定义的大小方案。将方案对象传递到此属性,以避免基于视图的背景获取方案对象。
valueExpression Stringoptional遵循 Arcade 可视化配置文件定义的规范的 Arcade 表达式 表达式。表达式可以使用
$feature
配置变量来引用字段值,并且必须返回一个数字。此属性覆盖field
属性,因此用于代替输入field
值。valueExpressionTitle Stringoptional描述从
valueExpression
返回的值的文本。这由 Legend 微件使用。theme Stringoptional默认值:high-to-low基于有意义的数据值,设置大小停止点。
值 描述 high-to-low 为最大数据值分配最大大小。为最小数据值分配最小大小。对所有其他值进行插值。 above 为最大数据值分配最大大小。为平均数据值分配最小大小。对最大数据值和平均值之间的所有其他值进行插值。这对于绘制变量随时间而增加的情况非常有用,例如人口的增加或两个日期之间的失业率。 below 为最小数据值分配最大大小。为平均数据值分配最小大小。对最小数据值和平均值之间的所有其他值进行插值。这对于绘制变量随时间而下降的情况非常有用,例如人口的减少或两个日期之间的失业率。 可能值:"high-to-low"|"above"|"below"
sqlExpression Stringoptional一个 SQL 表达式,其计算结果为数字。
sqlWhere StringoptionalSQL where 子句,用于过滤统计查询的要素。例如,当您希望避免除以 0 的情况时 (像创建优势可视化的情况那样),这很有用。
sizeOptimizationEnabled Booleanoptional默认值: false指示符号大小是否应根据视图比例而变化。设置后,必须在
view
参数中提供有效的 MapView 实例。3D SceneViews 不支持此选项。legendOptions Objectoptional提供选项,用于在提供表达式而不是字段名称时设置字段的标题。此标题将表示 Legend 中的字段。
规范title Stringoptional用于表示 Legend 中的给定字段或表达式的标题。
showLegend Booleanoptional指示是否在图例中描述渲染器。
statistics SummaryStatisticsResultoptional从 summaryStatistics 函数生成的统计信息对象。如果已生成了字段的统计信息,则在此处传递对象以避免向服务器进行第二次统计信息查询。
minValue Numberoptional用户设置的自定义最小值。将此参数与
maxValue
结合使用可在下限和上限之间生成统计信息。这将是返回的大小视觉变量中的最低停止点。maxValue Numberoptional用户设置的自定义最大值。将此参数与
minValue
结合使用可在下限和上限之间生成统计信息。这将是返回的大小视觉变量中的最高停止点。worldScale Booleanoptional表示符号的尺寸单位是否以米为单位。这在使用 3D 体积符号系统生成可视化时应该为
true
。axis Stringoptional默认值: all当设置为
all
时,将生成一个在所有维度上进行统一缩放的单个大小变量。当设置为height
时,结果将包含两个大小视觉变量:第一个根据字段统计设置高度,而第二个定义一个恒定大小宽度和深度。可能值:"all"|"height"
forBinning Booleanoptional指示生成的渲染器是否用于图格可视化。如果为
true
,则此方法中的输入字段应引用该图层的featureReduction
属性中定义的聚合字段。signal AbortSignaloptional允许可取消的请求。如果取消,则承诺将被拒绝,并返回一个名为
AbortError
的错误。另请参见 AbortController。返回类型 描述 Promise<VisualVariableResult> 解析为 VisualVariableResult 的实例。 示例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", theme: "below" }; // when the promise resolves, apply the visual variables to the renderer sizeRendererCreator.createVisualVariables(sizeParams) .then(function(response){ const renderer = layer.renderer.clone(); renderer.visualVariables = response.visualVariables; layer.renderer = 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, valueExpression: "($feature.POP_POVERTY / $feature.TOTPOP_CY) * 100", view: view, legendOptions: { title: "% of people living in poverty" } }; // when the promise resolves, apply the visual variables to the renderer sizeRendererCreator.createVisualVariables(sizeParams) .then(function(response){ const renderer = layer.renderer.clone(); renderer.visualVariables = response.visualVariables; layer.renderer = renderer; });
类型定义
-
AgeRendererResult起始版本:GeoScene Maps SDK for JavaScript 4.9
-
createAgeRenderer() 方法的结果对象。各属性的详细信息见下表。
- 属性
-
renderer ClassBreaksRenderer
配置为最佳匹配视图背景和数据分布的渲染器对象。在图层的
renderer
属性上对它进行设置以更新其可视化效果。visualVariables SizeVariable[]根据数据的统计信息和大小方案配置的大小视觉变量。
unit String用于在输出
renderer
中表示年龄的时间单位。sizeScheme SizeScheme视觉变量使用的大小方案。
defaultValuesUsed Boolean表示在图层中没有足够的数据和/或统计数据时是否使用默认值。当所有要素都具有相同的字段值或根本没有值时,通常使用默认值。
statistics SummaryStatisticsResult从生成的表达式的查询返回的基本统计信息。
basemapId String用于确定要素的最佳填充颜色的底图的 ID。
basemapTheme String表示输入视图底图的平均颜色是
light
还是dark
。
-
ClassBreaksRendererResult起始版本:GeoScene Maps SDK for JavaScript 4.6
-
createClassBreaksRenderer() 方法的结果对象。各属性的详细信息见下表。
- 属性
-
renderer ClassBreaksRenderer
配置为最佳匹配视图背景和数据分布的渲染器对象。在图层的
renderer
属性上对它进行设置以更新其可视化效果。classBreaksResult ClassBreaksResult此对象描述了使用指定分类方法从给定字段的图层数据生成的分类间隔。
sizeScheme SizeScheme视觉变量使用的大小方案。
defaultValuesUsed Boolean表示在图层中没有足够的数据和/或统计数据时是否使用默认值。当所有要素都具有相同的字段值或根本没有值时,通常使用默认值。
basemapId String用于确定要素的最佳填充颜色的底图的 ID。
basemapTheme String表示输入视图底图的平均颜色是
light
还是dark
。
-
ContinuousRendererResult
-
createContinuousRenderer() 方法的结果对象。各属性的详细信息见下表。
- 属性
-
renderer ClassBreaksRenderer
配置为最匹配视图背景和数据展开的渲染器对象。在图层的
renderer
属性上对它进行设置以更新其可视化效果。visualVariables SizeVariable[]基于数据的统计信息配置的大小视觉变量。
sizeScheme SizeScheme视觉变量使用的大小方案。
defaultValuesUsed Boolean表示在图层中没有足够的数据和/或统计数据时是否使用默认值。当所有要素都具有相同的字段值或根本没有值时,通常使用默认值。
statistics SummaryStatisticsResult从查询返回给服务的基本统计信息,用于给定字段名称或表达式中的数据。
basemapId String用于确定要素的最佳填充颜色的底图的 ID。
basemapTheme String表示输入视图底图的平均颜色是
light
还是dark
。
-
VisualVariableResult
-
createVisualVariables() 方法的结果对象。各属性的详细信息见下表。
- 属性
-
visualVariables SizeVariable[]
基于数据的统计信息和视图比例配置的大小视觉变量数组。
sizeScheme SizeScheme主视觉变量使用的大小方案。
defaultValuesUsed Boolean表示在图层中没有足够的数据和/或统计数据时是否使用默认值。当所有要素都具有相同的字段值或根本没有值时,通常使用默认值。
statistics SummaryStatisticsResult从对服务的查询中返回给定字段或表达式的基本统计信息。
basemapId String用于确定要素的最佳填充颜色的底图的 ID。
basemapTheme String表示输入视图底图的平均颜色是
light
还是dark
。authoringInfo AuthoringInfo与创建视觉变量相关的创作信息。这包括与来自滑块和所选主题的 UI 输入相关的信息。