4 points par GN⁺ 2023-08-24 | 1 commentaires | Partager sur WhatsApp
  • Prettymapp est à la fois une webapp et un package Python permettant de créer des cartes à partir de données OpenStreetMap, avec prise en charge de la génération de cartes aussi bien dans l’app Streamlit que depuis du code Python
  • Il s’agit d’une réécriture de prettymaps, axée sur des réglages adaptés à une interface webapp et sur la vitesse
  • Le projet réduit les options de configuration complexes et privilégie l’amélioration des performances, la réduction de la complexité du code et une interface de configuration simplifiée ; il est partiellement testé et ajoute des composants de webapp Streamlit
  • La webapp est directement utilisable sur prettymapp.streamlit.app ; en local, elle se lance avec uv run streamlit run streamlit-prettymapp/app.py après uv sync --extra streamlit
  • Le package Python s’installe avec pip install prettymapp et permet, via get_aoi, get_osm_geometries, Plot et STYLES, de définir une zone, télécharger des données OSM, rendre une carte et enregistrer une image
  • Les styles par défaut sont au nombre de quatre : Peach, Auburn, Citrus et Flannel ; le style et la mise en page se règlent avec draw_settings et des arguments de Plot comme shape et contour_width
  • get_osm_geometries_from_xml permet de tracer des fichiers OSM XML exportés depuis openstreetmap.org ou d’autres sources, et le réglage LANDCOVER_CLASSES permet de modifier la sélection des classes OSM landcover à afficher

1 commentaires

 
GN⁺ 2023-08-24
Avis sur Hacker News
  • Pour ceux qui veulent personnaliser des cartes OSM, ce plugin Figma qui importe des données OSM est utile : https://www.figma.com/community/plugin/1251030017228239072/V...
  • Comme l’appli d’exemple s’est retrouvée en déni de service, je l’ai déployée moi-même sur Streamlit, que je n’avais encore jamais utilisé. Le projet ne documentait pas le processus de déploiement, mais avec la documentation générale, c’était très simple
    Vous pouvez l’essayer vous-même : https://wfcmzortl5n8cqhdowr6dm.streamlit.app/
    • Pour l’exécuter en local, j’ai fait ceci
      pip install -r requirements.txt
      pip install -r requirements-dev.txt
      pip install -r streamlit-prettymapp/requirements.txt
      streamlit run streamlit-prettymapp/app.py
      La commande streamlit est installée par le troisième requirements.txt. La carte de Macao s’affiche correctement, mais ça reste bloqué sur Creating map... (may take up to a minute), donc je me demandais si la clé d’API OSM ne fonctionnait pas
      Mise à jour : on dirait que c’est simplement très lent dans les zones qui comptent beaucoup d’éléments OSM. En réalité, ça reste bloqué à l’étape où OSM est converti en objets géométriques, en essayant de convertir 400 000 objets
      Mise à jour 2 : https://github.com/chrieke/prettymapp/issues/26
    • Ça n’aura pas tenu longtemps
    • Celui-ci aussi est tombé sous le pic de trafic ;)
  • Vraiment excellent. Je me demande s’il existe une documentation d’API. Ce serait bien de pouvoir centrer la carte sur une position GPS plutôt que sur le nom d’une ville ou d’un village
    Quand j’utilise le nom de ma ville, ça prend le centre-ville comme valeur par défaut raisonnable, mais mon quartier en est assez éloigné, donc il n’apparaît pas sur la carte à moins de dézoomer énormément
  • Le sujet a déjà été abordé plusieurs fois auparavant : https://hn.algolia.com/?q=Prettymap
    • D’après le README, Prettymapp est basé sur une réécriture de l’excellent projet prettymaps de @marceloprates
  • Quelqu’un sait-il clairement sous quelle licence c’est distribué ? L’original était sous AGPL, mais si la version réécrite est sous une licence plus permissive, ce serait plutôt intéressant
    • Ça semble être du MIT : https://github.com/chrieke/prettymapp/blob/main/setup.py#L15...
    • L’original est sous AGPL et la nouvelle version sous MIT ; je me demande si c’est juridiquement possible
      Je ne suis pas sûr qu’il s’agisse vraiment d’une réécriture, plutôt que d’une simple adaptation. Prudence, il se peut que la licence ne puisse pas être changée
    • En quoi est-ce une chose plutôt intéressante ?
  • On dirait un générateur de boutiques Etsy
  • Application intéressante. Avant sa disparition, j’aimais aussi beaucoup personnaliser des cartes dans Ortelius, et Felt de felt.com était sympa aussi
  • MapTiler propose un bon service SaaS. Nous utilisons leurs cartes vectorielles avec MapLibre
    C’est une bonne entreprise qui essaie de bâtir une activité avec de bons outils et de bonnes cartes dans ce domaine, et qui contribue beaucoup à l’open source. Plusieurs de ses outils sont open source, ce qui permet aussi de les auto-héberger. Leur site web contient aussi de bons exemples de cartes thématiques
  • C’est amusant de voir un concept que les gens attendaient être réalisé sous une autre forme
    On s’attendait à ce que la programmation fonctionnelle grand public soit OCaml/Haskell, mais en pratique c’est devenu React, une bibliothèque JavaScript à caractère fonctionnel ; et pour les interfaces graphiques en mode immédiat, on attendait imgui, mais elles semblent être arrivées sous des formes comme Gradio/Streamlit. Je ne les ai pas utilisées moi-même, mais c’est l’impression que ça donne à première vue
  • HN a tué l’appli !