4 Punkte von GN⁺ 2023-08-24 | 1 Kommentare | Auf WhatsApp teilen
  • 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 streamlit mit uv run streamlit run streamlit-prettymapp/app.py gestartet
  • Das Python-Paket wird mit pip install prettymapp installiert; mit get_aoi, get_osm_geometries, Plot und STYLES werden Bereiche definiert, OSM-Daten heruntergeladen, Karten gerendert und Bilder gespeichert
  • Die Standardstile sind Peach, Auburn, Citrus und Flannel; über draw_settings sowie Plot-Argumente wie shape und contour_width lassen sich Stil und Layout anpassen
  • Mit get_osm_geometries_from_xml lassen sich OSM-XML-Dateien plotten, die etwa von openstreetmap.org exportiert wurden; über die Einstellung LANDCOVER_CLASSES wird ausgewählt, welche OSM-Landcover-Klassen angezeigt werden

1 Kommentare

 
GN⁺ 2023-08-24
Hacker-News-Kommentare
  • Für alle, die OSM-Karten anpassen wollen, ist ein Figma-Plugin zum Importieren von OSM-Daten nützlich: https://www.figma.com/community/plugin/1251030017228239072/V...
  • Da die Beispiel-App gerade wegen Dienstverweigerung nicht erreichbar war, habe ich sie selbst auf Streamlit deployed, das ich noch nie benutzt hatte. Der Deploy-Prozess war im Projekt zwar nicht dokumentiert, aber allein mit der übergeordneten Doku war es sehr einfach.
    Man kann es selbst ausprobieren: https://wfcmzortl5n8cqhdowr6dm.streamlit.app/
    • Lokal habe ich es so gestartet:
      pip install -r requirements.txt
      pip install -r requirements-dev.txt
      pip install -r streamlit-prettymapp/requirements.txt
      streamlit run streamlit-prettymapp/app.py
      Der Befehl streamlit wird durch die dritte requirements.txt installiert. Die Karte von Macau wird korrekt angezeigt, bleibt aber bei Creating 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
    • Hat nicht lange durchgehalten
    • Auch hier wegen Traffic-Spitze gestorben ;)
  • Wirklich großartig. Ich frage mich, ob es eine API-Dokumentation gibt. Es wäre schön, wenn man die Karte statt auf einen Stadt-/Ortsnamen auf eine GPS-Position zentrieren könnte.
    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.
  • Wurde früher schon mehrfach behandelt: https://hn.algolia.com/?q=Prettymap
    • Laut README basiert Prettymapp auf einer Neufassung des großartigen prettymaps-Projekts von @marceloprates
  • Weiß jemand eindeutig, unter welcher Lizenz es veröffentlicht wird? Das Original war AGPL; wenn die neu geschriebene Version eine freizügigere Lizenz hat, wäre das ziemlich nett.
    • Sieht nach MIT aus: https://github.com/chrieke/prettymapp/blob/main/setup.py#L15...
    • Das Original ist AGPL und die neue Version MIT; ich frage mich, ob das rechtlich möglich ist.
      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.
    • Warum wäre das ziemlich nett?
  • Sieht aus wie ein Etsy-Shop-Generator
  • Interessante App. Früher habe ich es auch wirklich genossen, Karten in Ortelius anzupassen, bevor es verschwunden ist, und Felt von felt.com war ebenfalls gut.
  • MapTiler hat einen ordentlichen SaaS-Dienst. Wir nutzen ihre Vektorkarten zusammen mit MapLibre.
    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.
  • Es ist interessant zu sehen, wie ein Konzept, auf das die Leute gehofft hatten, in anderer Form umgesetzt wird.
    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.
  • HN hat die App gekillt!