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.
Catalogues STAC
Recherche et chargement d’imagerie satellite via le standard STAC (SpatioTemporal Asset Catalog) : Microsoft Planetary Computer, AWS Earth Search, Digital Earth Africa, Copernicus Data Space. Utilisé par STAC. Les bandes sont lues directement via rasterio (jamais de téléchargement complet du fichier).
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 |
STAC |
Oui (catalogue STAC + hrefs des assets), sauf sources() |
google_font() (styling) |
Oui (Google Fonts) : path_font()/local_font() sont locaux |
Map.add_basemap() |
Oui (tuiles web via contextily) |
WebMap (engine="folium") |
Non pour la génération de la carte (tuiles chargées côté navigateur), sauf add_wms/add_cog/add_raster sur une URL distante (lues au moment de l’appel Python via rio-tiler) |
WebMap (engine="lonboard"/"kepler.gl") |
Non : rendu local, sauf source de données distante |
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. Ce cache (comme celui de Climate) est stocké dans le dossier de cache utilisateur (~/.cache/cartograpy/ sous Linux, %LOCALAPPDATA%\cartograpy\ sous Windows), pas dans le dossier courant. 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, highlight-text, matplotlib, numpy, pandas, pillow, pypalettes, pyproj, rasterio, reportlab, rlPyCairo, requests, requests-cache, scipy, seaborn, shapely, svglib, tqdm, matplotlib-map-utils, pyfonts, 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, 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 |
osmnx |
OSM, géocodage via OSM (Geocoder) |
Oui, extra osm |
wbdata |
WorldBank |
Oui, extra worldbank |
earthengine-api (ee), geemap |
Gee (toutes les méthodes) |
Oui, extra gee |
pystac-client, planetary-computer |
STAC |
Oui, extra stac |
folium |
WebMap avec engine="folium" (moteur par défaut) |
Oui, extra webmap |
lonboard, pyarrow |
WebMap avec engine="lonboard" (rendu GPU deck.gl) |
Oui, extra webmap |
keplergl |
WebMap avec engine="kepler.gl" |
Oui, extra webmap (Python < 3.13 uniquement : pas de wheel publié) |
rio-tiler |
WebMap.add_raster()/.add_cog() |
Oui, extra webmap |
Un module concerné s’importe sans le paquet ; l’erreur, levée à l’utilisation, indique l’extra à installer (pip install cartograpy[gee], etc.). pip install cartograpy[all] installe tous les extras.
folium, lonboard (avec pyarrow), keplergl et rio-tiler sont regroupés dans l’extra webmap de pyproject.toml (contrairement à contextily/matplotlib-scalebar, totalement absents des métadonnées) : pip install cartograpy[webmap] les installe d’un coup, plutôt que de les ajouter un par un. keplergl n’est installé que sous Python < 3.13 (aucun wheel publié, compilation impossible au-delà).