-
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 實例。
一組互補的數字字段/表達式,用作點密度可視化的基礎。例如,如果創建選舉Map,您將指示代表候選人或政黨的每個字段的名稱,其中存儲了總票數。
規格:field可選的 數值字段的名稱。
label可選的 說明圖例中字段名稱(或類別)的標簽。如果給定字段沒有直觀的字段名稱或別名,則應使用此選項。例如,對於一個名為
dem
的字段表示民主黨的總票數,您可以將標簽設置為Democrat
以在最終可視化中明確類別的名稱。valueExpression可選的 遵循 Arcade Visualization Profile 定義的規範的 Arcade 表達式。表達式可以使用
$feature
全局變量引用字段值,並且必須返回一個數字。此屬性覆蓋field
屬性,因此用於代替輸入field
值。valueExpressionTitle可選的 說明從
valueExpression
返回的值的文本。dotValueOptimizationEnabled可選的 默認值:真的指示是否根據視圖的比例改變每個點的值。這將設置輸出渲染器的referenceScale。
dotBlendingEnabled可選的 默認值:真的指示是否啟用在同一像素處渲染的不同顏色點的顏色混合。這僅在高度密集和高度多樣化的特征中可見。
outlineOptimizationEnabled可選的 默認值:錯誤的指示多邊形輪廓寬度是否應根據視圖比例而變化。當為 false 時,輸出渲染器中將不使用輪廓。
legendOptions可選的 提供用於修改說明可視化的Legend 屬性的選項。
規格:unit可選的 表示圖例中每個點所代表的單位。例如,在人口密度圖中,您可以將
people
的值設置為此參數。輸出渲染器將在圖例中顯示1 dot = 300 people
。dotDensityScheme可選的 在創作應用程序中,用戶可以選擇預定義的點密度方案。將方案對象傳遞給此屬性以避免根據視圖的背景獲取一個。
signal可選的 允許可取消的請求。如果取消,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; });
基本信息
以下是所在類或對象的基本信息。
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
函數(或屬性)的定義如下:
相關用法
- JavaScript ArcGIS dotDensity.cloneScheme用法及代碼示例
- JavaScript ArcGIS dotDensity.getSchemes用法及代碼示例
- JavaScript ArcGIS dotDensity.getSchemeByName用法及代碼示例
- JavaScript ArcGIS dotDensity.getSchemesByTag用法及代碼示例
- JavaScript ArcGIS decorators.cast用法及代碼示例
- JavaScript dataView.setBigInt64()用法及代碼示例
- JavaScript ArcGIS decorators.aliasOf用法及代碼示例
- JavaScript dataView.getBigInt64()用法及代碼示例
- JavaScript ArcGIS decorators.subclass用法及代碼示例
- JavaScript ArcGIS decorators.property用法及代碼示例
- JavaScript date parse()用法及代碼示例
- JavaScript ArcGIS SceneView double-click事件用法及代碼示例
- JavaScript ArcGIS geometryEngineAsync.overlaps用法及代碼示例
- JavaScript ArcGIS Expand.when用法及代碼示例
- JavaScript ArcGIS Sublayer.JoinTableDataSource用法及代碼示例
- JavaScript ArcGIS FillSymbol3DLayer.outline用法及代碼示例
- JavaScript ArcGIS Ground.loadAll用法及代碼示例
- JavaScript Object valueOf()用法及代碼示例
- JavaScript ArcGIS LabelClass.repeatLabelDistance用法及代碼示例
- JavaScript ArcGIS KMLLayerView.when用法及代碼示例
- JavaScript ArcGIS Daylight.visibleElements用法及代碼示例
- JavaScript Uint8Array.of()用法及代碼示例
- JavaScript ArcGIS CIMSymbol.CIMTextSymbol用法及代碼示例
- JavaScript new Legend用法及代碼示例
- JavaScript Slider.effectiveMin用法及代碼示例
注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 dotDensity.createRenderer。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。