首页 > 解决方案 > 在 folium 中显示栅格数据(不处理数据值)。

问题描述

我正在尝试使用 folium 显示栅格类型数据(numpy 数组)。这就是我到目前为止所拥有的。

import folium
from folium.plugins import ImageOverlay
import numpy as np
from matplotlib import cm

z = np.random.rand(100, 100)
m = folium.Map([30, -80], zoom_start=6, tiles='stamentoner')
folium.plugins.ImageOverlay(
    image=z,
    name='sample map',
    opacity=1,
    bounds=[[25, -75.], [35., -85.]],
    interactive=False,
    cross_origin=False,
    zindex=1,
    colormap=cm.viridis
).add_to(m)
folium.LayerControl().add_to(m)
m.save('sample.html')

我现在要做的是为 z 的某些值分配无颜色;例如 z < 0.9。我试过了:

z = np.where(z < 0.9, np.nan, z)

但它没有用。nan 细胞仍然有颜色。

标签: pythonmatplotlibrasterfolium

解决方案


我认为您可以尝试在导入传单之前将要屏蔽的值转换为 0(或其他 nodata 值)。在栅格中将此值设置为 nodata。将图像保存为 PNG。然后你导入传单。


推荐阅读