GeoJSON (de l'anglais Geographic JSON, signifiant littéralement JSON géographique) est un format ouvert d'encodage d'ensemble de données géospatiales simples utilisant la norme JSON (JavaScript Object Notation).
Il permet de décrire des données de type point, ligne, chaîne de caractères, polygone, ainsi que des ensembles et sous-ensembles de ces types de données et d'y ajouter des attributs d'information qui ne sont pas spatiales.
Le format GeoJSON, contrairement à la majorité des standards de systèmes d'informations géographiques, n'est pas écrit par l'Open Geospatial Consortium (OGC), mais par un groupe de travail de développeurs au travers d'internet.
Ce format est notamment utilisé par : Leaflet Leaflet 0.6 released, Code Sprint in DC with MapBox sur le site de Leaflet, une bibliothèque logicielle libre en JavaScript de cartographie interactive depuis la version 0.6. Cette bibliothèque est notamment utilisée par le projet OpenStreetMap (OSM). D3.js, une bibliothèque libre en JavaScript permettant l'affichage de données numériques sous une forme graphique et dynamique. Le langage de programmation Python. Attention toutefois, en fonction de certaines implémentations, les coordonnées peuvent être dans un ordre différent. Exemple:
Norme GeoJSON : [longitude, latitude] Leaflet : [latitude, longitude]
Exemples
Fichier au format GeoJSON { "type": "FeatureCollection", "features": [
"type": "Feature", "geometry": { "type": "Point", "coordinates": [102.0, 0.5] }, "properties": { "prop0": "value0"
},
"type": "Feature", "geometry": { "type": "LineString", "coordinates": [ [102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0] ] }, "properties": { "prop0": "value0", "prop1": 0.0
},
"type": "Feature", "geometry": { "type": "Polygon", "coordinates": [ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ] ] }, "properties": { "prop0": "value0", "prop1": { "this": "that" }
] }
Objets géométriques
+Objets primitifs Type Exemples Point Fichier:SFA Point.svg { "type": "Point", "coordinates": [30, 10] } Segments Fichier:SFA LineString.svg { "type": "LineString", "coordinates": [ [30, 10], [10, 30], [40, 40] ] } Polygones Fichier:SFA Polygon.svg { "type": "Polygon", "coordinates": [ [ [30, 10], [40, 40], [20, 40], [10, 20], [30, 10] ] ] } Fichier:SFA Polygon with hole.svg { "type": "Polygon", "coordinates": [ [ [35, 10], [45, 45], [15, 40], [10, 20], [35, 10] ], [ [20, 30], [35, 35], [30, 20], [20, 30] ] ] }
+Ensembles géométriques Type ExemplesEnsemble de points Fichier:SFA MultiPoint.svg { "type": "MultiPoint", "coordinates": [ [10, 40], [40, 30], [20, 20], [30, 10] ] } Lignes brisées Fichier:SFA MultiLineString.svg { "type": "MultiLineString", "coordinates": [ [ [10, 10], [20, 20], [10, 40] ], [ [40, 40], [30, 30], [40, 20], [30, 10] ] ] } Ensemble de polygones Fichier:SFA MultiPolygon.svg { "type": "MultiPolygon", "coordinates": [ [ [ [30, 20], [45, 40], [10, 40], [30, 20] ] ], [ [ [15, 5], [40, 10], [10, 20], [5, 10], [15, 5] ] ] ] } Fichier:SFA MultiPolygon with hole.svg { "type": "MultiPolygon", "coordinates": [ [ [ [40, 40], [20, 45], [45, 30], [40, 40] ] ], [ [ [20, 35], [10, 30], [10, 10], [30, 5], [45, 20], [20, 35] ], [ [30, 20], [20, 15], [20, 25], [30, 20] ] ] ] }
Notes et références
Voir aussi TopoJSON, une extension de GeoJSON utilisant les informations topologiques, afin de réduire les doublons et ainsi de réduire la taille tout en améliorant potentiellement la vitesse de rendu. Shapefile, autre format d'informations géographiques ouvert.
Lien externe geojson.org, site officiel. Wiki de TopoJSON
Catégorie:Format ouvert Catégorie:Système d'information géographique Catégorie:Format de sérialisation de données Catégorie:JavaScript