Python ipylelet导出映射为PNG、JPG或SVG

2022-02-25 00:00:00 python image export leaflet

问题描述

我曾尝试使用ipyfollet将数据的可视化导出为PNG或任何其他文件格式,但我找不到一种有效的方法。例如,在Folium中有map.save(Path)。ipylet中有没有我在研究中遗漏的能够帮助我实现目标的库或方法?

以下是生成地图的一些示例代码

from ipyleaflet import *
center = [34.6252978589571, -77.34580993652344]
zoom = 10
m = Map(default_tiles=TileLayer(opacity=1.0), center=center, zoom=zoom)
m

我要将此地图导出为图像文件,而无需手动拍摄屏幕快照。

我找到两个允许导出javascript传单地图的来源: https://github.com/aratcliffe/Leaflet.print和https://github.com/mapbox/leaflet-image

遗憾的是,我无法在python中使用它们。


解决方案

我和我的同事找到了一种不错的方法来导出ipyfollet(Python)图像。下面是它的工作原理。导出需要Folium库。此示例中的GeoJson数据已准备好样式属性:

import folium
map = folium.Map([51., 12.], zoom_start=6,control_scale=True)
folium.GeoJson(data).add_to(map)
map.save('map.html')

结果如下:

可以用子进程调用在python(Windows)中进一步处理html文件,以从中生成PDF或PNG。我希望这会有所帮助,因为Python的ipyfollet文档几乎不存在。

相关文章