Le GeoJSON est un standard ouvert, fondé sur JSON, pour représenter des données géographiques vectorielles : points, lignes, polygones et leurs variantes multi-parties, chacun avec des attributs arbitraires (propriétés). Il est défini par la RFC 7946 (2016) et constitue la lingua franca de la cartographie web, car les navigateurs et les bibliothèques JavaScript l'analysent nativement.

Structure

Un document GeoJSON est généralement une FeatureCollection contenant des objets Feature, chacun doté d'une geometry (un Point, une LineString, un Polygon, un MultiPolygon, etc.) et d'un objet properties. Les types de géométrie pris en charge sont Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon et GeometryCollection.

Ordre des coordonnées et SCR

La RFC 7946 fixe les coordonnées sous la forme [longitude, latitude] (x, y) et impose le WGS 84 (EPSG:4326) comme unique système de coordonnées de référence. Les anciennes versions de GeoJSON antérieures à la RFC autorisaient un membre crs, mais le standard actuel l'a supprimé — si vos données ne sont pas en WGS 84, reprojetez-les avant de les exporter en GeoJSON conforme. Les coordonnées sont en degrés décimaux, et la longitude vient en premier.

Pourquoi c'est important

Le GeoJSON est lisible par l'humain, facile à comparer (diff) dans un gestionnaire de versions, et trivialement exploité par Leaflet, MapLibre, OpenLayers et la plupart des outils spatiaux. La contrepartie est la taille : il est verbeux et non compressé, de sorte que pour de grands jeux de données des formats comme FlatGeobuf, les tuiles vectorielles ou GeoParquet sont bien plus performants.

Piège fréquent

L'inversion de l'ordre des coordonnées. Les personnes habituées au « lat, lon » intervertissent fréquemment les valeurs, plaçant les entités dans le mauvais hémisphère ou dans l'océan au large de l'Afrique de l'Ouest (près de 0,0). Vérifiez toujours que l'ordre est bien [longitude, latitude].

Pour aller plus loin