阻止 folium 缩放栅格值

Stop folium from scaling raster values

提问人:Chris 提问时间:10/30/2023 更新时间:10/30/2023 访问量:19

问:

Folium 似乎对栅格值进行了一些缩放,这与分类栅格混淆。请参阅以下示例,仅使用值为 3、4 和 8 的栅格。8 显示为红色而不是栗色。我想阻止 folium 缩放数据,以便我可以使用分类颜色图。

import folium
import numpy as np
import branca.colormap as cm
from PIL import ImageColor


raster_data = np.random.randint(low=3, high=9, size=(10, 10))
raster_data[np.where(np.logical_and(raster_data>4, raster_data<8))]=4


custom_colormap = [(0, 255, 255, 255.0),
 (0, 0, 255, 255.0),
 (0, 255, 0, 255.0),
 (255, 128, 0, 255.0),
 (255, 0, 0, 255.0),
 (128, 0, 0, 255.0)]

cmap = branca.colormap.StepColormap(custom_colormap,
vmin=2.5, vmax=8.5, index=[2.5,3.5,4.5,5.5,6.5,7.5,8.5]))

cmap_func = lambda x: ImageColor.getcolor(cmap(x), 'RGBA') if ~np.isnan(x) else (0,0,0,0)



m=folium.Map(location=(-31.05, 151.15), zoom_start=12)


image_overlay = folium.raster_layers.ImageOverlay(
    image=raster_data,
    bounds=[[-31.0, 151.1], [-31.1, 151.2]],  
    zindex=1,
    colormap=cmap_func,
).add_to(m)

m.add_child(cmap)
m

Output

蟒蛇 folium

评论

0赞 r-beginners 10/30/2023
官方示例页面上关于图像叠加示例的注释对您有帮助吗?请注意,您需要提供 lambda x: (R,G,B,A) 形式的颜色图,其中 R,G,B,A 是介于 0 和 1 之间的浮点数。
0赞 Chris 10/31/2023
有 4 个选项。RGB 或 RGBA 介于 0 和 1 之间或介于 0 和 255 之间

答: 暂无答案