geosolution/math~HeatmapModel(options)

地理解决方案数学模型,热力图模型。热力图无高度(或深度)信息,显示层次和添加或绘制顺序有关。

Summary

Methods:
addMathCell

添加热力点Heatpoint对象

getGradient

获取当前渐变区间

getHeightScale

获取三维热力图高度比例

getSizeUnit

获取热力点的半径单位

setGradient

设置热力图的渐变区间

setHeightScale

设置三维热力图高度比例

setSizeUnit

热力点的半径单位

setTexture

设置纹理。当HeatmapModel初始化使用纹理时有效。

Constructor

new HeatmapModel(options)

热力图模型HeatmapModel的构建函数

Parameters:
Name Type Description
options Object

可选参数

Name Type Description
size Number

单个热力点所覆盖的半径。大于0时有效,小于等于0或者不提供时采用默认值,默认为40 。

gradient JSON

渐变颜色参数,对应不同的热力值区间。默认值为{ 0.25: "rgb(0,0,255)", 0.55: "rgb(0,255,0)", 0.85: "yellow", 1.0: "rgb(255,0,0)" }。

blur Number

模糊系数,表示点的模糊范围。取值区间[0,1],数值越大模糊程度越高。默认值为0.85。

opacity Array.<Number>

不透明度。长度为2的数组,分别对应最小值和最大值。取值区间[0,1],默认值为[0,1]。

maxValue Number

最大热力值。默认使用传入热力点的最大值。

minValue Number

最小热力值。默认值为0。热力值渲染区间为(minValue,maxValue]。

blurSize Number

模糊半径大小,为热力点半径之外模糊部分,模糊模式为"S"时有效。

blurMode String

模糊模式,确定模糊实现的方式。枚举值:"S"、"R",分辨代表阴影渐变和径向渐变。默认为"R"。

useGradientOpacity Boolean

使用渐变颜色的不透明度,默认为false。设置为true时,options.opacity无效。

image Image | ImageData

热力图渲染热力区间使用的图片。onload后传入或传入ImageData数据。

sizeUnit String

热力点半径单位。枚举值,支持"m"或"px",分别代表单位为"米"或"像素",默认为"px"。

mode String

热力图模式,默认为"2d",即2d模式,可选值还有"3d",即3d模式。

gridSize Number

三维热力图的采样大小,像素单位,默认为10,值越小,曲面效果越精细,但同时性能消耗越大,此项会对性能产生较大影响,不建议小于5。

minHeight Number

三维热力图的最小高度,地图高程单位,默认为0。

heightScale Number

三维热力图的高度比例,默认为1,即最高50个像素对应的地理高度*1。

depthTest Boolean

是否开启深度测试,默认为false。

Throws:

无参数校验,参数类型错误时,方法内部报错。

Example
let heatmap=new geosolution.math.HeatmapModel{
     size: 11,
     blur: 1,
     gradient:{
        0.0:"blue",0.25:"blue",0.50:"green", 0.75:'yellow',1.0:"red"}
 }

Methods

addMathCell(mathCell)

添加热力点Heatpoint对象

Parameters:
Name Type Description
mathCell module:geosolution/cell~Heatpoint

Heatpoint对象

getGradient() → {JSON}

获取当前渐变区间

Returns:
JSON -

热力图的渐变区间

getHeightScale() → {Number}

获取三维热力图高度比例

Returns:
Number -

heightScale 高度比例值

getSizeUnit() → {String}

获取热力点的半径单位

Returns:
String -

热力点的半径单位

setGradient(gradient)

设置热力图的渐变区间

Parameters:
Name Type Description
gradient JSON

热力图的渐变区间

Example
const gradient={
.2:'rgb(0, 255, 255)',
.5:'rgb(0, 110, 255)',
 .8:'rgb(100, 0, 255)'
 }
heatmapModel.setGradient(gradient);

setHeightScale(scale)

设置三维热力图高度比例

Parameters:
Name Type Description
scale Number

高度比例参数

setSizeUnit(unit)

热力点的半径单位

Parameters:
Name Type Description
unit String

单位。支持米和像素,分别标识为"m"和"px"。缺省值为"px"。

setTexture(image)

设置纹理。当HeatmapModel初始化使用纹理时有效。

Parameters:
Name Type Description
image Image | ImageData

渲染颜色使用的图片,onload后调用。或ImageData数据。