基于点值而不是点密度生成热图地图叠加的库

Posted

技术标签:

【中文标题】基于点值而不是点密度生成热图地图叠加的库【英文标题】:Library to generate heat map map overlay based off point values not point densities 【发布时间】:2014-03-19 06:26:19 【问题描述】:

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

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

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

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

【问题讨论】:

【参考方案1】:

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

这个库使用由坐标和值组成的数据集。我认为它会按照您描述的方式运行。

【讨论】:

【参考方案2】:

global temps你可以使用多个:

gmaps.symbol_layer

然后将它们分层:

fig_gmap.add_layer(red_markers)

fig_gmap.add_layer(yellow_markers)

fig_gmap.add_layer(green_markers)

fig_gmap.add_layer(blue_markers)

我无法成功传递一个值,为热图提供良好的温度颜色,只是总是在密度方面得到一些变化,这是一个技巧小马。如果有一种方法可以做到这一点并在没有 java 的情况下为标记图标设置动画效果,那就太好了。

【讨论】:

以上是关于基于点值而不是点密度生成热图地图叠加的库的主要内容,如果未能解决你的问题,请参考以下文章

基于平均权重而不是数据点数量的热图

PIE SDK热力图

我可以在地理地图上叠加 ggplot 热图吗?

高德地图中的热力图是啥功能

R中的热图或密度图

R语言自定义编写函数生成学生化残差的直方图(dist of studentized residuals),并叠加标准正太曲线核密度曲线轴须图rug曲线检验模型是否满足正态性(normality)