方法概述
名称 | 返回类型 | 总结 | 对象 | |
---|---|---|---|---|
Promise<RendererResult> | 更多细节 基于一组相互竞争的数字字段生成一个优势呈现器。 | 更多信息 | predominance |
方法详情
-
createRenderer(params){Promise<RendererResult>}
-
基于一组相互竞争的数字字段生成一个优势呈现器。
可视化优势涉及根据一组相互竞争的数字属性中的哪个属性在总计数中胜出或击败其他属性来为图层的要素着色。 这方面的常见应用包括可视化调查结果和人口多数。
例如,假设包含中国多个县的图层,其字段包含各种作物的总销售额:小麦、大豆、玉米、棉花和蔬菜。 如果某个要素的每个字段具有以下值:
字段名称 总数 颜色 Wheat 130 紫色 Soybeans 2000 蓝色 Corn 0 黄色 Cotton 300 绿色 Vegetables 120 红色 然后渲染器用蓝色来象征这一要素,因为大豆是主要作物。
基于此方法生成的 Arcade 表达式的结果确定要素的主要字段。 您需要提供
图层
、视图
和字段
列表来生成此渲染器。 或者,您可以将includeSizeVariable
设置为true
以更改每个要素的大小,以表示该要素相对于整个图层的影响程度。 您还可以将includeOpacityVariable
设置为true
以根据主要字段与所有其他字段相比的强度来为每个要素添加不透明度。 对于上面的示例,该要素可能是不透明的,因为 Soybeans 大大超过了所有其他组合的要素。 如果 Soybean total 仍然是最高的,但只有 301,那么该要素将非常透明,表明 Soybean total 获胜,但差距不大。为方便更复杂的自定义可视化创作应用程序,还提供了其他选项。
参数:规范:params Object输入参数,用于根据一组竞争领域生成优势可视化。各参数详细信息见下表。
详述:生成可视化的图层。
view View将在其中呈现可视化的视图实例。
一组相互竞争的数字字段,用作优势可视化的基础。
详述:name String数字字段的名称。
label Stringoptional描述图例中字段名称(或类别)的标签。 如果给定字段没有直观的字段名称,则应使用此选项。
includeOpacityVariable Booleanoptional表示是否在最终渲染器中包含数据驱动的不透明度。 如果为
true
,则主要值大大超过所有其他值的要素被赋予高不透明度。 主要价值以小幅度击败其他要素的要素将被分配低不透明度,这表明虽然该要素具有获胜价值,但它并不会赢得太多。includeSizeVariable Booleanoptional表示是否在最终渲染器中包含数据驱动的大小。 如果为
true
,则将根据字段
参数中所有竞争值的总和为要素分配大小。 根据图层的几何类型,总计数较小的要素将使用小图标或线条调整大小,而总计数较大的要素将使用大图标或线条调整大小。 启用此选项有助于可视化特定要素与整个数据集相比的影响力。 它消除了由具有较大地理区域但数据值相对较小的要素引入的偏差。outlineOptimizationEnabled Booleanoptional默认值: false仅适用于多边形图层。 表示多边形轮廓宽度是否应根据视图比例而变化。 设置后,必须在
view
参数中提供有效的 MapView 实例。 3D SceneViews 不支持此选项。sizeOptimizationEnabled Booleanoptional默认值: false表示符号大小是否应根据视图缩放而变化。当设置时,一个有效的 MapView 实例必须在
view
参数中提供。3D SceneViews 不支持此选项。legendOptions Objectoptional提供用于修改描述可视化的图例属性的选项。
详述:title Stringoptional在图例中用来描述渲染器的标题。
showLegend Booleanoptional表示是否将渲染器包含在图例中。
statistics SummaryStatisticsResultoptional从 summaryStatistics 函数生成的统计对象。
createAgeRenderer()
方法生成一个 Arcade 表达式,并对图层执行统计查询以获取表达式的结果。 如果已经生成了表达式的统计信息,则在此处传递对象以避免进行第二次统计查询。sortBy Stringoptional默认值: count表示如何在图例中对值进行排序。有关可能传递给该参数的值的信息,请参见下表。
可能值 描述 count 唯一值/类型将根据属于每个类别的要素数量从高到低排序。 value 唯一值/类型将按照它们在 fields
参数中指定的顺序进行排序。可能值:"count"|"value"
predominanceScheme PredominanceSchemeoptional在创作应用程序中,用户可以选择预定义的优势方案。 将方案对象传递给此属性以避免根据
view
的背景获取一个。symbolType Stringoptional默认值: 2d要生成的符号类型。 这取决于您正在使用的视图和所需的可视化。 不需要为具有
网格
几何类型的图层指定此参数。 可能的值如下所述。值 描述 2d 使用 2D 符号(如 SimpleMarkerSymbol, SimpleLineSymbol 或 SimpleFillSymbol)生成可视化。如果在 MapView 中生成数据的可视化,请使用此选项。 3d-flat 使用具有平面符号图层(如 IconSymbol3DLayer, LineSymbol3DLayer 或 FillSymbol3DLayer)的 3D 符号生成可视化。 如果为 SceneView 中的数据生成 2D 可视化,请使用此选项。 3d-volumetric 使用具有体积符号图层(例如 ObjectSymbol3DLayer, PathSymbol3DLayer 或 ExtrudeSymbol3DLayer)的 3D 符号生成可视化。 如果为 SceneView 中的数据生成 3D 可视化,请使用此选项。 如果使用此选项,则必须将 SceneView 实例提供给 view
参数。3d-volumetric-uniform 使用具有体积符号图层的统一大小的 3D 符号生成可视化。 如果为 SceneView 中的数据生成 3D 可视化,并且符号的大小应统一(例如球体),请使用此选项。 如果使用此选项,则必须将 SceneView 实例提供给 view
参数。可能值:"2d"|"3d-flat"|"3d-volumetric"|"3d-volumetric-uniform"
defaultSymbolEnabled Booleanoptional默认值: true在渲染器上启用
defaultSymbol
,并将其赋值给不带值的要素。colorMixMode Stringoptional默认值: replace此选项仅适用于为网格 scenelayer 生成渲染器。指定符号颜色如何应用于几何颜色/纹理。 有关更多上下文,请参阅 FillSymbol3DLayer.material 中的文档。 有关可能的值,请参见下表。
值 描述 tint 将符号 颜色
应用于去饱和几何/纹理颜色。replace 移除几何/纹理颜色并应用符号 颜色
。multiply 将几何/纹理颜色值与符号 颜色值
值相乘。 结果是颜色较深。 与白色相乘可保持几何颜色相同。signal AbortSignaloptional允许取消请求。如果被取消,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; });
类型定义
-
RendererResult
-
createRenderer() 方法的结果对象。有关每个属性的详细信息,请参见下表。
- 属性:
-
renderer UniqueValueRenderer
唯一值渲染器对象代表了优势的可视化。设置图层的
renderer
属性来更新它的可视化效果。predominantCategoryInfos UniqueValueInfo[]描述呈现器中所表示的每个唯一类型或类别的值、符号和计数的对象数组。
一组对象,描述了在可视化给定字段的数据时排除在考虑之外的值或类别。 每个对象的规范与
predominantCategoryInfos
属性中指定的对象的规范相匹配。size VisualVariableResult一个大小可视变量,表示显性可视化中包含的所有字段的总数。如果参数
includeSizeVariable
为 true,则包含该变量。opacity VisualVariableResult一个不透明度可视变量,表示由所有字段的主要值组成的总计数的百分比。 此变量表示与其他值相比,特定值的优势强度。
predominanceScheme PredominanceScheme渲染器使用的主导方案。
basemapId String用于确定要素的最佳填充颜色的底图的 ID。
basemapTheme String表示输入视图底图的平均颜色是
浅色
还是深色
。