Geo JSON | |
---|---|
Udvidelse | ..json, .geojson |
MIME -type | application/vnd.geo+json |
Udvikler | Internet Engineering Council |
Formattype | GIS filformat |
Udvidet fra | JSON |
åbent format ? | Ja |
Internet side | geojson.org |
GeoJSON er et åbent format til lagring af geografiske datastrukturer baseret på JSON .
Formatet kan gemme primitive typer til beskrivelse af geografiske objekter, såsom: punkter (adresser og lokationer), linjer (gader, motorveje, grænser), polygoner (lande, stater, jordstykker). Såkaldte multityper, som er foreningen af flere primitive typer, kan også lagres.
GeoJSON-formatet adskiller sig fra andre GIS -standarder ved, at det ikke er skrevet og vedligeholdt af nogen standardorganisation, men af en arbejdsgruppe af udviklere.
En videreudvikling af GeoJSON er TopoJSON , en GeoJSON-udvidelse, der koder geospatial topologi og typisk giver mindre filstørrelser.
GeoJSON-formatet begyndte at blive diskuteret af arbejdsgruppen i marts 2007 [1] , og den endelige specifikation af standarden var klar i juni 2008.
Typer | Eksempler | |
---|---|---|
punkt | { "type" : "Punkt" , "koordinater" : [ 30 , 10 ] } | |
LineString | { "type" : "Linjestreng" , "koordinater" : [ [ 30 , 10 ], [ 10 , 30 ], [ 40 , 40 ] ] } | |
Polygon | { "type" : "Polygon" , "koordinater" : [ [[ 30 , 10 ], [ 40 , 40 ], [ 20 , 40 ], [ 10 , 20 ], [ 30 , 10 ] ] } | |
{ "type" : "Polygon" , "koordinater" : [ [[ 35 , 10 ], [ 45 , 45 ], [ 15 , 40 ], [ 10 , 20 ], [ 35 , 10 ]], [[ 20 , 30 ], [ 35 , 35 ], [ 30 , 20 ], [ 20 , 30 ]] ] } |
Typer | Eksempler | |
---|---|---|
MultiPoint | { "type" : "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 understøttes af mange kortlægningssoftwarepakker og GIS , herunder OpenLayers , [2] Leaflet , MapServer , [3] Geoforge- software, [4] GeoServer , [5] GeoDjango , [6] GDAL , [7] Safe Software FME , [ 8] og CartoDB . [9] Derudover kan du bruge GeoJSON med PostGIS [10] og Mapnik , [11] , begge arbejder med formatet ved hjælp af GDAL OGR-biblioteket. Onlinetjenester Bing Maps , Yahoo! og Google understøtter også GeoJSON i deres API'er.
Google Maps Javascript API v3 understøtter direkte integrationen af GeoJSON-datalag [12] siden 19. marts 2014. [13]
GitHub understøtter også GeoJSON [14] og Potrace GeoJSON-eksporten .
TopoJSON er en udvikling af GeoJSON. I stedet for at repræsentere geografiske træk isoleret, syr TopoJSON dem sammen til enkelte enheder kaldet buer [ 15 ]. Buer er en sekvens af punkter, mens linjer og polygoner er en sekvens af buer. Hver bue defineres kun én gang, men kan bruges flere gange i forskellige former, hvorved redundans og filstørrelse reduceres.
Specifikationen for TopoJSON-formatet er hostet på GitHub [16] .
Et eksempel på en beskrivelse af et objekt placeret i nærheden af koordinaterne for nul-parallellen og nul-breddegraden. Enkel, men indeholder alle de nødvendige typer geometri: Polygoner ( Polygon ), Linjer ( LineString ), Points ( Point ), Buer ( arcs ) og Descriptions :
{ "type" : "Topologi" , "transform" : { "scale" : [ 1 , 1 ], "translate" : [ 0 , 0 ] }, "objekter" : { "to-kvadrater" : { "type" : "GeometryCollection" , "geometries" : [ { "type" : "Polygon" , "arcs" : [[ 0 , 1 ]], "egenskaber" : { "name" : "Left_Polygon" }}, { "type" : "Polygon" , "arcs" : [[ 2 , - 1 ]], "properties" : { "name" : "Right_Polygon" }} ] }, "one-line" : { "type" : "GeometryCollection" , "geometries" : [ { "type" : "LineString" , "arcs" : [ 3 ], "properties" : { "name" : "Under_LineString" }} ] }, "to-steder" : { "type" : "GeometryCollection" , "geometries" : [ { "type" : "Punkt" , "koordinater" : [ 0 , 0 ], "egenskaber" : { "navn" : "Oprindelsespunkt" }}, { "type" : "Punkt " , "koordinater" : [ 0 , - 1 ], "egenskaber" : { "navn" : "Under_Point" }} ] } }, "buer" : [ [[ 1 , 2 ],[ 0 , - 2 ]] , [[ 1 , 0 ],[ - 1 , 0 ],[ 0 , 2 ],[ 1 , 0 ]], [[ 1 , 2 ],[ 1 , 0 ],[ 0 , - 2 ],[ - 1 , 0 ]], [[ 0 , - 1 ], [ 2 , 0 ]] ] }