Geo JSON | |
---|---|
Extensie | ..json, .geojson |
tip MIME | application/vnd.geo+json |
Dezvoltator | Consiliul de Inginerie a Internetului |
Tip de format | Format de fișier GIS |
Extins din | JSON |
format deschis ? | da |
Site-ul web | geojson.org |
GeoJSON este un format deschis pentru stocarea structurilor de date geografice bazate pe JSON .
Formatul poate stoca tipuri primitive pentru descrierea obiectelor geografice, cum ar fi: puncte (adrese și locații), linii (străzi, autostrăzi, granițe), poligoane (țări, state, parcele de teren). Așa-numitele multitipuri, care sunt uniunea mai multor tipuri primitive, pot fi de asemenea stocate.
Formatul GeoJSON diferă de alte standarde GIS prin faptul că nu a fost scris și întreținut de nicio organizație de standardizare, ci de un grup de lucru de dezvoltatori.
O dezvoltare ulterioară a GeoJSON este TopoJSON , o extensie GeoJSON care codifică topologia geospațială și, de obicei, furnizează fișiere de dimensiuni mai mici.
Formatul GeoJSON a început să fie discutat de grupul de lucru în martie 2007 [1] și specificația finală a standardului a fost gata până în iunie 2008.
Tipuri | Exemple | |
---|---|---|
punct | { "type" : "Punct" , "coordonate" : [ 30 , 10 ] } | |
LineString | { „type” : „LineString” , „coordonate” : [ [ 30 , 10 ], [ 10 , 30 ], [ 40 , 40 ] ] } | |
Poligon | { „type” : „Poligon” , „coordonate” : [ [[ 30 , 10 ], [ 40 , 40 ], [ 20 , 40 ], [ 10 , 20 ], [ 30 , 10 ]] ] } | |
{ „type” : „Poligon” , „coordonate” : [ [[ 35 , 10 ], [ 45 , 45 ], [ 15 , 40 ], [ 10 , 20 ], [ 35 , 10 ]], [[ 20 , 30 ], [ 35 , 35 ], [ 30 , 20 ], [ 20 , 30 ]] ] } |
Tipuri | Exemple | |
---|---|---|
MultiPoint | { „type” : „MultiPoint” , „coordonate” : [ [ 10 , 40 ], [ 40 , 30 ], [ 20 , 20 ], [ 30 , 10 ] ] } | |
MultiLineString | { "type" : "MultiLineString" , "coordonate" : [ [[ 10 , 10 ], [ 20 , 20 ], [ 10 , 40 ]], [[ 40 , 40 ], [ 30 , 30 ], [ 40 , 20 ], [ 30 , 10 ]] ] } | |
multipoligon | { "type" : "MultiPolygon" , "coordonate" : [ [ [[ 30 , 20 ], [ 45 , 40 ], [ 10 , 40 ], [ 30 , 20 ]] ], [ [[ 15 , 5 ], [ 40 , 10 ], [ 10 , 20 ], [ 5 , 10 ], [ 15 , 5 ]] ] ] } | |
{ "type" : "MultiPolygon" , "coordonate" : [ [ [[ 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 este acceptat de multe pachete software de cartografiere și GIS , inclusiv OpenLayers , [2] Leaflet , MapServer , [3] Geoforge software, [4] GeoServer , [5] GeoDjango , [6] GDAL , [7] Safe Software FME , [ 8] și CartoDB . [9] În plus, puteți utiliza GeoJSON cu PostGIS [10] și Mapnik , [11] , ambele funcționează cu formatul folosind biblioteca GDAL OGR. Servicii online Bing Maps , Yahoo! și Google acceptă, de asemenea, GeoJSON în API-urile lor.
Google Maps Javascript API v3 acceptă direct integrarea straturilor de date GeoJSON [12] începând cu 19 martie 2014. [13]
GitHub acceptă, de asemenea, GeoJSON [14] și exportul Potrace GeoJSON .
TopoJSON este o evoluție a GeoJSON. În loc să reprezinte caracteristicile geografice izolat, TopoJSON le unește în entități unice numite arce [ 15 ]. Arcurile sunt o secvență de puncte, în timp ce liniile și poligoanele sunt o secvență de arce. Fiecare arc este definit o singură dată, dar poate fi folosit de mai multe ori sub diferite forme, reducând astfel redundanța și dimensiunea fișierului.
Specificația pentru formatul TopoJSON este găzduită pe GitHub [16] .
Un exemplu de descriere a unui obiect situat lângă coordonatele paralelei zero și latitudinii zero. Simplu, dar conține toate tipurile de geometrie necesare: Poligoane ( Polygon ), Linii ( LineString ), Puncte ( Point ), Arce ( arce ) și Descrieri :
{ "type" : "Topologie" , "transform" : { "scale" : [ 1 , 1 ], "translate" : [ 0 , 0 ] }, "objects" : { "two-squares" : { "type" : "GeometryCollection" , "geometries" : [ { "type" : "Polygon" , "arcs" : [[ 0 , 1 ]], "properties" : { "name" : "Left_Polygon" }}, { "type" : „Poligon” , „arcuri” : [[ 2 , - 1 ]], „proprietăți” : { „nume” : „Poligon_Dreapta” }} ] }, „o-linie” : { „tip” : „Colecție geometrie” , "geometries" : [ { "type" : "LineString" , "arcs" : [ 3 ], "properties" : { "name" : "Under_LineString" }} ] }, "două locuri" : { "type" : „GeometryCollection” , „geometries” : [ { „type” : „Point” , „coordonate” : [ 0 , 0 ], „properties” : { „name” : „Origine_Point” }}, { „type” : „Point” " , "coordonate" : [ 0 , - 1 ], "proprietăți" : { "nume" : "Sub_punct" }} ] } }, "arcuri" : [ [[ 1 , 2 ],[ 0 , - 2 ]] , [[ 1 , 0 ],[ - 1 , 0 ],[ 0 , 2 ],[ 1 , 0 ]], [[ 1 , 2 ],[ 1 , 0 ],[ 0 , - 2 ],[ - 1 , 0 ]], [[ 0 , - 1 ],[ 2 , 0 ]] ] }