Geo JSON | |
---|---|
Förlängning | ..json, .geojson |
MIME -typ | application/vnd.geo+json |
Utvecklaren | Internet Engineering Council |
Formattyp | GIS filformat |
Utökad från | JSON |
öppet format ? | Ja |
Hemsida | geojson.org |
GeoJSON är ett öppet format för lagring av geografiska datastrukturer baserat på JSON .
Formatet kan lagra primitiva typer för att beskriva geografiska objekt, såsom: punkter (adresser och platser), linjer (gator, motorvägar, gränser), polygoner (länder, stater, jordskiften). Så kallade multityper, som är föreningen av flera primitiva typer, kan också lagras.
GeoJSON-formatet skiljer sig från andra GIS -standarder genom att det inte har skrivits och underhållits av någon standardorganisation, utan av en arbetsgrupp av utvecklare.
En vidareutveckling av GeoJSON är TopoJSON , en GeoJSON-tillägg som kodar geospatial topologi och vanligtvis ger mindre filstorlekar.
GeoJSON-formatet började diskuteras av arbetsgruppen i mars 2007 [1] och den slutliga specifikationen av standarden var klar i juni 2008.
Typer | Exempel | |
---|---|---|
punkt | { "typ" : "Punkt" , "koordinater" : [ 30 , 10 ] } | |
LineString | { "type" : "Linsträng" , "koordinater" : [ [ 30 , 10 ], [ 10 , 30 ], [ 40 , 40 ] ] } | |
Polygon | { "typ" : "Polygon" , "koordinater" : [ [[ 30 , 10 ], [ 40 , 40 ], [ 20 , 40 ], [ 10 , 20 ], [ 30 , 10 ] ] } | |
{ "typ" : "Polygon" , "koordinater" : [ [[ 35 , 10 ], [ 45 , 45 ], [ 15 , 40 ], [ 10 , 20 ], [ 35 , 10 ]], [[ 20 , 30 ], [ 35 , 35 ], [ 30 , 20 ], [ 20 , 30 ]] ] } |
Typer | Exempel | |
---|---|---|
MultiPoint | { "typ" : "MultiPoint" , "koordinater" : [ [ 10 , 40 ], [ 40 , 30 ], [ 20 , 20 ], [ 30 , 10 ] ] } | |
MultiLineString | { "type" : "MultiLineString" , "koordinater" : [ [[ 10 , 10 ], [ 20 , 20 ], [ 10 , 40 ]], [[ 40 , 40 ], [ 30 , 30 ], [ 40 , 20 ], [ 30 , 10 ]] ] } | |
multipolygon | { "type" : "MultiPolygon" , "koordinater" : [ [ [[ 30 , 20 ], [ 45 , 40 ], [ 10 , 40 ], [ 30 , 20 ]] ], [ [[ 15 , 5 ], [ 40 , 10 ], [ 10 , 20 ], [ 5 , 10 ], [ 15 , 5 ] ] ] } | |
{ "type" : "MultiPolygon" , "koordinater" : [ [ [[ 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 ] ] ] } |
GeoJSON stöds av många kartprogramvarupaket och GIS , inklusive OpenLayers , [2] Leaflet , MapServer , [3] Geoforge- mjukvara, [4] GeoServer , [5] GeoDjango , [6] GDAL , [7] Safe Software FME , [ 8] och CartoDB . [9] Dessutom kan du använda GeoJSON med PostGIS [10] och Mapnik , [11] , båda fungerar med formatet med hjälp av GDAL OGR-biblioteket. Onlinetjänster Bing Maps , Yahoo! och Google stöder också GeoJSON i sina API:er.
Google Maps Javascript API v3 stöder direkt integrationen av GeoJSON-datalager [12] sedan 19 mars 2014. [13]
GitHub stöder också GeoJSON [14] och Potrace GeoJSON-exporten .
TopoJSON är en utveckling av GeoJSON. Istället för att representera geografiska särdrag isolerat, syr TopoJSON ihop dem till enstaka enheter som kallas bågar [ 15 ]. Bågar är en sekvens av punkter, medan linjer och polygoner är en sekvens av bågar. Varje båge definieras bara en gång, men kan användas flera gånger i olika former, vilket minskar redundans och filstorlek.
Specifikationen för TopoJSON-formatet finns på GitHub [16] .
Ett exempel på en beskrivning av ett objekt som ligger nära koordinaterna för nollparallellen och nolllatituden. Enkel, men innehåller alla nödvändiga typer av geometri: Polygoner ( Polygon ), Lines ( LineString ), Points ( Point ), Arcs ( arcs ) och Descriptions :
{ "type" : "Topologi" , "transform" : { "scale" : [ 1 , 1 ], "translate" : [ 0 , 0 ] }, "objects" : { "two-squares" : { "typ" : "GeometryCollection" , "geometries" : [ { "type" : "Polygon" , "arcs" : [[ 0 , 1 ]], "properties" : { "name" : "Left_Polygon" }}, { "typ" : "Polygon" , "arcs" : [[ 2 , - 1 ]], "properties" : { "name" : "Right_Polygon" }} ] }, "one-line" : { "type" : "GeometryCollection" , "geometries" : [ { "type" : "LineString" , "arcs" : [ 3 ], "properties" : { "name" : "Under_LineString" }} ] }, "två-platser" : { "typ" : "GeometryCollection" , "geometries" : [ { "type" : "Point" , "coordinates" : [ 0 , 0 ], "properties" : { "name" : "Origine_Point" }}, { "type" : "Point " , "koordinater" : [ 0 , - 1 ], "egenskaper" : { "namn" : "Under_Point" }} ] } }, "bågar" : [ [[ 1 , 2 ],[ 0 , - 2 ]] , [[ 1 , 0 ],[ - 1 , 0 ],[ 0 , 2 ],[ 1 , 0 ]], [[ 1 , 2 ],[ 1 , 0 ],[ 0 , - 2 ],[ - 1 , 0 ]], [[ 0 , - 1 ],[ 2 , 0 ]] ] }