Sources de données et dépendances

Dépendances réseau, bibliothèques optionnelles et contraintes externes.

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
Astuce

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).

Avertissement

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.

Astuce

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à).