cartograpy

Package Python pour charger, traiter et cartographier des données géographiques.

cartograpy est une boîte à outils Python orientée cartographie, traitement géospatial et production de cartes statiques ou web : de la récupération des données jusqu’au rendu final, sans limite géographique : n’importe quel pays, continent ou zone d’étude, partout dans le monde.

Ce que vous pouvez faire

Charger et récupérer des données

Fichiers locaux (shp, geojson, gpkg, kml, gpx, csv, parquet, tif) et sources en ligne : frontières administratives, OpenStreetMap, hydrographie, altitude (SRTM), World Bank, Google Earth Engine.

Transformer vos couches

VectorTools et RasterTools pour la géométrie, les projections, le clipping, les statistiques, le raster processing et bien plus.

Produire des cartes

Cartes statiques (Map, Map2D), mini-cartes de situation (SituationMap) et cartes interactives (WebMap). Choroplèthes bivariées (plot_bivariate_choropleth) et grilles hexagonales / hexbin (make_hex_grid, aggregate_to_hex, plot_hexgrid_choropleth).

Organiser un projet

Project structure vos données et sorties, garde une trace du CRS, valide l’intégrité des jeux de données (shapefiles + sidecars).

Utilisation

cartograpy est composé de 5 modules principaux :

  • data : pour l’obtention des données
  • processing : pour le traitement des données
  • mapper : pour la visualisation des données sur une carte
  • styling : pour la mise en forme de la carte
  • project : pour organiser un projet cartographique (dossiers, CRS, manifeste)

graph TD
    A[cartograpy] --> B[data<br><i>Obtention des données</i>]
    A --> C[processing<br><i>Traitement des données</i>]
    A --> D[mapper<br><i>Visualisation sur carte</i>]
    A --> E[styling<br><i>Mise en forme de la carte</i>]
    A --> F[project<br><i>Organisation de projet</i>]

Obtention de données géographiques

Pour télécharger simplement des données dans cartograpy, vous devez utiliser le module data. Il existe présentement sept (7) types de données que vous pouvez télécharger avec cartograpy :

  • les limites des continents et le découpage administratif des pays (GeoBoundaries, Bound)
  • des données par géocodage (Geocoder)
  • des données libres d’OSM : écoles, bâtiments, routes, hôpitaux… (OSM)
  • des données hydrographiques (Hydro)
  • des données de la World Bank, différents indicateurs de différentes sources (WorldBank)
  • un modèle numérique de terrain SRTM à 30 m de résolution (DEM)
  • des séries météo/climat globales via NASA POWER (Climate)

Ces ressources permettent un gain considérable de temps et facilitent la création de vos cartes.

graph TD
    A[cartograpy.data<br><i>Téléchargement de données</i>]
    A --> B[GeoBoundaries<br><i>Limites des continents<br>Découpage administratif</i>]
    A --> C[Geocoder<br><i>Données par géocodage</i>]
    A --> D[OSM<br><i>Données OSM : écoles,<br>bâtiments, routes, hôpitaux</i>]
    A --> E[Hydro<br><i>Données hydrographiques</i>]
    A --> F[WorldBank<br><i>Indicateurs de la Banque<br>Mondiale et autres sources</i>]
    A --> G[DEM<br><i>SRTM à 30 m de résolution</i>]
    A --> H[Climate<br><i>Météo/climat NASA POWER</i>]

Note

Un huitième connecteur, Gee (Google Earth Engine), est disponible via cartograpy.data.Gee ou cartograpy.Gee : il nécessite en plus le paquet earthengine-api et une authentification interactive (ee.Authenticate()).

Toutes les données sont formatées pour être retournées sous forme de GeoDataFrame ou de DataFrame, afin d’en faciliter la manipulation.

Parcours recommandé

  1. Installation

    Voir Installation : Python 3.11+ et les dépendances système de la stack géospatiale.

  2. Quickstart

    Voir Quickstart : une première carte en moins de 10 lignes.

  3. Premier projet

    Voir Premier projet : structurer un dossier de travail avec Project.

  4. Guides par tâche

    Explorer les Guides selon votre besoin : charger des données, récupérer des frontières administratives, traiter du vecteur ou du raster, produire des cartes statiques ou web.

Architecture en un coup d’œil

Cinq blocs pivots, chacun un sous-package organisé par responsabilité : voir Architecture du package pour le détail.

Bloc Rôle
cartograpy.data chargement, sauvegarde, sources en ligne
cartograpy.processing traitement vectoriel et raster
cartograpy.mapper rendu cartographique statique et web
cartograpy.styling polices, palettes, styles graphiques
cartograpy.project organisation de projet
Note

Tout reste importable directement depuis cartograpy (from cartograpy import Map, Bound, Project) ou depuis chaque sous-module (from cartograpy.data import Bound) : l’organisation interne en fichiers est un détail d’implémentation, pas une contrainte d’usage.