-
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。