GeoJSON (.geojson)
IETF StandardLe 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 :
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 65REPRÉSENTATION ASCII : {\n "type": "Feature
Normalisation : IETF RFC 7946
Spécifications techniques
| Architecture de conteneur | Document 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) |
| Compression | Texte non compressé (facilement compressé sur HTTP via Gzip ou Brotli) |
| Boutisme des octets | Flux de texte UTF-8 |
| Espaces colorimétriques | N/A (Données géographiques) |
| Canaux et structure | Points, MultiPoints, LineStrings, MultiLineStrings, Polygons, MultiPolygons, GeometryCollections et propriétés personnalisées |
| Dimensions maximales | Espace de coordonnées du système géodésique mondial 1984 (WGS 84) : Longitude (-180 à +180), Latitude (-90 à +90) |
| Transparence | Aucune |
| Streaming et progressif | Le 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 technique | GeoJSON (Actuel) | KML | GPX | SHP |
|---|---|---|---|---|
| Adoption en cartographie web | Par défaut 100% universel pour le SIG web | Par défaut pour Google Earth | Par défaut pour les appareils GPS et de fitness | Norme SIG de bureau héritée |
| Ordre des coordonnées | [Longitude, Latitude] (X, Y) | Longitude, Latitude, Altitude | Latitude, Longitude | Coordonnées X, Y |
| Style de syntaxe | Paires clé-valeur JSON épurées | Balises XML verbeuses (<kml>) | Balises XML verbeuses (<gpx>) | Binaire multi-fichiers (.shp, .shx, .dbf) |
| Schéma des propriétés | Objet de propriétés JSON arbitraire | Balises de schéma ExtendedData | Balises de schéma GPX fixes | Colonnes 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
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.
Paires de conversion GeoJSON associées
La conversion de vecteurs GeoJSON en Google KML traduit des tableaux de coordonnées JSON légers en documents XML structurés adaptés à Google Earth et Google Maps.
La conversion de fichiers Google KML en GeoJSON transforme les données géographiques XML hiérarchiques en un format vectoriel JavaScript Object Notation léger pour les cartes Web modernes.
La conversion de données vectorielles GeoJSON en GPX traduit des objets JSON géographiques standard en un format basé sur XML optimisé pour les appareils de navigation physique.