GeoJSON (.geojson)

IETF Standard

Le format Geographic JavaScript Object Notation (GeoJSON) est la norme universelle et native pour le web permettant d'encoder des structures de données géographiques, largement utilisée dans la cartographie web moderne (Leaflet, Mapbox, OpenLayers) et les applications SIG.

Convertir GEOJSON en KML

Convertisseur gratuit de GEOJSON vers KML dans le navigateur. Convertissez des fichiers instantanément sur votre appareil.

Inspecter et métadonnées

Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers GeoJSON en inspectant la séquence d'octets binaires de tête :

Sélectionnez ou déposez des fichiers ici

Conversion 100 % privée dans le navigateur - les fichiers ne quittent jamais votre appareil

ou coller Ctrl+V
Garantie de confidentialité sans transmission réseau : 0 octet téléchargé vers des serveurs externes. Tout le traitement a lieu localement dans le bac à sable de votre navigateur.

Signature d'en-tête au niveau des octets (Magic Bytes)

Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers GeoJSON en inspectant la séquence d'octets binaires de tête :

SIGNATURE HEXADÉCIMALE (DÉCALAGE 0) :

7B 0A 20 20 22 74 79 70 65 22 3A 20 22 46 65 61 74 75 72 65

REPRÉSENTATION ASCII : {\n "type": "Feature

Normalisation : IETF RFC 7946

Spécifications techniques

Architecture de conteneurDocument JSON conforme à la RFC 7946 représentant des entités géographiques (Features), des collections d'entités (FeatureCollections) et des géométries (Geometries)
CompressionTexte non compressé (facilement compressé sur HTTP via Gzip ou Brotli)
Boutisme des octetsFlux de texte UTF-8
Espaces colorimétriquesN/A (Données géographiques)
Canaux et structurePoints, MultiPoints, LineStrings, MultiLineStrings, Polygons, MultiPolygons, GeometryCollections et propriétés personnalisées
Dimensions maximalesEspace de coordonnées du système géodésique mondial 1984 (WGS 84) : Longitude (-180 à +180), Latitude (-90 à +90)
TransparenceAucune
Streaming et progressifLe GeoJSON délimité par des lignes (GeoJSONL / GeoJSONSeq) permet la diffusion continue de millions d'entités

Matrice de comparaison technique : GeoJSON vs Concurrents

Attribut techniqueGeoJSON (Actuel)KMLGPXSHP
Adoption en cartographie webPar défaut 100% universel pour le SIG webPar défaut pour Google EarthPar défaut pour les appareils GPS et de fitnessNorme SIG de bureau héritée
Ordre des coordonnées[Longitude, Latitude] (X, Y)Longitude, Latitude, AltitudeLatitude, LongitudeCoordonnées X, Y
Style de syntaxePaires clé-valeur JSON épuréesBalises XML verbeuses (<kml>)Balises XML verbeuses (<gpx>)Binaire multi-fichiers (.shp, .shx, .dbf)
Schéma des propriétésObjet de propriétés JSON arbitraireBalises de schéma ExtendedDataBalises de schéma GPX fixesColonnes fixes dBase IV (.dbf)

Modes de corruption courants et guide de récupération hexadécimale

Les points de la carte apparaissent dans l'océan près de l'Antarctique au lieu de leur emplacement réel.

Cause racine: Les valeurs de latitude et de longitude ont été accidentellement inversées dans le tableau des coordonnées.

Récupération: Inverser les positions des coordonnées [lon, lat] à l'aide du convertisseur GeoJSON de File2File.

Analyse de sécurité et vecteurs d'attaque de l'analyseur

Les propriétés GeoJSON peuvent contenir des entrées utilisateur arbitraires qui doivent être assainies avant d'être affichées dans les fenêtres contextuelles de la carte pour éviter les attaques XSS.

Vecteurs d'attaque connus

  • Script intersite (XSS) via du code HTML non échappé dans les propriétés des entités GeoJSON affichées dans les infobulles de la carte.
  • Déni de service via des GeometryCollections profondément imbriquées ou des polygones à un million de sommets.
  • Falsification de requête côté serveur (SSRF) via le chargement d'entités GeoJSON distantes.

Bonnes pratiques de défense: Assainir toutes les chaînes de texte de propriétés avec DOMPurify avant de les insérer dans les fenêtres contextuelles de la carte.

Origines historiques et jalons

2016L'IETF standardise officiellement le format GeoJSON sous le nom de RFC 7946, imposant les systèmes de référence de coordonnées WGS 84.
2014GitHub introduit le rendu cartographique visuel interactif natif pour tous les fichiers .geojson.
2008Howard Butler, Sean Gillies et la communauté SIG open source publient la spécification initiale GeoJSON 1.0.

Principaux avantages

  • Norme web native : s'intègre directement dans les objets JavaScript des bibliothèques de cartographie par navigateur (Mapbox GL JS, Leaflet).
  • La structure JSON lisible par l'homme permet une création, un filtrage et un débogage programmatiques sans effort.
  • Schéma de propriétés arbitraire : associez n'importe quelle métadonnée personnalisée (population, nom, vitesse, revenu) directement aux formes géométriques.

Limites techniques

  • Verbosité du texte : stocke les coordonnées en virgule flottante sous forme de chiffres ASCII répétés, ce qui entraîne des tailles de fichiers plus importantes que les Shapefiles binaires ou FlatGeobuf.
  • La RFC 7946 impose strictement l'ordre [Longitude, Latitude], ce qui perturbe fréquemment les développeurs habitués à 'Lat/Long'.
  • Les grands polygones comportant des millions de sommets peuvent ralentir le rendu du DOM du navigateur web.

Anecdotes techniques

  • La norme officielle GeoJSON ordonne les coordonnées sous la forme [Longitude, Latitude] (ordre cartésien X, Y), ce qui est exactement l'inverse de la façon dont on parle ('Latitude, Longitude').
  • Si vous commitez un fichier .geojson sur GitHub, GitHub le rend automatiquement sous forme de carte interactive cliquable.
  • La RFC 7946 impose que les anneaux de délimitation des polygones suivent la 'règle de la main droite' : les anneaux extérieurs doivent être enroulés dans le sens inverse des aiguilles d'une montre.

Foire aux questions techniques

Pourquoi mes coordonnées GeoJSON sont-elles ordonnées [longitude, latitude] au lieu de [latitude, longitude] ?

Parce qu'en mathématiques et en informatique graphique, les coordonnées sont toujours spécifiées sous la forme (X, Y). La longitude représente l'axe X horizontal et la latitude représente l'axe Y vertical.

Comment puis-je convertir un fichier KML ou Shapefile en GeoJSON ?

Vous pouvez convertir des fichiers KML Google Earth ou des Shapefiles Esri en GeoJSON propre et prêt pour le web en quelques secondes à l'aide de File2File.app directement dans votre navigateur.

Quelle est la différence entre GeoJSON et Shapefile ?

Le Shapefile est un format binaire multi-fichiers obsolète datant des années 1990 (.shp, .shx, .dbf). Le GeoJSON est un format web ouvert moderne, en un seul fichier, écrit en JSON propre.