Geo JSON

Versiunea actuală a paginii nu a fost încă revizuită de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 22 decembrie 2018; verificările necesită 7 modificări .
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.

Istorie

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.

Exemplu

{ "type" : "FeatureCollection" , "features" : [ { "type" : "Feature" , "geometry" : { "type" : "Point" , "coordonate" : [ 102.0 , 0.5 ]}, "properties" : { "prop0" : "value0" } }, { "type" : "Feature" , "geometry" : { "type" : "LineString" , "coordonate" : [ [ 102.0 , 0.0 ], [ 103.0 , 1.0 ] , [ 104.0 , 0.0 ], [ 105.0 , 1.0 ] ] }, "proprietăți" : { "prop0" : "value0" , "prop1" : 0.0 } }, { "type" : "Feature" , "geometry" : { "tip" : "Poligon" , "coordonate" : [ [ [ 100.0 , 0.0 ], [ 101.0 , 0.0 ], [ 101.0 , 1.0 ], [ 100.0 , 1.0 ], [ 100.0 , 0.0 ] , " ] proprietăți" ] : { "prop0" : "value0" , "prop1" : { "this" : "that" } } } ] }

Obiecte

Tipuri primitive
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 ]] ] }
Multitipuri
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 ]] ] ] }

Utilizare

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

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] .

Schema TopoJSON

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 ]] ] }

Note

  1. Martie 2007 Arhive pe thread . Preluat la 12 octombrie 2015. Arhivat din original la 8 septembrie 2018.
  2. アーカイブされたコピー. Consultat la 16 martie 2010. Arhivat din original pe 16 martie 2010.
  3. Ieșire bazată pe șabloane - documentația MapServer 7.0.0 . Consultat la 12 octombrie 2015. Arhivat din original la 16 martie 2017.
  4. Documentation - Leaflet - o bibliotecă JavaScript pentru hărți interactive . Consultat la 12 octombrie 2015. Arhivat din original la 15 august 2018.
  5. Codehaus Arhivat 13 decembrie 2009.
  6. GeoDjango Arhivat 7 septembrie 2009.
  7. アーカイブされたコピー. Consultat la 9 octombrie 2009. Arhivat din original la 15 aprilie 2009.
  8. アーカイブされたコピー. Data accesului: 24 iulie 2008. Arhivat din original la 24 iulie 2008.
  9. CartoDB.js - CartoDB Docs (link descendent) . Consultat la 12 octombrie 2015. Arhivat din original la 27 iunie 2014. 
  10. アーカイブされたコピー. Consultat la 1 iunie 2010. Arhivat din original la 1 iunie 2010.
  11. アーカイブされたコピー. Consultat la 2 mai 2009. Arhivat din original pe 2 mai 2009.
  12. Strat de date: simplu | Google Maps Javascript API | Dezvoltatori Google . Consultat la 12 octombrie 2015. Arhivat din original la 30 decembrie 2016.
  13. Blogul Google Developers: Hărți simplificate: GeoJSON în API-ul JavaScript Maps . Consultat la 12 octombrie 2015. Arhivat din original la 4 martie 2016.
  14. Există o hartă pentru acel GitHub . Consultat la 12 octombrie 2015. Arhivat din original la 27 septembrie 2016.
  15. mbostock/topojson-specification GitHub . Consultat la 12 octombrie 2015. Arhivat din original la 11 iunie 2018.
  16. topojson-specification/README.md la master mbostock/topojson-specification GitHub . Consultat la 12 octombrie 2015. Arhivat din original la 8 decembrie 2021.

Literatură

Link -uri