方法概述
名称 | 返回值类值 | 描述 | 对象 |
---|---|---|---|
Promise<RendererResult> | 基于一个或多个互补数字字段或 Arcade 表达式生成 DotDensityRenderer。 更多详情 | dotDensity |
方法详细说明
-
createRenderer(params){Promise<RendererResult>}
-
基于一个或多个互补数字字段或 Arcade 表达式生成 DotDensityRenderer。此方法将根据所提供视图的比例为数据确定一个适当的 dotValue。
例如,假设有包含中国多个县的图层,其中字段包含各种作物的总销售额:小麦、大豆、玉米、棉花和蔬菜。如果某个要素的每个字段具有以下值:
字段名称 计数 Color Wheat 140 紫色 Soybeans 2000 蓝色 Corn 0 黄色 Cotton 300 绿色 Vegetables 120 红色 此方法将生成一个渲染器,用于确定
dotValue
应为20
。具有上述数据的要素将以 6 个紫点、100 个蓝点、无黄点、60 个绿点和 5 个红点的随机位置进行渲染。建议值是基于要素进行采样计算的。因此,使用相同的参数多次执行此方法可能会产生不同的结果。
为方便自定义更复杂的可视化创作应用程序,还提供了其他选项。
参数规范params Object输入参数,用于根据一组互补的数字字段生成点密度可视化。各参数的详细信息见下表。
规范为其生成可视化效果的图面层。
view MapView将在其中渲染可视化的 MapView 实例。
用作点密度可视化的互补的数字字段/表达式集合。
规范field Stringoptional数值字段的名称。
label Stringoptional图例中字段名称 (或类别) 的标注。如果字段没有比较直观的字段名称或别名,可以使用此选项设置字段在图例中的描述。例如,对于名为
dem
的字段 (表示民主党的总选票计数),您可将标注设置为Democrat
,以明确最终可视化中类别的名称。valueExpression Stringoptional遵循 Arcade 可视化配置文件定义的规范的 Arcade 表达式。表达式可以使用
$feature
配置变量来引用字段值,并且必须返回一个数字。此属性覆盖field
属性,因此用于代替输入field
值。valueExpressionTitle Stringoptional描述从
valueExpression
返回的值的文本。dotValueOptimizationEnabled Booleanoptional默认值:true表示是否根据视图的比例改变每个点的值。这将设置输出渲染器的 referenceScale。
dotBlendingEnabled Booleanoptional默认值:true指示是否启用在同一像素处渲染的不同色点的颜色混合。这仅在高度密集和高度多样化的要素中可见。
outlineOptimizationEnabled Booleanoptional默认值: false指示多边形轮廓宽度是否应根据视图比例而变化。当为 false 时,输出渲染器中不会使用轮廓。
legendOptions Objectoptional提供用于修改 Legend 属性 (用于描述可视化效果) 的选项。
规范unit Stringoptional表示图例中每个点所代表的单位。例如,在人口密度图中,您可将
people
的值设置为此参数。输出渲染器将在图例中显示1 dot = 300 people
。dotDensityScheme DotDensitySchemeoptional在制作应用程序中,用户可以选择预定义的点密度方案。将方案对象传递到此属性,以避免基于视图的背景获取方案对象。
forBinning Booleanoptional指示生成的渲染器是否用于图格可视化。如果为
true
,则此方法中的输入字段应引用该图层的featureReduction
属性中定义的聚合字段。signal AbortSignaloptional允许可取消的请求。如果取消,则承诺将被拒绝,并返回一个名为
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; });
类型定义
-
RendererResult
-
createRenderer() 方法的结果对象。各属性的详细信息见下表。
- 属性
-
renderer DotDensityRenderer
表示点密度可视化的对象。在图层的
renderer
属性上对它进行设置以更新其可视化效果。dotDensityScheme DotDensityScheme渲染器基于视图背景使用的点密度方案。
basemapId String底图的 ID,用于确定点的最佳颜色。
basemapTheme String表示输入视图底图的平均颜色是
light
还是dark
。