Class: HeatMap

HeatMap

HeatMap相关的操作
一般通过api.heatmap调用其方法。 HeatMap效果图如下:


<protected> new HeatMap()

See:

Extends

Methods


add(id, bbox, range, data, style, textureSize, opacityMode, opacityRange, blur, colors, blendMode, light, binaryFile, updateTime, fn)

添加HeatMap

Parameters:
Name Type Description
id string

字符串类型的ID

bbox array

热力点坐标的范围:[minX,minY,minZ,maxX,maxY,maxZ],数组元素类型:[任意浮点数]

range array

热力值的范围:[min,max],数组元素类型:[任意浮点数]

data object | array

点数据,(注意:点的heatValue取值要在range所设定的范围内),对于每个点,支持以下属性:

  • id (string) 字符串类型的ID

  • coordinate (array) 热力点坐标,取值示例

  • radius (number) 热力点影像半径范围,取值范围:[任意数值]

  • heatValue (number) 热力值,取值范围:[range参数设定范围内的任意数值]

style HeatMapStyle

可选参数,热力图样式枚举,详情参考 HeatMapStyle

textureSize number

style=0或1时参数生效,纹理大小,默认值:1024,取值范围:[128~4096],注意:值越大纹理越清晰但创建越耗时

opacityMode number

style=0或1时参数生效,不透明度模式,默认值:1,取值范围:0:使用自定义色卡颜色的不透明度 1:使用热力点的不透明度

opacityRange array

style=0或1时参数生效,不透明度范围,默认值:[0~1.0],注意:仅opacityMode为1时有效

blur number

style=0或1时参数生效,热力点模糊因子,默认值:0.85,注意:模糊系数越高,渐变越平滑,取值范围:[0~1.0]

colors object

style=0或1时参数生效,自定义颜色卡区间数组,包含渐变控制参数、无效点颜色和颜色数组

gradient (boolean) 是否渐变


invalidColor (Color) 无效像素点的默认颜色,默认白色


colorStops (array) 调色板对象数组,每一个对象包含热力值和对应颜色值,结构示例:[{"value":0, "color":[0,0,1,1]}],每一个调色板对象支持以下属性:




color (Color) 值对应的调色板颜色

value (number) 值

blendMode number

各图层之间的混合模式,取值范围:[0,1]

light boolean

是否参与光照,布尔类型,默认值:false

binaryFile object

生成热力图的二进制文件信息,bin文件结构描述:bin文件类似于dem文件结构的一个二维数组,数组元素可以是一个浮点数(标量)或者3个浮点数(向量),按行顺序排列。例如有321*701的bin文件,即一个321x701的行列矩阵,前701个浮点是第0行,再701个浮点是第1行,直至第320行。bin文件渲染后在空间上会对应渲染范围参数。

size (array) 纹理分辨率,注意:纹理尺寸不能超过2048,最大值示例:[2048,2048]


file (string) bin文件路径,路径示例:"D:\xxx1.bin"


needProject (boolean) 是否需要重投影


left (number) 距左边界


top (number) 距上边界


right (number) 距右边界


bottom (number) 距下边界


minLongitude (number) 最小经度


maxLongitude (number) 最大经度


minLatitude (number) 最小纬度


maxLatitude (number) 最大纬度

updateTime number

更新动画的插值时间,注意:参数仅更新方法执行时生效

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


addPoints(id, data, fn)

为HeatMap添加热力点

Parameters:
Name Type Description
id string

HeatMap的ID

data array

热力点(可以是单个或数组,数据结构请参考add方法)

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


clear(fn)

删除场景中所有的HeatMap

Parameters:
Name Type Description
fn function

可选的回调函数,请参考二次开发:异步接口调用方式


delete(ids, fn)

删除一个或多个HeatMap对象

Parameters:
Name Type Description
ids string | array

要删除的HeatMap对象的ID或者ID数组(可以删除一个或者多个)

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


focus(ids, distance, flyTime, rotation, fn)

自动定位到合适的观察距离

Parameters:
Name Type Description
ids string | array

HeatMap对象的ID或者ID数组

distance number

可选参数,观察点距离目标点(被拍摄物体)的距离,取值范围:[0.01~任意正数],如果设置为0或者不设置,系统自动计算

flyTime number

可选参数,相机飞行的时间,取值范围:[0~任意正数],单位:秒,默认值2秒

rotation array

可选参数,相机旋转的欧拉角:[Pitch,Yaw,Roll],数组元素类型:(number),取值范围:Pitch[-90~90] Yaw[-180~180] Roll[0]

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


get(ids, fn)

根据ID获取HeatMap的详细信息

Parameters:
Name Type Description
ids string | array

要获取的HeatMap对象ID或者ID数组(可以获取一个或者多个)

fn function

可选的回调函数,请参考二次开发:异步接口调用方式

Example
HeatMap的详细信息
{
            "id":	"heatmap1",
            "groupId":	"",
            "userData":	"",
            "bbox":	[488670.750000, -2488165.000000, 5.700000, 488670.750000, -2488165.000000, 5.700000],
            "range":	[0.000000, 100.000000],
            "data":	[]
        }

hide(ids, fn)

隐藏HeatMap

Parameters:
Name Type Description
ids string | array

HeatMap对象的ID或者ID数组

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


removePoints(id, pointIds, fn)

为HeatMap移除热力点

Parameters:
Name Type Description
id string

HeatMap的ID

pointIds array

热力点ID(单个或数组)

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


setBBox(id, newVal, fn)

设置BoundingBox 热力点坐标的范围

Parameters:
Name Type Description
id any

HeatMap的ID

newVal array

热力点坐标的范围:[minX,minY,minZ,maxX,maxY,maxZ],数组元素类型:[任意浮点数]

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


setRange(id, newVal, fn)

设置热力值的范围

Parameters:
Name Type Description
id any

HeatMap的ID

newVal array

热力值的范围:[min,max],数组元素类型:[任意浮点数]

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


show(ids, fn)

显示HeatMap

Parameters:
Name Type Description
ids string | array

HeatMap对象的ID或者ID数组

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


update(id, bbox, range, data, style, textureSize, opacityMode, opacityRange, blur, colors, blendMode, light, binaryFile, updateTime, fn)

修改HeatMap

Parameters:
Name Type Description
id string

字符串类型的ID

bbox array

热力点坐标的范围,数据结构参考add方法,如果不想更新bbox,可将此参数设置为undefined或者null

range array

热力值的范围,数据结构参考add方法,如果不想更新range,可将此参数设置为undefined或者null

data object | array

点数据,(注意:点的heatValue取值要在range所设定的范围内)数据结构请参考add方法,如果不想更新data,可将此参数设置为undefined或者null,对于每个点,支持以下属性:

  • id (string) 字符串类型的ID

  • coordinate (array) 热力点坐标,取值示例

  • radius (number) 热力点影像半径范围,取值范围:[任意数值]

  • heatValue (number) 热力值,取值范围:[range参数设定范围内的任意数值]

style HeatMapStyle

可选参数,热力图样式枚举,详情参考 HeatMapStyle

textureSize number

style=0或1时参数生效,纹理大小,默认值:1024,取值范围:[128~4096],注意:值越大纹理越清晰但创建越耗时

opacityMode number

style=0或1时参数生效,不透明度模式,默认值:1,取值范围:0:使用自定义色卡颜色的不透明度 1:使用热力点的不透明度

opacityRange array

style=0或1时参数生效,不透明度范围,默认值:[0~1.0],注意:仅opacityMode为1时有效

blur number

style=0或1时参数生效,热力点模糊因子,默认值:0.85,注意:模糊系数越高,渐变越平滑,取值范围:[0~1.0]

colors object

style=0或1时参数生效,自定义颜色卡区间数组,包含渐变控制参数、无效点颜色和颜色数组

gradient (boolean) 是否渐变


invalidColor (Color) 无效像素点的默认颜色,默认白色


colorStops (array) 调色板对象数组,每一个对象包含热力值和对应颜色值,结构示例:[{"value":0, "color":[0,0,1,1]}],每一个调色板对象支持以下属性:




color (Color) 值对应的调色板颜色

value (number) 值

blendMode number

混合模式,取值范围:[0,1]

light boolean

是否参与光照,布尔类型,默认值:false

binaryFile object

生成热力图的二进制文件信息,bin文件结构描述:bin文件类似于dem文件结构的一个二维数组,数组元素可以是一个浮点数(标量)或者3个浮点数(向量),按行顺序排列。例如有321*701的bin文件,即一个321x701的行列矩阵,前701个浮点是第0行,再701个浮点是第1行,直至第320行。bin文件渲染后在空间上会对应渲染范围参数。

size (array) 纹理分辨率,注意:纹理尺寸不能超过2048,最大值示例:[2048,2048]


file (string) bin文件路径,路径示例:"D:\xxx1.bin"


needProject (boolean) 是否需要重投影


left (number) 距左边界


top (number) 距上边界


right (number) 距右边界


bottom (number) 距下边界


minLongitude (number) 最小经度


maxLongitude (number) 最大经度


minLatitude (number) 最小纬度


maxLatitude (number) 最大纬度

updateTime number

更新动画的插值时间,注意:参数仅更新方法执行时生效

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


updateBegin()

用于批量多次修改对象的属性

在开始修改之前调用updateBegin,然后可以多次调用setXXX方法,最后调用updateEnd提交修改更新数据
注意:
updateBegin不是异步调用,不需要await,也没有回调函数参数

Inherited From:
Overrides:
Example
fdapi.xxx.updateBegin();
for (let i = 0; i < 1000; i++) {
     fdapi.xxx.setColor(i, Color.Yellow);
} 
fdapi.xxx.updateEnd(function () {
     log('update finished!');
});

updateEnd(fn)

用于批量多次修改对象的属性,与updateBegin配套使用
注意:
updateEnd是异步调用,可以用回调函数也可以await

Parameters:
Name Type Description
fn function

可选的回调函数,请参考二次开发:异步接口调用方式

Inherited From:
Overrides: