Geo JSON | |
---|---|
Rozšíření | ..json, .geojson |
MIME typ | application/vnd.geo+json |
Vývojář | Rada internetového inženýrství |
Typ formátu | Formát souboru GIS |
Rozšířeno z | JSON |
otevřený formát ? | Ano |
webová stránka | geojson.org |
GeoJSON je otevřený formát pro ukládání geografických datových struktur založených na JSON .
Formát může ukládat primitivní typy pro popis geografických objektů, jako jsou: body (adresy a umístění), linie (ulice, dálnice, hranice), polygony (země, státy, pozemky). Ukládat lze také tzv. multitypy, což je spojení několika primitivních typů.
Formát GeoJSON se od ostatních GIS standardů liší tím, že jej nenapsala a neudržovala žádná normalizační organizace, ale pracovní skupina vývojářů.
Dalším vývojem GeoJSON je TopoJSON , rozšíření GeoJSON, které kóduje geoprostorovou topologii a obvykle poskytuje menší velikosti souborů.
Formát GeoJSON začala pracovní skupina projednávat v březnu 2007 [1] a konečná specifikace standardu byla hotová do června 2008.
Typy | Příklady | |
---|---|---|
směřovat | { "typ" : "Bod" , "souřadnice" : [ 30 , 10 ] } | |
LineString | { "type" : "LineString" , "coordinates" : [ [ 30 , 10 ], [ 10 , 30 ], [ 40 , 40 ] ] } | |
Polygon | { "type" : "Mnohoúhelník" , "souřadnice" : [ [[ 30 , 10 ], [ 40 , 40 ], [ 20 , 40 ], [ 10 , 20 ], [ 30 , 10 ]] ] } | |
{ "type" : "Mnohoúhelník" , "souřadnice" : [ [[ 35 , 10 ], [ 45 , 45 ], [ 15 , 40 ], [ 10 , 20 ], [ 35 , 10 ]], [[ 20 , 30 ], [ 35 , 35 ], [ 30 , 20 ], [ 20 , 30 ]] ] } |
Typy | Příklady | |
---|---|---|
MultiPoint | { "type" : "MultiPoint" , "souřadnice" : [ [ 10 , 40 ], [ 40 , 30 ], [ 20 , 20 ], [ 30 , 10 ] ] } | |
MultiLineString | { "type" : "MultiLineString" , "coordinates" : [ [[ 10 , 10 ], [ 20 , 20 ], [ 10 , 40 ]], [[ 40 , 40 ], [ 30 , 30 ], [ 40 , 20 ], [ 30 , 10 ]] ] } | |
multipolygon | { "type" : "MultiPolygon" , "souřadnice" : [ [ [[ 30 , 20 ], [ 45 , 40 ], [ 10 , 40 ], [ 30 , 20 ]] ], [ [[ 15 , 5 ], [ 40 , 10 ], [ 10 , 20 ], [ 5 , 10 ], [ 15 , 5 ]] ] ] } | |
{ "type" : "MultiPolygon" , "souřadnice" : [ [ [[ 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 je podporován mnoha mapovými softwarovými balíky a GIS , včetně OpenLayers , [2] Leaflet , MapServer , [3] Geoforge software, [4] GeoServer , [5] GeoDjango , [6] GDAL , [7] Safe Software FME , [ 8] a CartoDB . [9] GeoJSON navíc můžete použít s PostGIS [10] a Mapnik , [11] , oba pracují s formátem pomocí knihovny GDAL OGR. Online služby Bing Maps , Yahoo! a Google také podporuje GeoJSON ve svých API.
Google Maps Javascript API v3 přímo podporuje integraci datových vrstev GeoJSON [12] od 19. března 2014. [13]
GitHub také podporuje GeoJSON [14] a Potrace GeoJSON export .
TopoJSON je evolucí GeoJSON. Místo toho, aby reprezentoval geografické prvky izolovaně, TopoJSON je spojuje do jediné entity zvané oblouky [ 15 ]. Oblouky jsou posloupností bodů, zatímco čáry a mnohoúhelníky jsou posloupností oblouků. Každý oblouk je definován pouze jednou, ale může být použit vícekrát v různých formách, čímž se snižuje redundance a velikost souboru.
Specifikace pro formát TopoJSON je hostována na GitHubu [16] .
Příklad popisu objektu nacházejícího se v blízkosti souřadnic nulové rovnoběžky a nulové šířky. Jednoduchá, ale obsahuje všechny potřebné typy geometrie: Polygony ( Polygon ), Čáry ( LineString ), Body ( Point ), Arcs ( arcs ) a Popisy :
{ "type" : "Topologie" , "transform" : { "měřítko" : [ 1 , 1 ], "translate" : [ 0 , 0 ] }, "objects" : { "dva-čtverce" : { "typ" : "GeometryCollection" , "geometries" : [ { "type" : "Polygon" , "arcs" : [[ 0 , 1 ]], "properties" : { "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" }} ] }, "two-places" : { "type" : "GeometryCollection" , "geometries" : [ { "type" : "Point" , "coordinates" : [ 0 , 0 ], "properties" : { "name" : "Origine_Point" }}, { "type" : "Bod " , "coordinates" : [ 0 , - 1 ], "properties" : { "name" : "Under_Point" }} ] } }, "arcs" : [ [[ 1 , 2 ],[ 0 , - 2 ]] , [[ 1 , 0 ], [ - 1 , 0 ], [ 0 , 2 ], [ 1 , 0 ]], [ [ 1 , 2 ], [ 1 , 0 ], [ 0 , - 2 ], [ - 1 , 0 ]], [[ 0 , - 1 ], [ 2 , 0 ]] ] }