You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Folium地图(Python交互式地图)上绘制指定区域的温度GIF热力图?

能否将指定坐标范围的GIF热力图叠加到Python交互式地图上?

可以,完全没问题。以下是用Folium实现的具体方案,以及其他可选工具的思路:

Folium 实现步骤

Folium的ImageOverlay组件原生支持将图片/GIF叠加到指定地理边界上,正好匹配你的需求:

  1. 安装并导入依赖
    先确保安装folium:

    pip install folium
    

    代码中导入模块:

    import folium
    
  2. 定义地理边界
    将你提供的坐标转换为Folium要求的「左下角、右上角」坐标对格式:

    # 格式:[[南纬度, 西经度], [北纬度, 东经度]]
    bounds = [[38.503915, -119.564209], [41.211203, -114.060059]]
    
  3. 创建地图并叠加GIF
    初始化地图后直接添加GIF图层:

    # 计算区域中心点,作为地图初始视角
    center_lat = (38.503915 + 41.211203) / 2
    center_lon = (-119.564209 + -114.060059) / 2
    
    # 创建地图实例
    m = folium.Map(location=[center_lat, center_lon], zoom_start=7)
    
    # 叠加GIF热力图
    folium.raster_layers.ImageOverlay(
        image="your_heatmap.gif",  # 替换为你的GIF文件路径
        bounds=bounds,
        opacity=0.7,  # 调整透明度,让底图和热力图融合更自然
        name="24小时温度热力图"
    ).add_to(m)
    
    # 添加图层控制器,方便开关热力图显示
    folium.LayerControl().add_to(m)
    
    # 保存为可交互的HTML文件
    m.save("temperature_heatmap_map.html")
    

    运行代码后,打开生成的HTML文件就能看到GIF在指定区域动态播放。

其他可选工具

  • Plotly Express:如果你熟悉Plotly生态,可通过scatter_mapbox结合自定义图层实现GIF叠加,适合需要更丰富交互组件的场景。
  • ipyleaflet:基于ipywidgets的交互式地图库,通过ImageOverlay组件也能实现相同效果,更适合Jupyter Notebook环境下的实时交互。

注意事项

  • 尽量保证GIF的宽高比例与地理边界的比例一致,避免热力图出现拉伸变形。
  • 若GIF带有透明背景,叠加效果会更自然;不透明背景可通过调整opacity参数优化显示。

内容的提问来源于stack exchange,提问作者pwnkit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 17:15:16