将 folium 地图导出为 png

问题描述 投票:0回答:3

我正在处理使用 python、folium 和 geojson 创建的地图,类似于这个.

但是,与其将此图像作为交互式 HTML 文档,不如将其简单地导出为 png 或 svg。

使用语法:

m = folium.Map( # etc..)
m.save("filename.png")

保存文件,但它仍然是 HTML,而不是 png。渲染 not-to-html 的正确输出命令是什么?

python geojson folium
3个回答
26
投票

我用这个:

... 其中 m 是我的地图对象。 而5是渲染地图的时间(秒)。

import io
from PIL import Image

img_data = m._to_png(5)
img = Image.open(io.BytesIO(img_data))
img.save('image.png')

0
投票

在解决同样的问题后,我发现这个解决方案使用 pdfkit、wkthmltopdf 和 fitz,但没有 SElENIUM 或任何其他需要打开浏览器的东西(我一直在挑战自己,只在我的 iPhone/iPad 上用 Google Colab 编码): 无需 SELENIUM 即可将 Folium 地图转换为 PNG.

首先,我使用 pdfkit 将 folium 地图从 HTML 转换为 PDF,然后我使用 fitz 将 PDF 转换为 PNG,并使用 pillow 将图像剪切出来。

它可以使用很多改进,但它现在对我有用。

上面Colab链接中的详细信息.


0
投票

在这种情况下,我发现 PrintScreen 是一个福音,它是一个单键程序,但您也可以通过在无头模式下使用浏览器来做类似的事情,手动更快。

© www.soinside.com 2019 - 2024. All rights reserved.