python:有GPS坐标和对应值,生成二维热图

标签 python gps heatmap

我有一个从 0 到 1 的 7130 个值的列表,这些值代表城市 map 上相应 GPS 坐标处的“热值”,我可以从数据文件中提取坐标。现在我想使用 python 生成一个热图,就像这里显示的图片一样。有谁知道这是怎么做到的吗?非常感谢

enter image description here

最佳答案

回答这个问题需要很多细节。

第一个问题是,到目前为止你得到了什么?

你有 map 图像吗?

您是否绘制了 gps 坐标以与图像中的像素位置重合?

您是否有一个查找表来对应您不同的“温度”值?

您是要创建静态输出图像,还是希望它动态更新? (这可能会决定您用来生成热图叠加层的方法。)

一旦您确定了这些细节,使用 Python (PIL/OpenCV) 中提供的各种图像库中的任何一种来生成像上面那样的热图应该相当简单。

这是我如何使用 OpenCV 从初始数据生成热图的粗略(过度简化)概述:
我将从两个图像开始, map 图像和相同大小的零值(黑色)图像。然后,您可以在 gps/像素位置将适当的值添加到空白图像的所有三个颜色 channel ,这将为您提供一个 3 channel 的灰色图像。 (因此,如果值为 0.25,则将 RG 和 B 设置为 0.25)
Initial Map image Initial 3 channel gray value map

然后,应用具有大内核大小的高斯模糊;适合点之间所需的混合量和图像大小。
Blurred value map
模糊后,您可能需要将模糊图像乘以某个因子(取决于内核大小)以提亮颜色。
Multiplied Blurred value map

接下来将查找表应用于模糊映射值:
Value map with LUT

然后您可以使用任意数量的组合(加法、乘法、addWeighted() 等)将两幅图像合并为一幅输出图像。或者,如果您想使用 alpha channel 以获得更清晰的叠加层,您可以使用描述的方法 here .
Final Heat map

关于python:有GPS坐标和对应值,生成二维热图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28952112/

相关文章:

java - 从 GPS 设备读取句子 NMEA 时出现 "java.net.SocketException: Connection reset "

php - 移动 GPS 网络应用程序

opencv - 从热图计算离散点

python - 嵌套的 Python 类需要访问封闭类中的变量

Python 代码 - SVD 与 numpy

python - 在不删除列的情况下对 DataFrame 列求和

android - Google map 比 LocationManager 更快地获得 GPS 定位!为什么?

r - 为什么 R 中的 heatmap.2 无法读取数字数据框?

javascript - Heatmaps.js 未捕获的 ReferenceError

python - 将 kivy 应用程序打包成一个 exe