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


JavaScript ArcGIS dotDensity.createRenderer用法及代碼示例


基本信息

以下是所在類或對象的基本信息。

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

ESM: import * as dotDensityRendererCreator from "@arcgis/core/smartMapping/renderers/dotDensity";

對象: esri/smartMapping/renderers/dotDensity

自從:用於 JavaScript 4.12 的 ArcGIS API

用法說明

dotDensity.createRenderer函數(或屬性)的定義如下:

createRenderer (params) {Promise<RendererResult>}


基於一個或多個互補數字字段和/或 Arcade 表達式生成 DotDensityRenderer。此方法將為所提供視圖比例的數據確定適當的dotValue

例如,假設您有一層美國縣,其字段包含各種裁剪的總銷售額:小麥、大豆、玉米、棉花和蔬菜。如果某個要素的每個字段具有以下值:

字段名稱 數數 顏色
Wheat 140 purple
Soybeans 2000 blue
Corn 0 yellow
Cotton 300 green
Vegetables 120 red

此方法將生成一個渲染器,可以確定 dotValue 應該是 20 。具有上述數據的特征將隨機放置 6 個紫點、100 個藍點、無黃點、60 個綠點和 5 個紅點。

建議值是根據特征樣本計算得出的。因此,使用相同的參數多次執行此方法可能會產生不同的結果。

提供其他選項是為了方便更多涉及的自定義可視化創作應用程序。

參數:

規格:
類型說明
params Object

用於基於一組互補數字字段生成點密度可視化的輸入參數。有關每個參數的詳細信息,請參見下表。

規格:

為其生成可視化的多邊形圖層。

view

MapView

將在其中呈現可視化的 MapView 實例。

attributes

Object[]

一組互補的數字字段/表達式,用作點密度可視化的基礎。例如,如果創建選舉Map,您將指示代表候選人或政黨的每個字段的名稱,其中存儲了總票數。

規格:
field

String

可選的

數值字段的名稱。

label

String

可選的

說明圖例中字段名稱(或類別)的標簽。如果給定字段沒有直觀的字段名稱或別名,則應使用此選項。例如,對於一個名為 dem 的字段表示民主黨的總票數,您可以將標簽設置為 Democrat 以在最終可視化中明確類別的名稱。

valueExpression

String

可選的

遵循 Arcade Visualization Profile 定義的規範的 Arcade 表達式。表達式可以使用 $feature 全局變量引用字段值,並且必須返回一個數字。此屬性覆蓋 field 屬性,因此用於代替輸入 field 值。

valueExpressionTitle

String

可選的

說明從 valueExpression 返回的值的文本。

dotValueOptimizationEnabled

Boolean

可選的
默認值:真的

指示是否根據視圖的比例改變每個點的值。這將設置輸出渲染器的referenceScale

dotBlendingEnabled

Boolean

可選的
默認值:真的

指示是否啟用在同一像素處渲染的不同顏色點的顏色混合。這僅在高度密集和高度多樣化的特征中可見。

outlineOptimizationEnabled

Boolean

可選的
默認值:錯誤的

指示多邊形輪廓寬度是否應根據視圖比例而變化。當為 false 時,輸出渲染器中將不使用輪廓。

legendOptions

Object

可選的

提供用於修改說明可視化的Legend 屬性的選項。

規格:
unit

String

可選的

表示圖例中每個點所代表的單位。例如,在人口密度圖中,您可以將 people 的值設置為此參數。輸出渲染器將在圖例中顯示1 dot = 300 people

dotDensityScheme

DotDensityScheme

可選的

在創作應用程序中,用戶可以選擇預定義的點密度方案。將方案對象傳遞給此屬性以避免根據視圖的背景獲取一個。

signal

AbortSignal

可選的

允許可取消的請求。如果取消,promise 將被拒絕,並出現名為 AbortError 的錯誤。另見AbortController

返回:

類型 說明
Promise<RendererResult> 解析為 RendererResult 的實例。

例子:

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

// will create a visualization of predominant crop by U.S. county

const params = {
  layer: layer,
  view: view,
  attributes: [{
    field: "M217_07",
    label: "Vegetables"
  }, {
    field: "M188_07",
    label: "Cotton"
  }, {
    field: "M172_07",
    label: "Wheat"
  }, {
    field: "M193_07",
    label: "Soybeans"
  }, {
    field: "M163_07",
    label: "Corn"
  }]
};

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

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 dotDensity.createRenderer。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。