Sources de données et dépendances
Cartograpy combine des traitements 100% locaux (aucun réseau requis) et des appels à des services externes. Cette page indique, pour chaque fonctionnalité, si elle a besoin du réseau et quelle dépendance Python la rend possible.
Sources externes
GeoBoundaries
Frontières administratives (ADM0–ADM5) via l’API publique geoboundaries.org. Utilisé par GeoBoundaries/Bound. Réponses mises en cache localement (requests_cache, 7 jours par défaut).
Natural Earth
Géométries de continents et de pays (niveau mondial, faible résolution) via un export téléchargé depuis naturalearth.s3.amazonaws.com. Utilisé par Bound.continents() / Bound.get_world().
OpenStreetMap
Données OSM (routes, POI, bâtiments…) via Overpass, à travers osmnx. Utilisé par la classe OSM et par Geocoder.bbox()/.search().
Nominatim
Géocodage et géocodage inverse (adresse ↔︎ coordonnées) via geopy. Utilisé par Geocoder.geocode()/.reverse_geocode()/.search().
HydroSHEDS
Réseaux hydrographiques (HydroRIVERS) par région continentale, téléchargés depuis data.hydrosheds.org. Utilisé par Hydro.download().
SRTM (tuiles Skadi)
Modèle numérique de terrain (~30m) téléchargé tuile par tuile depuis un miroir AWS S3, puis mosaïqué. Utilisé par DEM.
World Bank
Indicateurs socio-économiques par pays, via wbdata. Utilisé par WorldBank.
NASA POWER
Séries météo/climat globales (température, précipitations, vent, rayonnement, humidité) journalières à climatologiques, via l’API REST power.larc.nasa.gov : sans clé API. Utilisé par Climate. Réponses mises en cache localement (requests_cache, 7 jours par défaut).
Google Earth Engine
Imagerie satellite et analyses à grande échelle. Utilisé par Gee : nécessite en plus un compte Google Earth Engine et une authentification (ee.Authenticate()), au-delà de l’installation des paquets Python.
Ce qui a besoin du réseau : et ce qui n’en a pas besoin
| Fonctionnalité | Réseau requis ? |
|---|---|
load, save, describe, list_geofiles |
Non : fichiers locaux uniquement |
VectorTools, RasterTools, centroids, join, fusion, add_column, split_multipolygon, clip_gdf_by_* |
Non |
Project (toutes les méthodes) |
Non |
styling (polices Google Fonts exceptées, voir ci-dessous) |
Non |
GeoBoundaries / Bound |
Oui (geoboundaries.org, Natural Earth) : mis en cache après le premier appel |
OSM |
Oui (Overpass via osmnx) |
Geocoder |
Oui (Nominatim et/ou Overpass) |
Hydro |
Oui (hydrosheds.org), puis lecture locale une fois téléchargé |
DEM |
Oui (AWS S3), puis lecture locale une fois téléchargé |
WorldBank |
Oui (API World Bank) |
Climate |
Oui (API NASA POWER) : mis en cache après le premier appel |
Gee |
Oui, + authentification Google Earth Engine préalable |
google_font() (styling) |
Oui (Google Fonts) : path_font()/local_font() sont locaux |
Map.add_basemap() |
Oui (tuiles web via contextily) |
WebMap |
Non pour la génération de la carte (tuiles chargées côté navigateur au moment de l’affichage, pas au moment de l’appel Python) |
GeoBoundaries utilise requests_cache : une fois une requête effectuée, les appels identiques suivants (même territoire, même niveau ADM) sont servis depuis le cache local sans repasser par le réseau, y compris hors connexion. clear_cache() et set_cache_expire_time() permettent d’ajuster ce comportement.
Dépendances cœur
Toutes déclarées dans pyproject.toml, installées automatiquement avec pip install cartograpy :
cartopy, click, drawarrow, geopandas, geojson, geopy, gpxpy, highlight-text, matplotlib, numpy, osmnx, pandas, pillow, pykml, pypalettes, pyproj, rasterio, reportlab, requests, requests-cache, seaborn, shapely, svglib, tabulate, tqdm, wbdata, fiona, matplotlib-map-utils, jupyter, geemap, pyfonts, marimo, scienceplots, mplcyberpunk, geohexgrid.
scienceplots et mplcyberpunk alimentent styling.set_style() / list_all_styles() ; geohexgrid alimente les grilles hexagonales de cartograpy.mapper (make_hex_grid, aggregate_to_hex, plot_hexgrid_choropleth).
Plusieurs de ces paquets (cartopy, rasterio, fiona, geopandas, shapely, pyproj) s’appuient sur des bibliothèques système natives (GDAL, GEOS, PROJ). Sur Windows en particulier, privilégiez des roues précompilées (wheels) ou un gestionnaire comme conda/uv plutôt qu’une compilation depuis les sources.
Dépendances optionnelles (dégradation silencieuse)
Certaines fonctionnalités vérifient la présence d’un paquet à l’exécution plutôt que de l’exiger au chargement du module ; si le paquet manque, une erreur explicite n’apparaît qu’au moment où la fonctionnalité est réellement utilisée.
| Paquet | Fonctionnalité concernée | Déclaré dans pyproject.toml ? |
|---|---|---|
contextily |
Map.add_basemap() (fonds de carte tuilés) |
Non |
matplotlib-scalebar |
Barre d’échelle alternative sur Map/SituationMap |
Non |
earthengine-api (ee) |
Gee (toutes les méthodes) |
Non : écart à corriger, voir ci-dessous |
Écart connu : Gee importe le paquet ee (earthengine-api) via _require_ee(), mais ce paquet n’apparaît nulle part dans les dépendances de pyproject.toml : seul geemap y est déclaré (en dépendance cœur, alors qu’il n’est en réalité utilisé qu’à travers ce même mécanisme optionnel). Installer cartograpy seul ne suffit donc pas à faire fonctionner Gee : il faut ajouter manuellement pip install earthengine-api.