库根据点值生成热图贴图叠加而不是点密度

时间:2014-02-19 05:22:50

标签: google-maps map heatmap

我有一组数据点,每个点表示为lat / lng。这些点中的每一个都具有与之相关的值,该值随时间而变化。我想在地图上生成一个热图动画叠加层,以反映这段时间内价值的变化。注意:我可以生成一系列静态“快照”并将它们逐帧拼接到动画中,因此热图库本身不必支持动画。

我的第一次尝试是使用HeatMapLayer,它是Google地图可视化库的一部分。然而,根据问题Heatmap based on average weights and not on the number of data points,似乎这个特定的可视化库坚持在确定点的密度时确定在给定点周围使用什么颜色。

我的解决方案只考虑点的值而不是密度。举个例子,假设一个人希望可视化一个城市的环境温度,但是城市的某些部分安装的温度计比其他部分要多。您不希望安装了许多温度计的小区域因为有许多温度计而显示为红色 - 只要它在那里很热,您就会希望它显示为红色。

基本上,我希望每个点都有一种颜色可以反映点值的强度,然后是任意两点颜色之间的渐变空间过渡。它不一定是谷歌地图 - 关键标准只是i)必须以点值为基础而不是点密度ii)必须叠加在地图上,而iii)理想地具有编程抽象,以lat / lng的方式进行讨论,而不需要手动转换为例如欧几里德空间。

2 个答案:

答案 0 :(得分:1)

global temps您可以通过多个操作来完成此操作:

gmaps.symbol_layer

然后将它们分层:

fig_gmap.add_layer(red_markers)

fig_gmap.add_layer(黄色标记)

fig_gmap.add_layer(green_markers)

fig_gmap.add_layer(blue_markers)

我无法成功地传递一个可以为我的热图提供良好的临时颜色的值,只是总是在密度方面有所变化,这是一个小技巧。有一种方法可以做到这一点,并且无需使用Java动画标记图标,这将是很好的。

答案 1 :(得分:0)

也许你应该试试heatmap.js。它有一个Google地图插件:http://www.patrick-wied.at/static/heatmapjs/plugin-gmaps-layer.html

此库使用由坐标和值组成的数据集。我认为它会按照你描述的方式运作。