用 ipyleaflet 覆盖 GeoTIFF 图像

Overlay a GeoTIFF image with ipyleaflet

我想通过下面的代码在ipyleaflet中使用ImageOverlay函数,它只显示没有geotiff层的openstreetmap,我该怎么做?

from ipyleaflet import Map, ImageOverlay

m = Map(center=(31, 48), zoom=9)
image = ImageOverlay(url="D:/aa//IDW.tif",
        bounds=((30, 46.1), (32.5, 48.8)))

m.add_layer(image);
m

您只能添加相对本地路径(如@Darwin1871所述)

这是来自 the docs

的快照

您可以将图片转为base64字符串:

import base64

with open("D:/aa/IDW.png", "rb") as file:
    base64_encoded = base64.b64encode(file.read())
    
image = ImageOverlay(
    url="data:image/png;base64," + base64_encoded.decode(),
    bounds=((30, 46.1), (32.5, 48.8))
)

由于许多浏览器 (Wikipedia) 不支持 TIFF 图像,因此请使用 PNG 或 JPEG。