univariateColorSize

AMD: require(["geoscene/smartMapping/renderers/univariateColorSize"], (colorAndSizeRendererCreator) => { /* 代码 */ });
ESM: import * as colorAndSizeRendererCreator from "@geoscene/core/smartMapping/renderers/univariateColorSize";
Object: geoscene/smartMapping/renderers/univariateColorSize
起始版本: GeoScene API for JavaScript 4.22

此对象包含用于生成数据驱动的单变量可视化的帮助器方法,这些方法使用基于 Layer 中要素的单个字段值或表达式的连续颜色和连续大小。createContinuousRenderer() 方法生成一个 Renderer 对象,该对象可直接应用于受支持的图层。此渲染器包含连续的颜色和大小渐变,其最佳颜色基于视图的背景,并根据指示字段或表达式的统计数据映射到特定的中断值。

或者,您可以使用 createVisualVariable() 方法生成颜色和大小可视变量,其中包含默认停靠点和颜色,这些颜色是根据指示字段的统计信息以最佳方式选择的。

由于主题大小在3D挤压中可能难以自行解释,因此添加表示相同数据的色带有助于有效地传达可视化的故事,以便观众更容易理解。

已知限制

  • 目前,只能为具有 point 几何类型的图层生成 3D 符号
  • 不支持具有mesh geometryType or SceneLayers 或未启用 supportsRenderersupportsLayerQuery 功能的 SceneLayers,除非将预定义的 statistics 对象与图层一起传递给方法的 statistics 参数。要检查 SceneLayer 的功能,请使用 getFieldInfoUsage() 方法。
  • 您不能使用 SQL 表达式为客户端 FeatureLayers 生成渲染器和可视变量 在 SceneView 中。

geoscene/renderers/smartMapping/... 从 4.16 移出

示例:

方法列表

属性 返回值类型 描述 Object
Promise<ContinuousRendererResult>更多信息

生成可直接应用于 Layer 的Renderer 。

更多信息univariateColorSize
Promise<VisualVariablesResult>更多信息

此方法基于相同的给定字段或表达式生成颜色和大小可视变量。

更多信息univariateColorSize

方法详细说明

createContinuousRenderer(params){Promise<ContinuousRendererResult>}

生成可直接应用于 Layer 的Renderer 。渲染器包含连续的颜色和大小可视变量,这些变量根据视图的背景映射具有最佳颜色和大小的符号,以根据指示字段或表达式的汇总统计数据停止值。

在大多数情况下,您将提供 layer, basemap, field, 和theme 来生成此渲染器。在这种情况下,数据的统计信息不是众所周知的,并且用户不知道要在可视化中使用什么颜色和大小。您还可以使用 valueExpression 而不是 field ,根据从运行时执行的脚本返回的值来可视化要素。

提供其他选项是为了方便更多涉及的自定义可视化创作应用程序。例如,如果已在另一个操作中生成了统计信息,则可以将统计信息对象传递给参数 statistics ,以避免对服务器进行额外的调用。

参数:
规范:
params Object

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

规范:

为其生成可视变量的图层。

view View
optional

渲染输入图层的视图。此方法检查视图的背景(即底图、web 地图背景或视图容器),以确定输出渲染器的最佳颜色。在实践中应始终设置此参数,但如果未提供,则此方法将假定生成的渲染器将显示在浅色背景上。使用 valueExpression 用于在 SceneView 中显示的渲染器或用于渲染器创建渲染器时,此参数是必需的。

field String
optional

将查询其数据以进行统计并用作数据驱动可视化的基础的字段的名称。如果使用 valueExpression,则忽略此属性。

normalizationField String
optional

用于规范化给定值的字段名称 field。 提供规范化字段有助于最大限度地减少一些可视化错误并标准化数据 因此,由于面积差异或计数变化,所有特征都以最小的偏差可视化。 这个选项是 可视化密度时常用。

valueExpression String
optional

Arcade 表达式如下 Arcade Visualization Profile 定义的规范。 表达式可以使用 $feature 全局变量引用字段值,并且必须返回 一个号码。 此属性覆盖 field 属性,因此用于代替输入 field 值。

valueExpressionTitle String
optional

描述从 valueExpression 返回的值的文本。 这由 Legend 微件使用。

theme String
optional
默认值: high-to-low

根据有意义的数据值设置大小停靠点和颜色。自版本 4.18 起。

描述
high-to-low 最大数据值被分配最大尺寸和颜色。 最小数据值被分配最小大小和颜色。 所有其他值都被插值。
above 最大数据值被分配最大尺寸和颜色。 平均数据值或零被分配最小大小和颜色。 对最大数据值和平均值之间的所有其他值进行插值。 这对于映射变量随时间的增加非常有用,例如人口增加或两个日期之间的失业率。
below 最小数据值被分配最大尺寸和颜色。 平均数据值或零被分配最小大小和颜色。 对最小数据值和平均值之间的所有其他值进行插值。 这对于绘制变量随时间的下降情况很有用,例如人口减少或两个日期之间的失业率。
above-and-below 为最小和最大数据值分配最大尺寸和颜色。 平均数据值或零被分配最小大小和颜色。 使用发散色带。 最小和最大数据值与平均值之间的所有其他值都被插值。 这对于映射值随时间和速率的变化非常有用。

可选值:"high-to-low"|"above"|"below"|"above-and-below"

sqlExpression String
optional

计算结果为数字的 SQL 表达式。

sqlWhere String
optional

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

sizeOptimizationEnabled Boolean
optional
默认值: false

表示是否 符号大小应根据视图比例而有所不同。 设置后,一个有效的 MapView 必须在 view 参数中提供实例。 3D 不支持此选项 SceneViews.

optional

summaryStatistics 函数生成的统计对象。 如果已经生成了字段的统计信息,则在此处传递对象以避免进行第二次统计 向服务器查询。

minValue Number
optional

用户设置的自定义最小值。 将此与 maxValue 结合使用以 生成上下限之间的统计信息。 这将是返回的视觉变量中的最低点。

maxValue Number
optional

用户设置的自定义最大值。 将此与 minValue 结合使用以 生成上下限之间的统计信息。 这将是返回的视觉变量中的最高点。

defaultSymbolEnabled Boolean
optional

在渲染器上启用 defaultSymbol 并将其分配给特征 没有不在配置数据范围内的值和特征。

colorOptions Object
optional

用于配置可视化颜色部分的选项。

规范:
colorScheme ColorScheme
optional

在创作应用中,用户可以选择预定义的配色方案。将方案对象传递到此属性,以避免基于 theme 和 basemap获取一个 。

isContinuous Boolean
optional
默认值: false

仅适用于 above-and-below 主题。 如果为 true则向渲染器添加具有发散色带的 ColorVariable。自版本 4.18 起。

sizeOptions Object
optional

用于配置可视化效果的大小部分的选项。

规范:
sizeScheme SizeScheme
optional

在创作应用程序时, 用户可以选择预定义的尺寸方案。 将方案对象传递给此属性以避免得到一个 基于视图的背景。

symbolOptions Object
optional

用于设置 above-and-below 主题的符号的选项。自版本 4.18 起。

参数:
规范:
symbolStyle String
optional

根据预定义的命名品种对对设置上方和下方的品种。

可选值:"caret"|"circle-caret"|"arrow"|"circle-arrow"|"plus-minus"|"circle-plus-minus"|"square"|"circle"|"triangle"|"happy-sad"|"thumb"

symbols Object
optional

允许您在 above-and-below主题中指定自定义符号。

规范:
above Symbol

用于 above-and-below可视化的上述部分的符号。

below Symbol

用于 above-and-below 可视化效果以下部分的符号。

legendOptions Object
optional

提供用于配置表示从此方法生成的呈现器的 Legend的选项。自版本 4.18 起。

规范:
title String
optional

用于表示 Legend 中使用此方法生成的呈现器的标题。

showLegend Boolean
optional

表示 Legend 微件是否应显示描述生成的渲染器的内容。

symbolType String
optional
默认值: 2d

要生成的符号类型。 这取决于视图中 您正在工作的位置和所需的可视化。 可能的值如下所述。

描述
2d 使用 2D 符号生成可视化,例如 SimpleMarkerSymbolSimpleLineSymbol , 或 SimpleFillSymbol。 如果为 MapView 中的数据生成可视化,请使用此选项。
3d-flat 使用具有平面符号层的 3D 符号生成可视化,例如 IconSymbol3DLayerLineSymbol3DLayer FillSymbol3DLayer。 如果为 SceneView 中的数据生成 2D 可视化,请使用此选项。
3d-volumetric 使用具有体积符号层的 3D 符号生成可视化,例如 ObjectSymbol3DLayerPathSymbol3DLayer ExtrudeSymbol3DLayer。 如果为 SceneView 中的数据生成 3D 可视化,并且只有符号的高度应该是可变的,例如圆柱体,请使用此选项。 如果使用此选项,则必须为 view 参数提供 SceneView 实例。
3d-volumetric-uniform 使用具有体积符号图层的统一大小的 3D 符号生成可视化。 如果为 SceneView 中的数据生成 3D 可视化,并且符号的大小应一致,例如球体,请使用此选项。 如果使用此选项,则必须为 view 参数提供 SceneView 实例。

可选值:"2d"|"3d-flat"|"3d-volumetric"|"3d-volumetric-uniform"

signal AbortSignal
optional

允许可取消的请求。 如果取消,promise 将被拒绝,并出现名为 AbortError 的错误。 另请参阅 AbortController

返回值:
类型 描述
Promise<ContinuousRendererResult> 解析为 ContinuousRendererResult 的实例。
示例代码:
const layer = new FeatureLayer({
  url: "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/counties_politics_poverty/FeatureServer/0"
});

// color/size univariate visualization based on field and normalization field
const params = {
  layer: layer,
  view: view,
  field: "POP_POVERTY",
  normalizationField: "TOTPOP_CY"
};

// when the promise resolves, apply the renderer to the layer
colorAndSizeRendererCreator.createContinuousRenderer(params)
  .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"
});

// above-and-below visualization based off Arcade expression
const params = {
  layer: layer,
  valueExpression: "(($feature.votes_2016 - $feature.votes_2012) / $feature.votes_2016) * 100",
  valueExpressionTitle: "Change in votes from 2012-2016",
  view: view,
  theme: "above-and-below",
  colorOptions: {
    isContinuous: false
  },
  symbolOptions: {
    symbolStyle: "arrow"
  }
};

// when the promise resolves, apply the renderer to the layer
colorAndSizeRendererCreator.createContinuousRenderer(params)
  .then(function(response){
    layer.renderer = response.renderer;
  });
createVisualVariables(params){Promise<VisualVariablesResult>}

此方法基于相同的给定字段或表达式生成颜色和大小可视变量。这些可视变量是使用默认停靠点生成的,这些停靠点是根据为指示的字段或表达式查询的统计数据以及基于视图背景的颜色而以最佳方式选择的。

有两种不同的调用此方法。最常见的情况是提供 layer, view, 和field. 。在这种情况下,数据的统计信息不是众所周知的,用户不知道要使用什么颜色。您可以选择使用  valueExpression 代替字段,根据从运行时执行的脚本返回的数值来可视化要素。

提供其他选项是为了方便更多涉及的自定义可视化创作应用程序。例如,如果已在另一个操作中生成了统计信息,则可以在 statistics 参数中传递对象以避免对服务器进行额外调用。如果您不想为您挑选一个,您还可以提供 colorScheme 和/或  sizeScheme 。在这种情况下, theme 选项将被忽略。

成的可视变量数组将包含一个颜色可视变量,以及一个或两个大小可视变量,具体取决于 sizeOptions.axis 参数的值。

参数:
规范:
params Object

输入参数,用于根据从给定字段或表达式返回的数据生成颜色和大小视觉变量。有关每个参数的详细信息,请参阅下表。

规范:

为其生成可视变量的图层。

view View
optional

渲染输入图层的视图。此方法检查视图的背景(即底图、web 地图背景或视图容器),以确定输出渲染器的最佳颜色。在实践中应始终设置此参数,但如果未提供,则此方法将假定生成的渲染器将显示在浅色背景上。使用 valueExpression 用于在 SceneView 中显示的渲染器或用于渲染器创建渲染器时,此参数是必需的。

field String
optional

将查询其数据以进行统计并用作数据驱动可视化的基础的字段的名称。如果使用 valueExpression ,则忽略此属性

normalizationField String
optional

用于规范化给定值的字段名称 字段。 提供规范化字段有助于最大限度地减少一些可视化错误并标准化数据 因此,由于面积差异或计数变化,所有特征都以最小的偏差可视化。 这个选项是 可视化密度时常用。

valueExpression String
optional

Arcade 表达式如下 Arcade Visualization Profile 定义的规范。 表达式可以使用 $feature 全局变量引用字段值,并且必须返回 一个号码。 此属性覆盖 field 属性,因此用于代替输入 field 值。

valueExpressionTitle String
optional

描述从 valueExpression 返回的值的文本。 这由 Legend 微件使用。

theme String
optional
默认值: high-to-low

根据有意义的数据值设置大小停靠点和颜色。

描述
high-to-low 最大数据值被分配最大尺寸和颜色。 最小数据值被分配最小大小和颜色。 所有其他值都被插值。
above 最大数据值被分配最大尺寸和颜色。 平均数据值或零被分配最小大小和颜色。 对最大数据值和平均值之间的所有其他值进行插值。 这对于映射变量随时间的增加非常有用,例如人口增加或两个日期之间的失业率。
below 最小数据值被分配最大尺寸和颜色。 平均数据值或零被分配最小大小和颜色。 对最小数据值和平均值之间的所有其他值进行插值。 这对于绘制变量随时间的下降情况很有用,例如人口减少或两个日期之间的失业率。
above-and-below 为最小和最大数据值分配最大尺寸和颜色。 平均数据值或零被分配最小大小和颜色。 使用发散色带。 最小和最大数据值与平均值之间的所有其他值都被插值。 这对于映射值随时间和速率的变化非常有用。

可选值:"high-to-low"|"above"|"below"|"above-and-below"

sqlExpression String
optional

计算为数字的 SQL 表达式。

sqlWhere String
optional

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

optional

summaryStatistics 函数生成的统计对象。 如果已经生成了字段的统计信息,则在此处传递对象以避免进行第二次统计 向服务器查询。

minValue Number
optional

用户设置的自定义最小值。 将此与 maxValue 结合使用以 生成上下限之间的统计信息。 这将是返回的视觉变量中的最低点。

maxValue Number
optional

用户设置的自定义最大值。 将此与 minValue 结合使用以 生成上下限之间的统计信息。 这将是返回的视觉变量中的最高点。

colorOptions Object
optional

用于配置可视化颜色部分的选项。

规范:
theme String
optional
默认值: high-to-low

确定将在连续斜坡和地图中强调哪些值。下面列出了可能的值。

描述 示例
high-to-low 用深色强调高值。 high-to-low
above-and-below 以给定点为中心的值(例如平均值)用浅色显示,而其他值用深色强调。 above-and-below
centered-on 以给定点为中心的值(例如平均值)用深色强调,而其他值用浅色显示。 centered-on
extremes 用浓烈的颜色强调高值和低值。 所有其他都用浅色显示。 extremes

可选值:"high-to-low"|"above-and-below"|"centered-on"|"extremes"

colorScheme ColorScheme
optional

在创作应用中,用户可以选择预定义的配色方案。将方案对象传递到此属性,以避免基于 theme 和 view获取一个 。

legendOptions Object
optional

提供在提供表达式时为字段设置标题的选项 而不是字段名称。 此标题将代表 Legend 中的字段。

规范:
title String

用于表示给定字段或表达式的标题 图例.

isContinuous Boolean
optional
默认值: true

仅适用于 above-and-below 主题.。如果为 true,则向渲染器添加具有发散色带的 ColorVariable

sizeOptions Object
optional

用于配置可视化大小部分的选项。

规范:
axis String
optional
默认值: all

当设置为 all 时,一个单一的大小变量,在所有范围内统一缩放 生成维度。 当设置为 height 时,结果包含两个尺寸视觉变量: 第一个根据字段统计设置高度,而第二个定义一个恒定大小 宽度和深度。

可选值:"all"|"height"

sizeScheme SizeScheme
optional

在创作应用程序时, 用户可以选择预定义的尺寸方案。 将方案对象传递给此属性以避免得到一个 基于视图的背景。

legendOptions Object
optional

提供在提供表达式时为字段设置标题的选项 而不是字段名称。 此标题将代表 Legend 中的字段。

规范:
title String

用于表示给定字段或表达式的标题 图例.

worldScale Boolean
optional

表示符号的大小单位是否以米为单位。这应该是 true 在使用 3D 体积符号系统生成可视化时。如果此属性设置为 true,则必须提供 view  。

signal AbortSignal
optional

允许可取消的请求。 如果取消,promise 将被拒绝,并出现名为 AbortError 的错误。 另请参阅 AbortController

返回值:
类型 描述
Promise<VisualVariablesResult> 解析为 VisualVariablesResult 的实例。
示例代码:
const layer = new FeatureLayer({
  url: "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/counties_politics_poverty/FeatureServer/0"
});

// color/size univariate visualization based on field and normalization field
const params = {
  layer: layer,
  view: view,
  field: "POP_POVERTY",
  normalizationField: "TOTPOP_CY",
  theme: "above"
};

// when the promise resolves, apply the visual variables to the renderer
colorAndSizeRendererCreator.createVisualVariables(params)
  .then(function(response){
    const renderer = layer.renderer.clone();
    renderer.visualVariables = [ response.color.visualVariable, ...response.size.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 an Arcade expression
const params = {
  layer: layer,
  view: view,
  valueExpression: "($feature.POP_POVERTY / $feature.TOTPOP_CY) * 100",
  sqlExpression: "( POP_POVERTY / TOTPOP_CY ) * 100"
};

// when the promise resolves, apply the visual variables to the renderer
colorAndSizeRendererCreator.createVisualVariables(params)
  .then(function(response){
    const renderer = layer.renderer.clone();
    renderer.visualVariables = [ response.color.visualVariable, ...response.size.visualVariables ];
    layer.renderer = renderer;
  });

类型定义

ContinuousRendererResult

createContinuousRenderer() 方法的结果对象。有关每个属性的详细信息,请参阅下表。

属性:

渲染器对象配置为最佳 匹配视图的背景和数据的分布。 在图层的 renderer 属性上将此设置为 更新其可视化。

color Object

包含视觉变量和方案信息的对象 可视化的颜色部分。

规范:
visualVariable ColorVariable

彩色视觉 基于数据统计和配色方案配置的变量。

colorScheme ColorScheme

视觉变量使用的配色方案。

size Object

包含视觉变量和方案信息的对象 可视化的大小部分。

规范:
visualVariables SizeVariable[]

视觉尺寸 基于数据统计和视图比例配置的变量。

sizeScheme SizeScheme

视觉变量使用的尺寸方案。

defaultValuesUsed Boolean

表示在缺少足够的数据和/或来自图层的统计信息时是否使用默认值。 当所有要素具有相同的字段值或根本没有值时,通常使用默认值。

从查询返回给给定字段或表达式的服务的基本统计信息。

basemapId String

用于确定要素最佳填充颜色的底图 ID。

basemapTheme String

表示输入视图底图的平均颜色是light还是dark

VisualVariablesResult

createVisualVariables() 方法的结果对象。 见表 下面是每个属性的详细信息。

属性:
color Object

包含视觉变量和方案信息的对象 可视化的颜色部分。

规范:
visualVariable ColorVariable

彩色视觉 基于数据统计和配色方案配置的变量。

colorScheme ColorScheme

视觉变量使用的配色方案。

size Object

包含视觉变量和方案信息的对象 可视化的大小部分。

规范:
visualVariables SizeVariable[]

视觉尺寸 基于数据统计和视图比例配置的变量。

sizeScheme SizeScheme

视觉变量使用的尺寸方案。

defaultValuesUsed Boolean

表示是否使用了默认值 该层缺乏足够的数据和/或统计数据。 默认值为 通常在所有特征具有相同字段值或根本没有值时使用。

从查询返回给给定字段或表达式的服务的基本统计信息。

basemapId String

用于确定要素最佳填充颜色的底图 ID。

basemapTheme String

表示输入视图底图的平均颜色是light还是dark

authoringInfo AuthoringInfo

创作与创建视觉变量相关的信息。这包括与来自滑块和所选主题的 UI 输入相关的信息。

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