當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。