Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 一种基于值的热图算法_Algorithm_Google Maps_Heatmap - Fatal编程技术网

Algorithm 一种基于值的热图算法

Algorithm 一种基于值的热图算法,algorithm,google-maps,heatmap,Algorithm,Google Maps,Heatmap,我在找一些关于热图算法的文档。我已经找到了一些实现,但它们并没有按照我所看到的方式计算梯度。我想将数据点与一个值关联起来,而不是通过“点击数”进行计算 我找到的唯一资源是源代码。这是一些很棒的东西,但我希望在动态中创建渐变,而不是从历史数据集创建渐变 我希望创建一个类似于的实时热图 Hmm,如果你想从分散的“点击”中推断出一个“热图”(像素值的规则网格)(就像在推特世界中一样),一个明显的方法是首先为每个像素计算该精确像素的点击数(即,将点击位置量化到网格),然后应用卷积滤波器,例如高斯滤波器,

我在找一些关于热图算法的文档。我已经找到了一些实现,但它们并没有按照我所看到的方式计算梯度。我想将数据点与一个值关联起来,而不是通过“点击数”进行计算

我找到的唯一资源是源代码。这是一些很棒的东西,但我希望在动态中创建渐变,而不是从历史数据集创建渐变


我希望创建一个类似于的实时热图

Hmm,如果你想从分散的“点击”中推断出一个“热图”(像素值的规则网格)(就像在推特世界中一样),一个明显的方法是首先为每个像素计算该精确像素的点击数(即,将点击位置量化到网格),然后应用卷积滤波器,例如高斯滤波器,在数据上“混合”它。
如果可以读取/转换OpenGL片段着色器-,请参见。

。 实时只是意味着您必须实时重新计算热图值


我只是浏览了一下推特的世界。看起来每个tweet都会给位置增加一些价值,而所有位置都会随着时间呈指数衰减。这将允许不定期添加数据,同时显示排序的平均值。因此,对于地图中的每个像素,请执行以下操作:

固定时间间隔:输出=输出*0.99

打嗝时:输出+=打嗝的值

这些将分别应用于地图中的每个像素。您可以使用任何您想要的涂抹将值分散到像素上,甚至可以在圆上应用相同的值。当然,0.99应该手动调整,直到你得到你喜欢的东西


指数衰减意味着即使是非常活跃的像素也会有一个有限的输出——换句话说,它是稳定的。

从我收到的答案中,我得出了我自己的结论,请评论它的准确性

因此,对于基于“点击数”的热图,有一个像素矩阵,其值为0:

[0]
[0]
[0]

当你有一个命中,你增加相应的元素

[1 3 2]
[4 1 2]
[0 3 5]

如果有值而不是点击,则将值添加到矩阵中。例如,让我们使用美元金额,给出以下示例矩阵:

[20.34美元42.42美元55.23]
[$45.87$00.87$03.75]
[$08.99$32.05$88.65]

然后,我们将收集数据。这将产生:

[897.973.984]
[977.087.351]
[669.959.994]

现在,您可以使用您选择的算法来扩散或模糊该图像。像这样


然后你可以对这些值应用你想要的任何梯度。

我不想按点击量量化,尽管我想按一个值量化。一个区域可能有很多“点击”,但值较低,而另一个区域可能有很少的“点击”,但值较高,因此热图不仅由位置点渲染,而且由与该点相关的值渲染。此外,我参考了推特世界的实时功能,而不是实现。嗯,然后你只需在一个像素处将这些值相加,然后运行卷积滤波器:)有没有什么例子可以分享你通过这样做得到的结果?