-
createRenderer
(params)
{Promise<RendererResult>}
基於一組競爭數字字段生成優勢渲染器。
可視化優勢涉及對layer’s 特征進行著色,該特征基於一組相互競爭的數字屬性中的哪個屬性在總計數中勝出或擊敗其他屬性。這方麵的常見應用包括可視化選舉結果、調查結果和人口多數。
例如,假設您有一層美國縣,其字段包含各種裁剪的總銷售額:小麥、大豆、玉米、棉花和蔬菜。如果某個要素的每個字段具有以下值:
字段名稱 數數 顏色 Wheat 130 purple Soybeans 2000 blue Corn 0 yellow Cotton 300 green Vegetables 120 red 然後渲染器用藍色表示該特征,因為大豆是主要裁剪。
基於此方法生成的 Arcade 表達式的結果確定要素的主要字段。您需要提供
layer
、view
和fields
列表來生成此渲染器。或者,您可以將includeSizeVariable
設置為true
以更改每個特征的大小,以指示該特征相對於整個圖層的影響程度。您還可以將includeOpacityVariable
設置為true
以根據主要字段與所有其他字段相比的強度來為每個要素添加操作。對於上麵的示例,該函數可能是不透明的,因為 Soybeans 大大超過了所有其他組合的函數。如果 Soybean total 仍然是最高的,但隻有 301,那麽該特征將非常透明,表明 Soybean total 獲勝,但差距不大。提供其他選項是為了方便更多涉及的自定義可視化創作應用程序。
參數:
規格:類型 說明 params Object用於基於一組競爭字段生成優勢可視化的輸入參數。有關每個參數的詳細信息,請參見下表。
規格:為其生成可視化的圖層。
view將在其中呈現可視化的視圖實例。
一組相互競爭的數字字段,用作優勢可視化的基礎。例如,如果創建選舉Map,您將指示代表候選人或政黨的每個字段的名稱,其中存儲了總票數。
規格:name數值字段的名稱。
label可選的 說明圖例中字段名稱(或類別)的標簽。如果給定字段沒有直觀的字段名稱,則應使用此選項。例如,對於一個名為
dem
的字段表示民主黨的總票數,您可以將標簽設置為Democrat
以在最終可視化中明確類別的名稱。includeOpacityVariable可選的 指示是否在最終渲染器中包含數據驅動的不透明度。如果
true
,主要值大大超過所有其他值的特征被賦予高不透明度。主要值以小幅度擊敗其他特征的特征將被分配低不透明度,這表明雖然該特征具有獲勝值,但它並不會贏得太多。includeSizeVariable可選的 指示是否在最終渲染器中包含數據驅動的大小。如果
true
,將根據fields
參數中所有競爭值的總和為特征分配大小。根據圖層的幾何類型,總計數較小的要素將使用小圖標或線條調整大小,而總計數較大的要素將使用大圖標或線條調整大小。啟用此選項有助於可視化特定特征與整個數據集相比的影響力。它消除了由具有較大地理區域但數據值相對較小的特征引入的偏差。outlineOptimizationEnabled可選的 默認值:錯誤的僅適用於多邊形圖層。指示多邊形輪廓寬度是否應根據視圖比例而變化。設置後,必須在
view
參數中提供有效的 MapView 實例。 3D SceneViews 不支持此選項。sizeOptimizationEnabled可選的 默認值:錯誤的指示符號大小是否應根據視圖比例而變化。設置後,必須在
view
參數中提供有效的 MapView 實例。 3D SceneViews 不支持此選項。legendOptions可選的 提供用於修改說明可視化的Legend 屬性的選項。
規格:title可選的 Legend 中用於說明渲染器的標題。
showLegend可選的 指示是否在圖例中包含渲染器。
statistics可選的 從 summaryStatistics 函數生成的統計對象。
createAgeRenderer()
方法生成 Arcade 表達式並針對該層執行統計查詢以獲取表達式的結果。如果已經生成了表達式的統計信息,則在此處傳遞對象以避免進行第二次統計查詢。sortBy可選的 默認值:數數指示值應如何在 Legend 中排序。有關可以傳遞給此參數的值的信息,請參見下表。
可能的值 說明 count 唯一值/類型將根據屬於每個類別的特征數量從高到低排序。 value 唯一值/類型將按照在 fields
參數中指定的順序進行排序。可能的值:"count"|"value"
predominanceScheme可選的 在創作應用程序中,用戶可以選擇預定義的優勢方案。將方案對象傳遞給此屬性以避免基於
view
的背景獲得一個。symbolType可選的 默認值:二維要生成的符號類型。這取決於您正在使用的視圖和所需的可視化。不需要為具有
mesh
幾何類型的圖層指定此參數。可能的值如下所述。值 說明 2d 使用 2D 符號(例如 SimpleMarkerSymbol 、 SimpleLineSymbol 或 SimpleFillSymbol )生成可視化。如果為 MapView 中的數據生成可視化,請使用此選項。 3d-flat 使用具有平麵符號圖層(例如 IconSymbol3DLayer 、 LineSymbol3DLayer 或 FillSymbol3DLayer )的 3D 符號生成可視化。如果為 SceneView 中的數據生成 2D 可視化,請使用此選項。 3d-volumetric 使用具有體積符號圖層的 3D 符號生成可視化,例如 ObjectSymbol3DLayer 、 PathSymbol3DLayer 或 ExtrudeSymbol3DLayer 。如果為 SceneView 中的數據生成 3D 可視化,請使用此選項。如果使用此選項,則必須向 view
參數提供 SceneView 實例。3d-volumetric-uniform 使用具有體積符號圖層的統一大小的 3D 符號生成可視化。如果為 SceneView 中的數據生成 3D 可視化,並且符號的大小應一致,例如球體,請使用此選項。如果使用此選項,則必須向 view
參數提供 SceneView 實例。可能的值:"2d"|"3d-flat"|"3d-volumetric"|"3d-volumetric-uniform"
defaultSymbolEnabled可選的 默認值:真的在渲染器上啟用
defaultSymbol
並將其分配給沒有值的函數。colorMixMode可選的 默認值:代替此選項僅適用於生成網格 SceneLayers 的渲染器.指定符號顏色如何應用於幾何顏色/紋理。請參閱中的文檔FillSymbol3DLayer.material了解更多上下文。有關可能的值,請參見下表。
值 說明 tint 將符號 color
應用於去飽和幾何體/紋理顏色。replace 移除幾何/紋理顏色並應用符號 color
。multiply 將幾何/紋理顏色值與符號 color
值相乘。結果是顏色較深。與白色相乘可保持幾何顏色相同。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, fields: [{ name: "M217_07", label: "Vegetables" }, { name: "M188_07", label: "Cotton" }, { name: "M172_07", label: "Wheat" }, { name: "M193_07", label: "Soybeans" }, { name: "M163_07", label: "Corn" }], includeOpacityInfo: true }; // when the promise resolves, apply the renderer to the layer predominanceRendererCreator.createRenderer(params) .then(function(response){ layer.renderer = response.renderer; });
基本信息
以下是所在類或對象的基本信息。
AMD:
require(["esri/smartMapping/renderers/predominance"], (predominanceRendererCreator) => { /* code goes here */ });
ESM:
import * as predominanceRendererCreator from "@arcgis/core/smartMapping/renderers/predominance";
對象:
esri/smartMapping/renderers/predominance
自從:用於 JavaScript 4.9 的 ArcGIS API
用法說明
predominance.createRenderer
函數(或屬性)的定義如下:
相關用法
- JavaScript ArcGIS predominance.cloneScheme用法及代碼示例
- JavaScript ArcGIS predominance.getSchemeByName用法及代碼示例
- JavaScript ArcGIS predominance.getSchemes用法及代碼示例
- JavaScript ArcGIS predominance.getSchemesByTag用法及代碼示例
- JavaScript ArcGIS predominanceUtils.getPredominanceExpressions用法及代碼示例
- JavaScript ArcGIS predominantCategories.predominantCategories用法及代碼示例
- JavaScript ArcGIS promiseUtils.eachAlways用法及代碼示例
- JavaScript ArcGIS promiseUtils.isAbortError用法及代碼示例
- JavaScript ArcGIS promiseUtils.debounce用法及代碼示例
- JavaScript ArcGIS promiseUtils.create用法及代碼示例
- JavaScript ArcGIS promiseUtils.resolve用法及代碼示例
- JavaScript ArcGIS print.execute用法及代碼示例
- JavaScript ArcGIS promiseUtils.reject用法及代碼示例
- JavaScript promise reject()用法及代碼示例
- JavaScript ArcGIS projection.load用法及代碼示例
- JavaScript ArcGIS projection.getTransformations用法及代碼示例
- JavaScript ArcGIS promiseUtils.createAbortError用法及代碼示例
- JavaScript ArcGIS projection.project用法及代碼示例
- JavaScript parseInt()用法及代碼示例
- JavaScript parseFloat()用法及代碼示例
- JavaScript performance.now()用法及代碼示例
- JavaScript ArcGIS SceneView double-click事件用法及代碼示例
- JavaScript ArcGIS geometryEngineAsync.overlaps用法及代碼示例
- JavaScript ArcGIS Expand.when用法及代碼示例
- JavaScript ArcGIS Sublayer.JoinTableDataSource用法及代碼示例
注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 predominance.createRenderer。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。