# 聚合热力图层(Grid3DLayer)

聚合热力图层用于将点类型的数据按照方形或者六边形进行聚合,可以根据聚合后的数值显示对应的颜色和高度。

提示

聚合热力图层与柱状图层都是以柱状的形式展示数据,区别在于:聚合热力图层会按照自动生成的几何对数据进行汇总聚合,而柱状图层严格按照数据进行展示。

例如:

  • 对一份全国各个省份的GDP数据,使用柱状图层进行展示,因为数据已经按照省份区划聚合好了。
  • 对一份浦东新区的人流热力数据,使用聚合热力图层进行展示,否则每个热力点显示一个棱柱,没有实际意义。
new aimap.Grid3DLayer(layerOptions: Object)
1

# 初始化参数

# LayerOptions参数说明

字段名 类型 说明
id string 默认值为${type}.${uuid},该值不允许重复。
map Map 地图对象,如果设置,该图层会自动加载到地图中,如果未设置,需要手动加载图层:addTo(map)
data必须 Data 支持点类型的矢量数据,包括SimpleFeatureGeoJSON等,具体参见:矢量数据定义
style必须 Grid3DStyle 本图层支持样式参考下方说明。
animate AnimateOptions 图层首次加载,以及每次重新指定数据时,图层展示的动画效果配置。

# Grid3DStyle

字段名 类型 说明
type grid或者hexagon 网格的类别,hexagon 表示六边形,grid 表示四边形,默认grid
radius number 每个格子的大小,单位米,默认值:1000。
opacity number 图层整体的透明度,默认值:1。
colorRange Array<Color> 颜色数组,默认是黄色到红色的渐变色带。
coverage number 每个格子的缩放,默认为 1,设置为 0.8,0.9左右可以让格子存在一点点间隙,更加美观。
elevationRange [number, number] 拔高的高度范围,默认 [0, 1000],拔高的最终显示高度还要乘以elevationScale
elevationScale number 拔高的缩放比例,默认 1。
extruded boolean 是否拔高,true 或者 false,默认为 true。不拔高则为二维的网格。
upperPercentile number 根据颜色百分比筛选需要显示的网格。例如:填写 90,则聚合后的值处于总数据集的前 10% 的数据将隐藏。
lowerPercentile number 根据颜色百分比筛选需要显示的网格。例如:填写 20,则聚合后的值处于总数据集的后 20% 的数据将隐藏。
elevationUpperPercentile number 根据高度百分比筛选需要显示的网格。例如:填写 90,则聚合后的值处于总数据集的前 10% 的数据将隐藏。
elevationLowerPercentile number 根据高度百分比筛选需要显示的网格。例如:填写 30,则聚合后的值处于总数据集的后 30% 的数据将隐藏。
colorAggregation SUMMEANMINMAX 聚合后的颜色值的计算方式,可选 SUMMEANMINMAX。默认值:SUM
elevationAggregation SUMMEANMINMAX 聚合后的高度值的计算方式,可选 SUMMEANMINMAX。默认值:SUM
getColorWeight Function 自定义颜色权重的获取方式,例如:t => t.value,则取每条数据的value字段进行聚合计算。
getElevationWeight Function 自定义高度权重的获取方式,例如:t => t.value,则取每条数据的value字段进行聚合计算。

# AnimateOptions

字段名 类型 说明
duration number 动画的时长,单位:毫秒,默认为 2000。
type growup2downdown2upright2leftleft2rightripple 动画的类型,可选:
- grow:从地面向天空的生长效果
- up2down:从北向南的过渡效果
- down2up: 从南向北的过渡效果
- right2left:从东向西的过渡效果
- left2right:从西向东的过渡效果
- ripple:从中心向四周的扩散效果
默认为grow
center [number, number] 当动画的typeripple时,可以为扩散效果指定经纬度中心点,不指定则采用数据的 bbox 的中心点。

# 示例

coverLayer = new aimap.Grid3DLayer({
    data: `path-to-a-points-geojson-data/data.txt`,
    style: {
        extruded: true,
        type: 'hexagon',
        radius: 200,
        elevationScale: 10,
        coverage: 0.9,
        opacity: 0.8
    },
    animate: {
        duration: 5000,
        type: 'grow'
    },
    map
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 实例变量

# id

此图层的 id,如果在初始化图层的参数中指定,则为参数中的 id,否则 SDK 内部会自动生成一个 id。

# 示例

var grid3DLayer = new aimap.Grid3DLayer({...});
console.log(grid3DLayer.id); // "grid3d.9db79b01-f3c0-4da6-a36a-b4d5827c4e37"
1
2

# type

此图层的类型,对于本图层, type 为固定值:grid3d

# 示例

var grid3DLayer = new aimap.Grid3DLayer({...});
console.log(grid3DLayer.type); // "grid3d"
1
2

# 实例方法

addTo(map)

如果在初始化图层时,没有传入地图对象参数,则需要使用此方法来将图层添加到地图上。

参数

map(Map):需要添加本图层的地图对象。

返回值

Grid3DLayer:this

remove()

将本图层从地图中移除,并销毁相关的资源。

show()

显示该图层。

返回值

Grid3DLayer:this

hide()

隐藏该图层。

返回值

Grid3DLayer:this

flyTo(options?)

使地图带有动画的跳转,使得图层的中心点位于屏幕中间。

参数

options(SetFocusOptions):跳转动画的更多参数,具体参见:SetFocusOptions 配置

返回值

Grid3DLayer:this

fitView(options?)

使地图带有动画的跳转,使得图层的数据铺满屏幕。

参数

options(SetFocusOptions):跳转动画的更多参数,具体参见:SetFocusOptions 配置

返回值

Grid3DLayer:this

setStyle(style)

增量更新图层的样式。

参数

style(Grid3DStyle):样式对象,这些样式将增量更新到图层已有的样式上,支持的样式与当前图层一致。

返回值

Grid3DLayer:this

setData(data, options?)

重新指定数据,原有的数据会被清除掉。

参数

data(Data):与 layeroptions参数说明 中的Data字段定义一致。

options(options):指定新数据源的其他配置项,支持在 options 中配置 animate 参数。

返回值

Grid3DLayer:this

最后更新于: 7/22/2022, 5:39:57 PM