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


JavaScript ArcGIS relationship.createRenderer用法及代码示例


基本信息

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

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

ESM: import * as relationshipRendererCreator from "@arcgis/core/smartMapping/renderers/relationship";

对象: esri/smartMapping/renderers/relationship

自从:用于 JavaScript 4.9 的 ArcGIS API

用法说明

relationship.createRenderer函数(或属性)的定义如下:

createRenderer (params) {Promise<RendererResult>}


基于一组竞争数字字段生成关系渲染器(二元等值线)。

每个函数的类别都是根据此方法内部生成的 Arcade 表达式的结果确定的。您需要提供 layerviewfield1 名称和 field2 名称来生成此渲染器。或者,您可以设置 focus 以更改图例的旋转,并设置 numClasses 参数以更改图例的网格大小。

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

参数:

规格:
类型说明
params Object

用于基于一对数字字段生成关系可视化的输入参数。有关每个参数的详细信息,请参见下表。

规格:

为其生成可视化的图层。

view

View

将在其中呈现可视化的视图实例。

field1

Object

一个数字字段,将用于探索其与 field2 的关系。在默认可视化中,此字段的值沿 Legend 的垂直轴呈现。

规格:
field

String

数值字段的名称。

normalizationField

String

可选的

用于规范化给定 field 的数字字段的名称。在 choropleth 可视化中,如果尚未对数据值进行标准化,则最好对它们进行标准化。

maxValue

Number

可选的

在给定字段中可视化的值的最大界限。如果一个特征的值大于这个值,那么它将被分配渲染器的默认符号。

minValue

Number

可选的

在给定字段中可视化的值的最小界限。如果一个特征的值小于这个值,那么它将被分配渲染器的默认符号。

label

String

可选的

用于说明图例中的字段或变量的标签。

field2

Object

一个数字字段,将用于探索其与 field1 的关系。在默认可视化中,此字段的值沿 Legend 的水平轴呈现。

规格:
field

String

数值字段的名称。

normalizationField

String

可选的

用于规范化给定 field 的数字字段的名称。在 choropleth 可视化中,如果尚未对数据值进行标准化,则最好对它们进行标准化。

maxValue

Number

可选的

在给定字段中可视化的值的最大界限。如果一个特征的值大于这个值,那么它将被分配渲染器的默认符号。

minValue

Number

可选的

在给定字段中可视化的值的最小界限。如果一个特征的值小于这个值,那么它将被分配渲染器的默认符号。

label

String

可选的

用于说明图例中的字段或变量的标签。

classificationMethod

String

可选的
默认值:分位数

对每个字段的数据值进行分类的方法。有关每种分类类型的更多信息,请参阅classBreaks

可能的值"quantile"|"equal-interval"|"natural-breaks"

focus

String

可选的
默认值:空值

确定 Legend 的方向。此值不会更改图层中任何要素的渲染器或符号系统。这仅影响图例。有关可能值的说明,请参见下表。有关如何阅读图例的更详尽说明,请参阅本页顶部的类说明。

示例 说明
null relationship-legend-null 图例呈现为正方形。图例的右上角表示 field1field2 的值都被认为是高的。
HH relationship-legend-hh 图例呈现为菱形,焦点位于顶角,其中 field1field2 的值都被视为高。
HL relationship-legend-hl 图例呈现为菱形,焦点位于顶角,其中 field1 的值较高,而 field2 的值较低。
LH relationship-legend-lh 图例呈现为菱形,焦点位于顶角,field1 的值较低,field2 的值较高。
LL relationship-legend-ll 图例呈现为菱形,焦点位于顶角,field1field2 的值都被视为低。
numClasses

Number

可选的
默认值: 3

指示用于分解每个字段的值的类数。更多的类给你更多的细节,但更多的颜色,使可视化更难理解。只有三个可能的值。

2班 3班 4班
relationship-breaks-2 relationship-breaks-3 relationship-breaks-4

可能的值:2 | 3 | 4

outlineOptimizationEnabled

Boolean

可选的
默认值:错误的

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

sizeOptimizationEnabled

Boolean

可选的
默认值:错误的

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

legendOptions

Object

可选的

提供用于修改说明可视化的Legend 属性的选项。

规格:
title

String

可选的

Legend 中用于说明渲染器的标题。

showLegend

Boolean

可选的

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

relationshipScheme

RelationshipScheme

可选的

在创作应用程序中,用户可以选择预定义的关系方案。将方案对象传递给此属性以避免基于 view 的背景获得一个。

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"

defaultSymbolEnabled

Boolean

可选的
默认值:真的

在渲染器上启用 defaultSymbol 并将其分配给没有值或不在规定分类范围内的要素。

colorMixMode

String

可选的
默认值:代替

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

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

AbortSignal

可选的

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

返回:

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

例子:

const layer = new FeatureLayer({
  url: "https://services.arcgis.com/..."
});

// will create a bivariate choropleth visualization exploring the relationship
// between the % of the population classified as obese, and the %
// of the population diagnosed with diabetes

const params = {
  layer: layer,
  view: view,
  field1: {
    field: "POP_Diabetes",
    normalizationField: "TOTAL_POP"
  },
  field2: {
    field: "POP_Obesity",
    normalizationField: "TOTAL_POP"
  },
  focus: "HH",
  defaultSymbolEnabled: false
};

// when the promise resolves, apply the renderer to the layer
relationshipRendererCreator.createRenderer(params)
  .then(function(response){
    layer.renderer = response.renderer;
  });

相关用法


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