new CesiumHeatmap()
engineExtensions/analysis/CesiumHeatmap.js, line 5
请参考以下示例:
1、热力图热力图
Example
// 参考示例:
http://10.10.130.72:8086/#/modules/cesium/visualization/themeLayer/heat-map
// ES5引入方式
const { CesiumHeatmap } = zondy.cesium
// ES6引入方式
import { CesiumHeatmap } from "@mapgis/webclient-cesium-plugin"
// 1 构造热力图初始化参数
const options = {
// 热力半径
radius: 36,
// 图层透明度
alpha: 0.85,
// 模糊因子
blur: 0.75,
// 热力图颜色梯度
gradient: {
0.3: 'rgb(0,0,255)',
0.65: 'rgb(255,255,0)',
0.8: 'rgb(255,128,0)',
0.95: 'rgb(255,0,0)'
},
// 是否自动重算热力半径
canChange: false
}
// 2 创建热力图
const heatMap = zondy.cesium.CesiumHeatmap.create(
// Cesium场景视图对象
viewer,
// 热力图范围
bounds,
// 热力图额外初始化参数
options
)
// 3 构建热力图数据,在矩形框内创建随机点,200个
const bounds = {
east: 114.40295687456313,
north: 30.467989447011963,
south: 30.465570241010646,
west: 114.40024175306026
}
const array = zondy.cesium.AlgorithmLib.getRandomPointByRect(
bounds.west,
bounds.south,
bounds.east,
bounds.north,
200
)
const heatMapData = []
for (let i = 0; i < array.length; i++) {
heatMapData.push({
x: array[i].x,
y: array[i].y,
// 获取30到150之间的随机值
value: parseInt(Math.random() * (150 - 30 + 1) + 30, 10)
})
}
// 4 添加数据集,并设置数据范围
heatMap.setWGS84Data(30, 150, heatMapData)
Methods
-
CesiumHeatmap.create(viewer, boundingbox, options){Object}
engineExtensions/analysis/CesiumHeatmap.js, line 118 -
创建并返回一个热力图对象
Name Type Default Description viewerCesium.Viewer null 可选 场景视图对象,详见Cesium.Viewer
boundingboxCesium.Rectangle null 可选 热力图范围,详见Cesium.Rectangle
optionsObject {} 可选 可选参数
Name Type Default Description minCanvasSizeNumber 700 可选 热力图画布最小尺寸
maxCanvasSizeNumber 2000 可选 热力图画布最大尺寸
radiusFactorNumber 60 可选 如果没有给出半径,则使用数据点大小因子(高度和宽度中的较大者除以这个数字产生使用的半径)
spacingFactorNumber 1.5 可选 边界周围的额外空间(点半径乘以这个数字产生间距)
maxOpacityNumber 0.8 可选 如果未在热力图选项对象中给出,则使用的最大不透明度
minOpacityNumber 0.1 可选 如果未在热图选项对象中给出,则使用的最小不透明度
blurNumber 0.85 可选 如果未在热力图选项对象中给出,则使用的模糊值为0.85。模糊值越高,渐变越平滑。
gradientObject {'0.3': 'rgb(0,0,255)', '0.65': 'yellow', '0.8': 'orange', '0.95': 'red'} 可选 热力图颜色梯度
canChangeBoolean true 可选 默认自动重算热力半径
Returns:
Type Description Object 热力图对象 -
CesiumHeatmap.mercatorToWgs84()
engineExtensions/analysis/CesiumHeatmap.js, line 208 -
Convert a mercator location into a WGS84 location
p: the mercator lcation like {x, y}