Générateur de cartes artistiques haute résolution à partir des données OpenStreetMap. Choisissez un lieu, une zone, un thème — récupérez un PNG, un PDF ou un SVG prêt à imprimer.
Construit sur prettymaps de Marcelo Prates — voir CREDITS.md.
- 3 formes de zone — cercle, rectangle/carré, polygone
- 7 thèmes professionnels + éditeur de couleurs personnalisé
- Aperçu interactif sur fond de carte avant génération
- Recherche de lieu par nom, ou clic direct sur la carte
- Export PNG, JPEG, PDF, SVG jusqu'à 600 dpi
- Habillage titre, coordonnées et échelle entièrement paramétrables
Aucune installation n'est nécessaire pour essayer : l'application tourne sur https://cartopro-map-studio.streamlit.app/. Installez-la localement pour générer de grandes zones — l'instance en ligne dispose d'environ 1 Go de mémoire et peut redémarrer au-delà de 5 km de côté en centre-ville.
git clone https://github.com/bouhaaddii/cartopro-map-studio.git
cd cartopro-map-studio
run.batrun.bat crée l'environnement virtuel, installe les dépendances et lance l'application.
git clone https://github.com/bouhaaddii/cartopro-map-studio.git
cd cartopro-map-studio
./run.shpython -m venv venv
source venv/bin/activate # Windows : venv\Scripts\activate
pip install -r requirements.txt
streamlit run app.pyL'application s'ouvre sur http://localhost:8501.
requirements.txt fige trois paquets mutuellement verrouillés. En upgrader un seul casse l'application.
| Paquet | Contrainte | Pourquoi |
|---|---|---|
Shapely |
<2.0 |
osmnx 1.2.2 importe TopologicalError, symbole supprimé dans Shapely 2.x → ImportError au démarrage. |
osmnx |
==1.2.2 |
prettymaps 1.0.0 utilise l'API geometries_from_*, renommée features_from_* en osmnx 1.3. |
prettymaps |
==1.0.0 |
Seule version dont la signature plot() correspond à ce code. |
geopandas |
<1.0 |
geopandas 1.0 exige Shapely ≥ 2.0. |
Les autres dépendances ne sont volontairement pas figées : pip choisit la version compatible avec votre interpréteur.
Une migration vers Shapely 2 + osmnx 2 impliquerait de réécrire l'appel à prettymaps.
Réinstallation propre :
pip install --force-reinstall -r requirements.txt- Rechercher un lieu — « Rabat, Maroc », « Eiffel Tower »… ou cliquer sur la carte.
- Choisir la forme — cercle, rectangle/carré ou polygone.
- Régler la zone — la taille est annoncée en kilomètres réels.
- Choisir un thème, personnaliser titre, coordonnées et échelle.
- Aperçu, puis Générer.
| Réglage | Effet |
|---|---|
| 🟦 Transformer en Carré | Verrouille le ratio à 1:1 — carré réel au sol, pas en degrés |
| Taille de la zone | Largeur, en degrés de longitude (conversion en km affichée) |
| Rapport hauteur/largeur | De 0,5 (paysage) à 2,0 (portrait) — case décochée uniquement |
La zone demandée est transmise à prettymaps sous forme de périmètre exact, construit en projection métrique locale (UTM) : un carré de 4 km fait 4 km sur les deux axes, quelle que soit la latitude.
L'API Overpass est gratuite et souvent saturée. Dans l'ordre :
- Réduire la zone (moins de 5 km de côté en centre-ville).
- Décocher les couches inutiles — les bâtiments sont de loin la plus lourde.
- Attendre 5 à 10 minutes : Overpass limite le débit par adresse IP.
- Relancer — OSMnx met en cache, la seconde tentative est quasi instantanée.
pip install pytest matplotlib
pytest tests/ -qL'instance officielle tourne sur https://cartopro-map-studio.streamlit.app/. Pour déployer la vôtre depuis un fork :
Sur https://share.streamlit.io : New app → votre dépôt, branche main, fichier app.py.
Dans Advanced settings, choisir Python 3.10. Ce n'est pas un détail : prettymaps 1.0.0 impose PyYAML==6.0, dont la dernière version compilée disponible s'arrête à Python 3.10. Sous 3.11 ou plus, pip tente de la compiler depuis les sources et échoue.
Les dépendances géospatiales sont lourdes : le premier build prend 10 à 15 minutes.
Si le build échoue malgré tout sur Shapely, ajoutez un fichier packages.txt à la racine contenant libgeos-dev : Streamlit Cloud installera GEOS et compilera Shapely depuis les sources.
Ce projet est une interface. Le moteur de rendu cartographique est prettymaps, créé et maintenu par Marcelo Prates — c'est lui qui transforme les données brutes d'OpenStreetMap en cartes esthétiques. Vous pouvez le soutenir sur ko-fi.
L'accès aux données passe par OSMnx de Geoff Boeing, et les données elles-mêmes viennent d'OpenStreetMap, relevées par des centaines de milliers de contributeurs bénévoles.
Liste complète, publications à citer et demandes explicites des auteurs : CREDITS.md.
GNU AGPL-3.0 — voir LICENSE.
prettymaps est sous AGPL-3.0, une licence copyleft : tout projet qui l'utilise et qui est publié ou hébergé doit adopter la même licence.
- ✅ Usage commercial, modification et redistribution autorisés.
⚠️ Le code source doit rester accessible, licence et copyright inclus.⚠️ Clause réseau (§13) — si vous déployez cette application en ligne, ses utilisateurs ont le droit d'en obtenir le code source.
Données cartographiques © contributeurs OpenStreetMap, sous licence ODbL. L'attribution est obligatoire sur toute carte publiée — ajoutez © OpenStreetMap contributors sur vos exports si vous les diffusez.
L'auteur de prettymaps demande par ailleurs explicitement que son travail ne soit pas utilisé pour vendre des NFT.