I have been able to overlay a jpeg image on folium map using folium.raster_layers.ImageOverlay. Now I am trying to rotate this image with a given angle. Does anyone have an idea for doing it?
I have been able to overlay a jpeg image on folium map using folium.raster_layers.ImageOverlay. Now I am trying to rotate this image with a given angle. Does anyone have an idea for doing it?
import folium
from PIL import Image
import requests
import io, base64
response = requests.get("https://upload.wikimedia.org/wikipedia/commons/f/f4/Mercator_projection_SW.jpg")
img = Image.open(io.BytesIO(response.content))
m = folium.Map([37, 0], zoom_start=1)
for r in [0,45,90,180]:
b = io.BytesIO()
img.rotate(r).save(b, format='PNG')
b64 = base64.b64encode(b.getvalue())
folium.raster_layers.ImageOverlay(
image=f'data:image/png;base64,{ b64.decode("utf-8") }',
name=f'Image rotated {r}',
bounds=[[-82, -180], [82, 180]],
opacity=1,
interactive=False,
cross_origin=False,
zindex=1,
alt='Wikipedia File:Mercator projection SW.jpg'
).add_to(m)
folium.LayerControl().add_to(m)
m