Cómo usar mapas de folium en PyQt5 – Python

Folium tiene la capacidad de guardar los mapas resultados en un archivo html para ser posteriormente utilizado. Una alternativa, sería levantar de disco, asignando ese  archivo guardado, al widget de PyQt5. Más efectivo, sin guardar nada en disco, salvar el mapa de resultado a un io.ByteIO en memoria y asignar mediante el método setHtml ese objeto binario.

import io
import sys

import folium
from PyQt5 import QtWidgets, QtWebEngineWidgets

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    m = folium.Map(
        location=[45.5236, -122.6750], tiles="Stamen Toner", zoom_start=13
    )

    data = io.BytesIO()
    m.save(data, close_file=False)

    w = QtWebEngineWidgets.QWebEngineView()
    w.setHtml(data.getvalue().decode())
    w.resize(640, 480)
    w.show()

    sys.exit(app.exec_())

About AVB

Check Also

interface go golang

Qué es interface{} en GO (Golang)?

What is an interface? An interface is two things: it is a set of methods, …

Leave a Reply

Your email address will not be published. Required fields are marked *