Prettymapp – Kartenerstellung mit OpenStreetMap-Daten in einer Streamlit-Web-App
(github.com/chrieke)- Prettymapp ist eine Web-App und ein Python-Paket zum Erstellen von Karten aus OpenStreetMap-Daten und unterstützt die Kartenerstellung sowohl in Streamlit-Apps als auch in Python-Code
- Es handelt sich um ein neu geschriebenes Projekt von prettymaps mit Fokus auf Konfiguration passend zur Web-App-Oberfläche und auf Geschwindigkeit
- Komplexere Konfigurationsoptionen wurden reduziert; stattdessen wurden Geschwindigkeitsverbesserungen, geringere Code-Komplexität und eine vereinfachte Konfigurationsoberfläche gewählt. Das Projekt ist teilweise getestet und ergänzt um eine Streamlit-Web-App-Komponente
- Die Web-App kann direkt unter prettymapp.streamlit.app genutzt werden; lokal wird sie nach
uv sync --extra streamlitmituv run streamlit run streamlit-prettymapp/app.pygestartet - Das Python-Paket wird mit
pip install prettymappinstalliert; mitget_aoi,get_osm_geometries,PlotundSTYLESwerden Bereiche definiert, OSM-Daten heruntergeladen, Karten gerendert und Bilder gespeichert - Die Standardstile sind
Peach,Auburn,CitrusundFlannel; überdraw_settingssowiePlot-Argumente wieshapeundcontour_widthlassen sich Stil und Layout anpassen - Mit
get_osm_geometries_from_xmllassen sich OSM-XML-Dateien plotten, die etwa von openstreetmap.org exportiert wurden; über die EinstellungLANDCOVER_CLASSESwird ausgewählt, welche OSM-Landcover-Klassen angezeigt werden
1 Kommentare
Hacker-News-Kommentare
Man kann es selbst ausprobieren: https://wfcmzortl5n8cqhdowr6dm.streamlit.app/
pip install -r requirements.txtpip install -r requirements-dev.txtpip install -r streamlit-prettymapp/requirements.txtstreamlit run streamlit-prettymapp/app.pyDer Befehl
streamlitwird durch die dritterequirements.txtinstalliert. Die Karte von Macau wird korrekt angezeigt, bleibt aber beiCreating map... (may take up to a minute)hängen, daher fragte ich mich, ob der OSM-API-Key nicht funktioniert.Update: In Gegenden mit ziemlich vielen OSM-Elementen scheint es einfach sehr langsam zu sein. Tatsächlich hängt es in dem Schritt, in dem OSM in Geometrieobjekte umgewandelt wird, beim Versuch, 400.000 Objekte zu konvertieren.
Update 2: https://github.com/chrieke/prettymapp/issues/26
Wenn ich den Namen meiner Stadt verwende, nimmt es als vernünftigen Standardwert das Stadtzentrum, aber mein Viertel ist ziemlich weit davon entfernt und erscheint nur auf der Karte, wenn ich sehr stark herauszoome.
get_aoistatt einer Adresse Koordinaten verwenden.https://github.com/chrieke/prettymapp/blob/main/prettymapp/g...
Ich bin nicht sicher, ob das wirklich eine Neufassung oder nur eine bloße Adaption ist. Man sollte vorsichtig sein, weil man die Lizenz möglicherweise nicht ändern darf.
Sie sind ein gutes Unternehmen, das versucht, in diesem Bereich mit guten Tools und Karten ein Geschäft aufzubauen, und sie leisten auch einen großen Beitrag zu Open Source. Mehrere ihrer Tools sind Open Source und lassen sich selbst hosten. Auf der Website gibt es auch recht gute Beispiele für thematische Karten.
Man erwartete, dass Mainstream-Funktionalprogrammierung OCaml/Haskell sein würde, tatsächlich wurde es aber React, eine JavaScript-Library mit funktionalem Charakter; bei Immediate-Mode-GUIs erwartete man imgui, aber es fühlt sich an, als sei es in Form von Gradio/Streamlit gekommen. Ich habe es selbst nicht ausprobiert, aber grob betrachtet fühlt es sich so an.