当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript ArcGIS color.createContinuousRenderer用法及代码示例


基本信息

以下是所在类或对象的基本信息。

AMD: require(["esri/smartMapping/renderers/color"], (colorRendererCreator) => { /* code goes here */ });

ESM: import * as colorRendererCreator from "@arcgis/core/smartMapping/renderers/color";

对象: esri/smartMapping/renderers/color

自从:用于 JavaScript 4.2 的 ArcGIS API

用法说明

color.createContinuousRenderer函数(或属性)的定义如下:

createContinuousRenderer (params) {Promise<ContinuousRendererResult>}


生成一个Renderer,可以直接应用于用于调用此方法的层。渲染器包含一个连续的颜色视觉变量,它将基于视图背景的最佳颜色映射到基于来自指定字段或表达式的查询统计信息的特定停止值。

在大多数情况下,您将提供 layerviewfieldtheme 来生成此渲染器。这是一种数据统计不为人知且用户不知道在可视化中使用什么颜色的场景。您还可以使用 valueExpression 而不是 field 根据在运行时执行的脚本返回的值来可视化特征。

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

参数:

规格:
类型说明
params Object

用于根据从给定字段或表达式返回的数据生成连续颜色可视化的输入参数。有关每个参数的详细信息,请参见下表。

规格:

为其生成可视化的图层。

view

View

可选的

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

field

String

可选的

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

normalizationField

String

可选的

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

theme

String

可选的
默认值:high-to-low

确定将在连续渐变和Map中强调哪些值。下面列出了可能的值。

说明 示例
high-to-low 用强烈的颜色强调高值。高于平均值一个标准偏差的数据值被指定为最强的颜色。低于平均值一个标准偏差的数据值被指定为最弱的颜色。所有其他值都被插值。 high-to-low
above 用强烈的颜色强调高值。最大数据值被分配最强的颜色。中间或平均数据值被分配最弱的颜色。所有其他值都被插值。 above
below 用强烈的颜色强调低值。最小数据值被分配最强的颜色。中间或平均数据值被分配最弱的颜色。所有其他值都被插值。 below
above-and-below 以有意义的数据值(例如平均值)为中心的值用弱颜色显示,而其他值用强颜色强调。所有其他值都被插值。 above-and-below
centered-on 以有意义的数据值(例如平均值)为中心的值用强烈的颜色强调,而其他值用弱的颜色显示。所有其他值都被插值。 centered-on
extremes 用强烈的颜色强调高值和低值。所有其他人都用弱颜色可视化。所有其他值都被插值。 extremes

可能的值"high-to-low"|"above"|"below"|"above-and-below"|"centered-on"|"extremes"

colorScheme

ColorScheme

可选的

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

valueExpression

String

可选的

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

valueExpressionTitle

String

可选的

说明从 valueExpression 返回的值的文本。这是由Legend 小部件使用的。

sqlExpression

String

可选的

计算为数字的 SQL 表达式。

sqlWhere

String

可选的

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

outlineOptimizationEnabled

Boolean

可选的
默认值:错误的

仅适用于多边形图层。指示多边形轮廓宽度是否应根据视图比例而变化。设置后,必须在 view 参数中提供有效的 MapView 实例。 3D SceneViews 不支持此选项。

sizeOptimizationEnabled

Boolean

可选的
默认值:错误的

仅适用于点和折线图层。指示符号大小是否应根据视图比例而变化。设置后,必须在 view 参数中提供有效的 MapView 实例。 3D SceneViews 不支持此选项。

legendOptions

Object

可选的

当提供表达式而不是字段名称时,提供用于为字段设置标题的选项。此标题将表示 Legend 中的字段。

规格:
title

String

可选的

用于表示 Legend 中给定字段或表达式的标题。

showLegend

Boolean

可选的

指示是否在图例中说明渲染器。

可选的

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

minValue

Number

可选的

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

maxValue

Number

可选的

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

defaultSymbolEnabled

Boolean

可选的
默认值:真的

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

symbolType

String

可选的
默认值:二维

要生成的符号类型。这取决于您正在使用的视图和所需的可视化。不需要为具有mesh 几何类型的图层指定此参数。可能的值如下所述。

说明
2d 使用 2D 符号(例如 SimpleMarkerSymbolSimpleLineSymbolSimpleFillSymbol )生成可视化。如果为 MapView 中的数据生成可视化,请使用此选项。
3d-flat 使用具有平面符号图层(例如 IconSymbol3DLayerLineSymbol3DLayerFillSymbol3DLayer )的 3D 符号生成可视化。如果为 SceneView 中的数据生成 2D 可视化,请使用此选项。
3d-volumetric 使用具有体积符号图层的 3D 符号生成可视化,例如 ObjectSymbol3DLayerPathSymbol3DLayerExtrudeSymbol3DLayer 。如果为 SceneView 中的数据生成 3D 可视化,请使用此选项。如果使用此选项,则必须向 view 参数提供 SceneView 实例。
3d-volumetric-uniform 使用具有体积符号图层的统一大小的 3D 符号生成可视化。如果为 SceneView 中的数据生成 3D 可视化,并且符号的大小应一致,例如球体,请使用此选项。如果使用此选项,则必须向 view 参数提供 SceneView 实例。

可能的值"2d"|"3d-flat"|"3d-volumetric"|"3d-volumetric-uniform"

colorMixMode

String

可选的
默认值:代替

此选项仅适用于生成网格 SceneLayers 的渲染器.指定符号颜色如何应用于几何颜色/纹理。请参阅中的文档FillSymbol3DLayer.material了解更多上下文。有关可能的值,请参见下表。

说明
tint 将符号color 应用于不饱和几何/纹理颜色。
replace 移除几何/纹理颜色并应用符号 color
multiply 将几何/纹理颜色值与符号 color 值相乘。结果是颜色较深。与白色相乘可保持几何颜色相同。
signal

AbortSignal

可选的

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

返回:

类型 说明
Promise<ContinuousRendererResult> 解析为 ContinuousRendererResult 的实例。

例子:

let layer = new FeatureLayer({
  url: "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/counties_politics_poverty/FeatureServer/0"
});

// visualization based on field and normalization field
let colorParams = {
  layer: layer,
  view: view,
  field: "POP_POVERTY",
  normalizationField: "TOTPOP_CY",
  theme: "above-and-below"
};

// when the promise resolves, apply the renderer to the layer
colorRendererCreator.createContinuousRenderer(colorParams)
  .then(function(response){
    layer.renderer = response.renderer;
  });
let layer = new FeatureLayer({
  url: "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/counties_politics_poverty/FeatureServer/0"
});

// visualization based off Arcade expression
let colorParams = {
  layer: layer,
  valueExpression: "($feature.POP_POVERTY / $feature.TOTPOP_CY) * 100",
  view: view,
  sqlWhere: "TOTPOP_CY > 0",
  legendOptions: {
    title: "% of people living in poverty"
  }
};

// when the promise resolves, apply the renderer to the layer
colorRendererCreator.createContinuousRenderer(colorParams)
  .then(function(response){
    layer.renderer = response.renderer;
  });

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 color.createContinuousRenderer。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。