TopoJSON est une extension de GeoJSON tenant compte de la topologie. Elle utilise un encodage par arcs partagés (les limites entre polygones ne sont stockées qu'une seule fois) et une quantification entière des coordonnées — le fichier obtenu est 60 à 80 % plus petit qu'un GeoJSON équivalent. Format d'entrée standard pour D3.js, Mapshaper et Observable ; idéal pour les cartes choroplèthes interactives et les atlas web.
Caractéristiques principales
À propos du format TopoJSON
TopoJSON a été imaginé par Mike Bostock, l'auteur de D3.js, pour résoudre un problème simple : en GeoJSON, deux polygones voisins stockent deux fois leur frontière commune. TopoJSON regroupe toutes les lignes dans un tableau d'arcs commun, auquel les objets font référence. En prime, les coordonnées sont arrondies sur une grille entière et écrites en incréments — le fichier s'allège d'un coup.
Le format s'utilise pour le graphisme web et l'analyse : choroplèthes dans D3, atlas interactifs, cartes de frontières dans Observable, calques légers pour des applications hors ligne. Deuxième motif : la simplification — lors de la généralisation, les frontières communes bougent ensemble et aucun interstice n'apparaît entre quartiers voisins.
En sortie, un seul document : chaque calque y devient un objet distinct — roads, buildings, water, et ainsi de suite — et les attributs des objets sont conservés. Coordonnées en WGS84, jusqu'à 100 000 objets par calque. La topologie est construite par notre propre code, sans dépendance externe.
Le prix de la compacité, c'est l'arrondi des coordonnées. Le pas de la grille dépend de la taille de la zone : de l'ordre du mètre pour un quartier, de quelques centaines de mètres pour un pays. Invisible sur une carte web, mais pour des mesures précises, prenez le GeoJSON ou le GeoPackage.
Logiciels pour ouvrir les fichiers TopoJSON
Les programmes suivants peuvent ouvrir, modifier et traiter les fichiers TopoJSON (Topology-Aware JSON) (.topojson) exportés depuis OSM2CDR :
Caractéristiques du format
- Standard ouvert
- 2D uniquement
- Sans perte de qualité
- Stocke les attributs
- Sortie : 1 fichier
- TopoJSON (open spec). Topologically encoded GeoJSON: shared borders stored once, file size 30-80% smaller. Used by D3.js.
Qui utilise les cartes TopoJSON
Comment exporter en TopoJSON
Comment ouvrir après l’export
- D3.js — chargez topojson-client et déployez le calque voulu : topojson.feature(topology, topology.objects.buildings), puis le d3.geoPath habituel.
- Mapshaper — déposez le fichier sur mapshaper.org : objets et attributs sont visibles, et l'on y fait aussi la simplification et l'export en SHP ou GeoJSON.
- QGIS — ouvre le .topojson comme une couche vecteur ordinaire via GDAL ; pratique pour contrôler la géométrie à l'œil.
- Conversion en GeoJSON — topo2geo buildings=buildings.geojson < map.topojson, depuis le paquet topojson-client, ou bien ogr2ogr.
- Leaflet et MapLibre — ne comprennent pas le format directement : déployez-le en GeoJSON côté client avec la bibliothèque topojson-client, puis alimentez-les comme d'habitude.
Cartes populaires en TopoJSON
Export de cartes en TopoJSON (Topology-Aware JSON)
Téléchargez des cartes TopoJSON professionnelles depuis OpenStreetMap. Génération instantanée, n’importe quelle zone.