点密度

AMD: require(["geoscene/smartMapping/renderers/dotDensity"], (dotDensityRendererCreator) => { /* 代码 */ });
ESM: import * as dotDensityRendererCreator from "@geoscene/core/smartMapping/renderers/dotDensity";
对象: geoscene/smartMapping/renderers/dotDensity
自: GeoScene API for JavaScript 4.12

该对象包含一个用于生成点密度可视化的辅助方法。 createRenderer() 方法使用视图的背景来确定每个属性最合适的点颜色。 它还查询图层以获取空间统计信息,以确定给定比例的适当点值。 起始点值不一定是最适合数据的值。 相反,它作为建议提供创作点密度渲染器的良好起点。

已知限制

方法概述

名称 返回类型 总结 对象
Promise<RendererResult>更多信息

基于一个或多个互补数字字段和/或  Arcade  表达式生成 DotDensityRenderer

更多信息dotDensity

方法详情

createRenderer(params){Promise<RendererResult>}

 基于一个或多个互补数字字段和/或 Arcade 表达式生成  DotDensityRenderer 。 此方法将为所提供视图比例的数据确定适当的 dotValue

例如,假设您有包含美国多个县的图层,其字段包含各种作物的总销售额:小麦、大豆、玉米、棉花和蔬菜。 如果某个要素的每个字段具有以下值:

字段名称 总数 颜色
Wheat 140 紫色
Soybeans 2000 蓝色
Corn 0 黄色
Cotton 300 绿色
Vegetables 120 红色

此方法将生成一个渲染器,它可能确定  dotValue 应为  20。具有上述数据的要素将以 6 个紫点、100 个蓝点、无黄点、60 个绿点和 5 个红点的随机位置进行渲染。

建议值是基于要素抽样计算的。因此,使用相同的参数多次执行此方法可能会产生不同的结果。

为方便更复杂的自定义可视化创作应用程序,还提供了其他选项。

参数:
规范:
params Object

根据一组互补的数字字段生成网点密度可视化的输入参数。各参数详细信息见下表。

详述:

生成可视化的面状图层。

view MapView

可视化将在其中呈现的 MapView 实例。

attributes Object[]

一组互补的数字字段/表达式,用作点密度可视化的基础。

详述:
field String
optional

数字字段的名称。

label String
optional

描述图例中字段名称(或类别)的标签。 如果给定字段没有直观的字段名称或别名,则应使用此选项。

valueExpression String
optional

遵循  Arcade Visualization Profile 定义的规范的  Arcade 表达式。 表达式可以使用  $feature  全局变量引用字段值,并且必须返回一个数字。 此属性覆盖 field 属性,因此用于代替输入field 值。

valueExpressionTitle String
optional

描述 valueExpression 返回值的文本。

dotValueOptimizationEnabled Boolean
optional
默认值: true

表示是否根据视图的比例改变每个点的值。这将设置输出渲染器的 referenceScale

dotBlendingEnabled Boolean
optional
默认值: true

表示是否启用在同一像素上呈现的不同色点的颜色混合。这只在高度密集和高度多样化的要素中可见。

outlineOptimizationEnabled Boolean
optional
默认值: false

表示面状轮廓宽度是否应根据视图比例而变化。当为 false 时,输出渲染器中不会使用轮廓。

legendOptions Object
optional

提供用于修改描述可视化的图例属性的选项。

详述:
unit String
optional

表示图例中每个点所代表的单位。 例如,在人口密度图中,您可以将people 的值设置为此参数。 输出渲染器将在图例中显示  1 dot = 300 people

dotDensityScheme DotDensityScheme
optional

在创作应用程序中,用户可以选择预定义的点密度方案。 将方案对象传递给此属性以避免根据视图的背景获取一个。

signal AbortSignal
optional

允许取消请求。如果被取消,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;
  });

类型定义

RendererResult

 createRenderer() 方法的结果对象。有关每个属性的详细信息,请参见下表。

属性:

表示网点密度可视化的对象。设置图层的 renderer 属性来更新它的可视化效果。

dotDensityScheme DotDensityScheme

渲染器基于视图的背景使用的点密度方案。

basemapId String

用于确定点的最佳颜色的底图 ID。

basemapTheme String

表示输入视图底图的平均颜色是 浅色 还是 深色

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.