color

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

此对象包含帮助程序方法,用于根据Layer中要素的字段值或表达式生成具有连续颜色或分类间隔的数据驱动可视化效果。此模块中的方法生成可直接应用于受支持图层的渲染器或可视变量对象。渲染器根据与视图背景兼容的数据值和颜色指定要素的可视化方式。

已知限制

  • SceneLayers 必须启用 supportsRenderer 和 supportsLayerQuery 功能,除非为 statistics方法的参数提供了预定义的 statistics 对象。 要检查 SceneLayer 的功能,请使用 getFieldInfoUsage() 方法。
  • 不能使用 SQL 表达式为 SceneView 中的客户端 FeatureLayers 生成渲染器和可视变量。

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

示例:

方法列表

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

生成基于一个或多个字段表示要素年龄的连续颜色 Renderer

更多信息color
Promise<ClassBreaksRendererResult>更多信息

生成一个 ClassBreaksRenderer ,该呈现器可以直接应用于用于调用此方法的层。

更多信息color
Promise<ContinuousRendererResult>更多信息

生成可直接应用于用于调用此方法的图层的 Renderer 。

更多信息color
Promise<PCContinuousRendererResult>更多信息

根据从 PointCloudStretchRenderer 的给定字段返回的统计信息,生成一个具有最适合视图背景的配色方案的 PointCloudLayer

更多信息color
Promise<PCTrueColorRendererResult>更多信息

基于 PointCloudRGBRenderer 给定的 RGB 字段生成 PointCloudLayer

更多信息color
Promise<VisualVariableResult>更多信息

此方法生成一个颜色视觉变量,其默认停靠点是根据指示的字段或表达式查询的统计信息以及由视图背景确定的颜色来作为最佳选择。

更多信息color

方法详细说明

createAgeRenderer(params){Promise<AgeRendererResult>}
起始版本: GeoScene API for JavaScript 4.22

基于一个或多个字段生成表示特征年龄的连续颜色 Renderer 。特征的年龄是根据给定的 startTimeendTime计算的,其中一个必须是 layer 输入中的日期字段。此方法生成 Arcade 表达式,并计算表达式输出的统计信息以实现此目的。生成的呈现器包含一个连续的颜色可视变量,该变量根据视图的背景将最佳颜色映射到基于表达式的结果统计信息的数据值。

您需要提供 layer, view, startTime, 和endTime 并生成此渲染器。 或者, 您可以为可视化效果设置一个 unit 和一个 theme 。提供其他选项是为了方便更多涉及的自定义可视化创作应用程序。 为方便涉及更多内容的自定义可视化创作应用程序,还提供了其他选项。例如,如果已在另一个操作中生成了统计信息,则可以将信息对象传递给 statistics 参数,以避免对服务器进行额外的调用。

参数:
规范:
params Object

输入参数,用于为从开始和/或结束日期字段返回的时间数据生成年龄的连续颜色可视化。有关每个参数的详细信息,请参阅下表。

规范:

为其生成可视化效果的图层。

view View

渲染输入图层的视图。此方法检查视图的背景(即底图、web 地图背景或视图容器),以确定输出渲染器的最佳颜色。

startTime Date|String|Number

字段的名称,或表示年龄计算中开始时间的日期值。如果指定了日期值,则endTime 参数必须引用图层中的 Date 字段。

endTime Date|String|Number

字段的名称,或表示年龄计算中结束时间的日期值。如果指定了日期值,则 startTime 参数必须引用图层中的 Date 字段。

unit String
optional

用于计算 endTimestartTime之间差值的时间单位。如果未指定单位,则根据数据的散布和分布确定建议的单位。

可选值:"years"|"months"|"days"|"hours"|"minutes"|"seconds"

maxValue Number
optional

设置可视化效果的最长期限。即使存在高于此值的数据,也只会计算 minValue 和maxValue 之间的值的统计信息。在版本 4.15 中添加。

minValue Number
optional

设置可视化效果的最短期限。即使存在低于此值的数据,也只会计算 minValue 和maxValue 之间的值的统计信息。在版本 4.15 中添加。

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

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

描述 示例
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"

outlineOptimizationEnabled Boolean
optional
默认值: false

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

sizeOptimizationEnabled Boolean
optional
默认值: false

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

legendOptions Object
optional

提供用于修改描述可视化效果的 Legend 属性的选项。

规范:
title String
optional

用于表示 Legend中年龄色带的标题。

showLegend Boolean
optional

指示是否在图例中包含年龄渲染器。

optional

 summaryStatistics 函数生成的统计信息对象。 createAgeRenderer() 方法生成 Arcade 表达式,并对图层执行表达式结果的统计查询。如果已生成表达式的统计信息,则在此处传递对象以避免进行第二次统计信息查询。

colorScheme ColorScheme
optional

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

symbolType String
optional
默认值: 2d

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

描述
2d 使用 2D 符号如 SimpleMarkerSymbol, SimpleLineSymbol, 或 SimpleFillSymbol生成可视化效果。 如果为 MapView 中的数据生成可视化效果,请使用此选项。
3d-flat 使用具有平面符号图层如IconSymbol3DLayer, LineSymbol3DLayer, 或 FillSymbol3DLayer 的3D符号生成可视化效果。如果为 SceneView 中的数据生成 2D 可视化效果,请使用此选项。
3d-volumetric 使用具有体积符号图层如 ObjectSymbol3DLayer, PathSymbol3DLayer, 或ExtrudeSymbol3DLayer 的3D 符号生成可视化效果。如果为 SceneView 中的数据生成 3D 可视化效果,请使用此选项。如果使用此选项,则必须向 view 参数提供 SceneView 实例。
3d-volumetric-uniform 使用具有体积符号图层的统一大小的 3D 符号生成可视化效果。如果为 SceneView 中的数据生成 3D 可视化效果,并且符号的大小应统一(例如球体),请使用此选项。如果使用此选项,则必须向 view 参数提供 SceneView 实例。

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

defaultSymbolEnabled Boolean
optional
默认值: true

在渲染器上启用 defaultSymbol ,并将其分配给没有值的要素。

colorMixMode String
optional
默认值: replace

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

描述
tint 将符号 color 应用于不饱和的几何/纹理颜色。
replace 删除几何图形/纹理颜色并应用符号 color
multiply 将几何/纹理颜色值与color 符号值相乘。结果是颜色变深。与白色相乘可使几何图形颜色保持不变。
signal AbortSignal
optional

允许可取消的请求。 如果取消,promise 将被拒绝,并出现名为 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",
  theme: "above-and-below"
};

// when the promise resolves, apply the renderer to the layer
colorRendererCreator.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
colorRendererCreator.createAgeRenderer(ageParams)
  .then(function(response){
    layer.renderer = response.renderer;
  });
createClassBreaksRenderer(params){Promise<ClassBreaksRendererResult>}
起始版本: GeoScene API for JavaScript 4.22

生成一个 ClassBreaksRenderer,该呈现器可以直接应用于用于调用此方法的层。 生成的渲染器根据给定值的 field 值定义每个要素的符号颜色。默认配色方案是根据视图的背景确定的。 根据  classificationMethod,分类间隔(或数据范围)是根据数据的统计信息生成的。每个要素都根据分类间隔分配颜色,其中的field 值落在其中。

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

提供其他选项是为了方便更多涉及的自定义可视化创作应用程序。

参数:
规范:
params Object

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

规范:

为其生成可视化效果的图层。

view View
optional

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

field String
optional

将查询其数据以进行统计和分类的字段的名称。如果使用 valueExpression,则忽略此属性。

normalizationField String
optional

用于规范化给定 field值的字段的名称。提供统一化字段有助于最大限度地减少一些可视化错误并标准化数据,以便由于面积差异或计数变化而以最小的偏差可视化所有要素。此选项通常用于可视化密度。

normalizationType String
optional

指示数据的规范化方式。在与分类间隔进行比较之前,从 field 中获取的数据值将通过以下方式之一进行规范化。有关可能值的列表,请参阅下表。

可选值 描述
field 将 normalizationField值除以 field 的值。如果提供了 normalizationField,则默认设置此值 。
log 计算数据值的以 10 为底数的对数。对于某些数据分布,这可能是一种有用的方法,因为它可以减少非常大的数据值的影响。
percent-of-total 将数据值除以所有数据值的总和,然后乘以 100。normalizationTotal 用于定义要通过它进行规范化的总值。如果提供了 normalizationTotal ,则默认设置此值。

log 规范化外, 数据规范化通过除以两个值来创建比率。比较要素之间的属性值时,统一化可最大限度地减少不同地图区域和观测值数量的影响。例如,将 18 到 30 岁的人口除以面要素的面积可生成可与其他要素平均比较的密度值,而不管其大小如何。

可选值:"field"|"log"|"percent-of-total"

normalizationTotal Number
optional

normalizationType 是 percent-of-total时,此属性包含所有数据值的总和。

classificationMethod String
optional
默认值: 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 Number
optional
默认值: 1

如果使用 standard-deviation 分类方法, 则表示生成分类间隔的时间间隔。

Possible Values: 1 | 0.5 | 0.33 | 0.25

numClasses Number
optional
默认值: 5

要生成的分类间隔数。如果指定了 standard-deviation 分类方法,则会忽略此值。

colorScheme ColorScheme
optional

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

valueExpression String
optional

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

valueExpressionTitle String
optional

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

sqlExpression String
optional

计算为数字的 SQL 表达式。

sqlWhere String
optional

用于筛选统计信息查询要素的 SQL where 子句。例如,这在您希望避免被零除的情况下非常有用,就像创建优势可视化一样。

outlineOptimizationEnabled Boolean
optional
默认值: false

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

legendOptions Object
optional

提供用于设置标题以描述字段而不是使用字段名称的选项。此标题将表示 Legend 中的字段。

规范:
title String
optional

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

minValue Number
optional

用户设置的最小值。结合 maxValue 使用此选项可在下限和上限之间生成分类间隔。这将是最低分类间隔的下限。

maxValue Number
optional

用户设置的最大值。结合 minValue 使用此选项可在下限和上限之间生成分类间隔。这将是最高等级突破的上限。

defaultSymbolEnabled Boolean
optional
默认值: true

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

symbolType String
optional
默认值: 2d

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

描述
2d 使用 2D 符号,如 SimpleMarkerSymbol, SimpleLineSymbol, 或SimpleFillSymbol生成可视化效果。 如果为 MapView 中的数据生成可视化效果,请使用此选项。
3d-flat 使用具有平面符号图层,如 IconSymbol3DLayer, LineSymbol3DLayer, 或FillSymbol3DLayer 的3D符号生成可视化效果。如果为 SceneView 中的数据生成 2D 可视化效果,请使用此选项。
3d-volumetric 使用具有体积符号图层,如 ObjectSymbol3DLayer, PathSymbol3DLayer, 或ExtrudeSymbol3DLayer 的3D 符号生成可视化效果。如果为 SceneView 中的数据生成 3D 可视化效果,请使用此选项。如果使用此选项,则必须向参数 view 提供 SceneView 实例。
3d-volumetric-uniform 使用具有体积符号图层的统一大小的 3D 符号生成可视化效果。如果为 SceneView 中的数据生成 3D 可视化效果,并且符号的大小应统一(例如球体),请使用此选项。如果使用此选项,则必须向参数 view 提供 SceneView 实例。

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

colorMixMode String
optional
默认值: replace

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

描述
tint 将符号 color 应用于不饱和的几何/纹理颜色。
replace 删除几何图形/纹理颜色并应用符号 color
multiply 将几何/纹理颜色值与符号 color 值相乘。结果是颜色变深。与白色相乘可使几何图形颜色保持不变。
signal AbortSignal
optional

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

返回值:
类型 描述
Promise<ClassBreaksRendererResult> 解析为 ClassBreaksRendererResult 的实例。
示例代码:
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",
  classificationMethod: "quantile",
  numClasses: 4
};

// when the promise resolves, apply the renderer to the layer
colorRendererCreator.createClassBreaksRenderer(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.createClassBreaksRenderer(colorParams)
  .then(function(response){
    layer.renderer = response.renderer;
  });
createContinuousRenderer(params){Promise<ContinuousRendererResult>}

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

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

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

参数:
规范:
params Object

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

规范:

为其生成可视化效果的图层。

view View
optional

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

field String
optional

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

normalizationField String
optional

用于规范化给定 field值的字段的名称。提供归一化字段有助于最大限度地减少一些可视化错误并标准化数据,以便由于面积差异或计数变化而以最小的偏差可视化所有要素。此选项通常用于可视化密度。

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

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

描述 示例
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
optional

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

valueExpression String
optional

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

valueExpressionTitle String
optional

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

sqlExpression String
optional

计算为数字的 SQL 表达式。

sqlWhere String
optional

用于筛选统计信息查询要素的 SQL where 子句。例如,这在您希望避免被零除的情况下非常有用,就像创建优势可视化一样。

outlineOptimizationEnabled Boolean
optional
默认值: false

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

sizeOptimizationEnabled Boolean
optional
默认值: false

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

legendOptions Object
optional

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

规范:
title String
optional

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

showLegend Boolean
optional

表示是否在图例中描述呈现器。

optional

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

minValue Number
optional

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

maxValue Number
optional

用户设置的自定义最大值。结合 minValue 使用此选项可在下限和上限之间生成统计信息。这将是返回的颜色视觉变量中最上面的停止点。

defaultSymbolEnabled Boolean
optional
默认值: true

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

symbolType String
optional
默认值: 2d

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

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

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

colorMixMode String
optional
默认值: replace

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

描述
tint 将符号 color 应用于不饱和的几何/纹理颜色。
replace 删除几何图形/纹理颜色并应用符号 color
multiply 将几何/纹理颜色值与符号 color 值相乘。结果是颜色变深。与白色相乘可使几何图形颜色保持不变。
signal AbortSignal
optional

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

返回值:
类型 描述
Promise<ContinuousRendererResult> 解析为 ClassBreaksRendererResult 的实例。
示例代码:
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;
  });
createPCContinuousRenderer(params){Promise<PCContinuousRendererResult>}
起始版本: GeoScene API for JavaScript 4.22

根据从 PointCloudLayer 的给定字段返回的统计信息,生成一个具有最适合视图背景的配色方案的 PointCloudStreenderer。只需一个图层实例、字段名称和底图 ID 即可。您可以选择设置点的大小和密度,以满足所需可视化的需要。

参数:
规范:
params Object

用于根据输入图层的给定字段生成渲染器的输入参数。有关每个参数的详细信息,请参阅下表。

规范:

为其生成可视化效果的图层。

field String

将查询其数据以进行统计并用作数据驱动可视化的基础的字段的名称。用于此呈现器类型的唯一字段名称是 elevationintensity

basemap String|Basemap
optional
默认值: gray

将与输出可视化效果配对的 GeoScene 底图的 named string 或底图对象。

size String
optional
默认值: 100%

以百分比表示的每个点的大小。此值将确定根据给定 density 的点缩放的点大小。当该值为 100%, 时,每个点的大小被设置,以使其最小化相邻点之间的间隙数。任何高于 100% 的值都将允许点与缩放到给定值的相邻点重叠。 低于 100% 的值缩放点尺寸更小,因此点之间容易存在更多间隙。

density Number
optional
默认值: 25

视图中每英寸的点数。

colorScheme ColorScheme
optional

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

optional

从 summaryStatistics 函数生成的统计信息对象。如果已生成字段的统计信息,则在此处传递 stats 对象以避免进行第二次统计信息

signal AbortSignal
optional

允许可取消的请求。如果取消,则承诺将被拒绝,并显示名为 AbortError。另请参见 AbortController。查询到服务器。

返回值:
类型 描述
Promise<PCContinuousRendererResult> 解析为包含要在输入图层上设置的渲染器的对象。有关更多详细信息,请参阅 PCContinuousRendererResult
示例代码:
let layer = new PointCloudLayer({
  url: "https://tiles.arcgis.com/tiles/V6ZHFr6zdgNZuVG0/arcgis/rest/services/BARNEGAT_BAY_LiDAR_UTM/SceneServer"
});

let params = {
  layer: layer,
  field: "INTENSITY",
  basemap: "geoscene-community"
};

// when the promise resolves, apply the renderer to the layer
colorRendererCreator.createPCContinuousRenderer(params)
  .then(function(response){
    layer.renderer = response.renderer;
  });
createPCTrueColorRenderer(params){Promise<PCTrueColorRendererResult>}
起始版本: GeoScene API for JavaScript 4.22

基于 RGB 给定  PointCloudLayer  生成的 PointCloudRGBRenderer。所需要的只是一个层实例。您可以选择设置点的大小和密度,以满足所需可视化的需要。方法简化了手动创建 PointCloudRGBRenderer 的体验

参数:
规范:
params Object

用于根据 RGB 输入图层的字段生成真彩色可视化的输入参数。有关每个参数的详细信息,请参阅下表。

规范:

为其生成可视化效果的图层。

size String
optional
默认值: 100%

以百分比表示的每个点的大小。此值将确定根据给定 density 的点缩放的点大小。当该值为 100%, 时,每个点的大小被设置,以使其最小化相邻点之间的间隙数。任何高于 100% 的值都将允许点与缩放到给定值的相邻点重叠。 低于 100% 的值缩放点尺寸更小,因此点之间容易存在更多间隙。

density Number
optional
默认值: 25

视图中每英寸的点数。

signal AbortSignal
optional

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

返回值:
类型 描述
Promise<PCTrueColorRendererResult> 解析为包含要在输入图层上设置的渲染器的对象。有关更多详细信息,请参阅 PCTrueColorRendererResult
示例代码:
let layer = new PointCloudLayer({
  url: "https://tiles.arcgis.com/tiles/V6ZHFr6zdgNZuVG0/arcgis/rest/services/BARNEGAT_BAY_LiDAR_UTM/SceneServer"
});

// generates an RGB renderer using default values for the given layer.
colorRendererCreator.createPCTrueColorRenderer({
  layer: layer
}).then(function(response){
  layer.renderer = response.renderer;
});
let layer = new PointCloudLayer({
  url: "https://tiles.arcgis.com/tiles/V6ZHFr6zdgNZuVG0/arcgis/rest/services/BARNEGAT_BAY_LiDAR_UTM/SceneServer"
});

// sets options for configuring size of points
let params = {
  layer: layer,
  density: 25,  // points per square inch
  size: "100%"  // minimizes gap between points
};

// when the promise resolves, apply the renderer to the layer
colorRendererCreator.createPCTrueColorRenderer(params)
  .then(function(response){
    layer.renderer = response.renderer;
  });
createVisualVariable(params){Promise<VisualVariableResult>}

此方法生成一个颜色视觉变量,其默认停靠点是根据为指示的字段或表达式查询的统计信息以及由视图背景确定的颜色来最佳选择的。

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

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

参数:
规范:
params Object

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

规范:

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

view View
optional

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

field String
optional

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

normalizationField String
optional

用于规范化给定 field值的字段的名称。提供归一化字段有助于最大限度地减少一些可视化错误并标准化数据,以便由于面积差异或计数变化而以最小的偏差可视化所有要素。此选项通常用于可视化密度。

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

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

描述 示例
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
optional

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

valueExpression String
optional

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

valueExpressionTitle String
optional

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

sqlExpression String
optional

计算为数字的 SQL 表达式。

sqlWhere String
optional

用于筛选统计信息查询要素的 SQL where 子句。例如,这在您希望避免被零除的情况下非常有用,就像创建优势可视化一样。

legendOptions Object
optional

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

规范:
title String
optional

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

showLegend Boolean
optional

指示是否在图例中描述呈现器。

optional

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

minValue Number
optional

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

maxValue Number
optional

用户设置的自定义最大值。结合 minValue 使用此选项可在下限和上限之间生成统计信息。这将是返回的颜色视觉变量中最上面的停止点。

worldScale Boolean
optional

指示符号的大小单位是否以米为单位。 这应该是 true 在使用 3D 体积符号系统生成可视化时,具有几何类型mesh 的图层除外。  如果此属性设置为 true,则必须提供 view  。

signal AbortSignal
optional

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

返回值:
类型 描述
Promise<VisualVariableResult> 解析为 VisualVariableResult 的实例。
示例代码:
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 visual variable to the renderer
colorRendererCreator.createVisualVariable(colorParams)
  .then(function(response){
    let renderer = layer.renderer.clone();
    renderer.visualVariables = [ response.visualVariable ];
    layer.renderer = 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,
  view: view,
  valueExpression: "($feature.POP_POVERTY / $feature.TOTPOP_CY) * 100",
  sqlWhere: "TOTPOP_CY > 0",
  legendOptions: {
    title: "% of people living in poverty"
  }
};

// when the promise resolves, apply the visual variable to the renderer
colorRendererCreator.createVisualVariable(colorParams)
  .then(function(response){
    let renderer = layer.renderer.clone();
    renderer.visualVariables = [ response.visualVariable ];
    layer.renderer = renderer;
  });

类型定义

AgeRendererResult
起始版本: GeoScene API for JavaScript 4.22

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

属性:

配置为最匹配视图背景和数据展开的呈现器对象。在图层的 renderer 属性上设置此项以更新其可视化效果。

visualVariable ColorVariable

基于数据统计信息和视图背景配置的颜色可视变量。

unit String

用于在输出 renderer中表示年龄的时间单位。

colorScheme ColorScheme

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

defaultValuesUsed Boolean

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

从查询返回给服务的基本统计信息,用于给定字段名称或表达式中的数据。

basemapId String

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

basemapTheme String

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

ClassBreaksRendererResult
起始版本: GeoScene API for JavaScript 4.22

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

属性:

配置为最匹配视图背景和数据展开的呈现器对象。在图层的 renderer 属性上设置此项以更新其可视化效果

classBreaksResult ClassBreaksResult

此对象描述使用指定分类方法从给定字段的图层中的数据生成的分类间隔。

colorScheme ColorScheme

用于分类间隔的配色方案。

defaultValuesUsed Boolean

指示在图层中没有足够的数据和/或统计数据时是否使用默认值。当所有要素都具有相同的字段值或根本没有值时,通常使用默认值。

basemapId String

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

basemapTheme String

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

ContinuousRendererResult

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

属性:

配置为最匹配视图背景和数据展开的呈现器对象。在图层的 renderer 属性上设置此项以更新其可视化效果。

visualVariable ColorVariable

属性上设置此项以更新其可视化效果。

colorScheme ColorScheme

The color scheme used by the visual variable.

defaultValuesUsed Boolean

指示在图层中没有足够的数据和/或统计数据时是否使用默认值。当所有要素都具有相同的字段值或根本没有值时,通常使用默认值。

从查询返回给服务的基本统计信息,用于给定字段名称或表达式中的数据。

basemapId String

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

basemapTheme String

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

PCContinuousRendererResult

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

属性:

配置为最匹配视图背景和数据展开的呈现器对象。在输入图层的 renderer 属性上设置此对象以更新其可视化效果。

colorScheme ColorScheme

渲染器使用的配色方案。

defaultValuesUsed Boolean

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

从查询返回给服务的基本统计信息,用于给定字段名称中的数据。

basemapId String

用于确定输出渲染器最佳配色方案的底图 ID。

basemapTheme String

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

PCTrueColorRendererResult

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

属性:

配置为表示点云中每个点的真实颜色的渲染器对象。这为PointCloudLayer提供了它在现实世界中的外观的真实可视化。在输入图层的 renderer 属性上设置此对象以更新其可视化效果。

VisualVariableResult

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

属性:
visualVariable ColorVariable

基于数据统计信息和视图背景配置的颜色可视变量。

colorScheme ColorScheme

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

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

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.