GeoJSON

formato aperto

GeoJSON[1] è un formato aperto utilizzato per archiviare una collezione di geometrie spaziali i cui attributi sono descritti attraverso JavaScript Object Notation. Le geometrie possibili sono punti (come ad esempio indirizzi o toponimi), linee spezzate (come percorsi, strade e confini), poligoni (paesi, province, laghi), e collezioni multiple di queste tipologie. Le geometrie GeoJSON non devono però necessariamente rappresentare entità geografiche: ad esempio, i software di navigazione assistita possono usarlo per descrivere l'area di copertura del servizio[2].

GeoJSON
Estensione.geojson, .json
Tipo MIMEapplication/geo+json
1ª pubblicazione2007
Ultima versione2008 (2008)
TipoElectronic Data Interchange
Estensione diJSON
StandardRFC 7946
Formato aperto?
Sito webgeojson.org

Il formato GeoJSON differisce dagli altri standard geographic information system in quanto è scritto e mantenuto da un gruppo di lavoro di sviluppatori[3] e non da organi di standard internazionali.

Il gruppo di lavoro e di discussione del formato GeoJSON è nato nel marzo 2007[4] e le specifiche finali del formato sono state completate nel giugno 2008.

Esempio

modifica
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [11.1215698,46.0677293]
      },
      "properties": {
        "name": "Fontana dell'Aquila"
      }
    },
    {
      "type": "Feature",
      "geometry": {
        "type": "LineString",
        "coordinates": [
           [11.1214686,46.0677385],[11.121466,46.0677511],[11.1213806,46.0681452],
           [11.1213548,46.0682642],[11.1213115,46.0684385],[11.1212897,46.0685261],
           [11.1212678,46.0686443]
        ]
      },
      "properties": {
        "lanes": 1,
        "name": "Via Rodolfo Belenzani"
      }
    },
    {
      "type": "Feature",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [11.1209262, 46.0676632],[11.1209201, 46.0676444],[11.1209473, 46.0675811],
            [11.1210082, 46.0674396],[11.1209909, 46.0674359],[11.1209669, 46.0674306],
            [11.120973, 46.067375],[11.1209798, 46.067318],[11.1209906, 46.067313],
            [11.1210021, 46.0673079],[11.1210102, 46.0672175],[11.1210154, 46.0670829],
            [11.1209979, 46.0670731],[11.1209861, 46.0670671],[11.121003, 46.0670034],
            [11.1210228, 46.0670051],[11.1210484, 46.0670073],[11.1216367, 46.0670503],
            [11.1216304, 46.0670981],[11.1217471, 46.0671064],[11.1218604, 46.0671144],
            [11.1218662, 46.0670763],[11.1218916, 46.0670783],[11.1218655, 46.0672963],
            [11.1218347, 46.0675014],[11.1218793, 46.0675034],[11.1219202, 46.0675053],
            [11.121918, 46.067554],[11.1220355, 46.0675565],[11.1220264, 46.067619],
            [11.1220237, 46.0676378],[11.1219858, 46.0676408],[11.121853, 46.0676517],
            [11.1217408, 46.0676621],[11.1215635, 46.0677421],[11.1214686, 46.0677385],
            [11.1213621, 46.0677348],[11.121226, 46.067723],[11.1210982, 46.067711],
            [11.1210937, 46.0677159],[11.1209933, 46.0677017],[11.1209337, 46.0676859],
            [11.1209262, 46.0676632]
          ]
        ]
      },
      "properties": {
        "name": "Piazza del Duomo",
        "surface": "cobblestone"
      }
    }
  ]
}

Geometrie

modifica
primitive geometriche
tipo esempi
Punto  
{
    "type": "Point",
    "coordinates": [11.1215698, 46.0677293]
}
Linea spezzata  
{
    "type": "LineString",
    "coordinates": [
        [11.1212678, 46.0686443],[11.1212316,46.0688409]
    ]
}
Poligono  
{
    "type": "Polygon",
    "coordinates": [
        [[30, 10], [40, 40], [20, 40], [10, 20], [30, 10]]
    ]
}
 
{
    "type": "Polygon",
    "coordinates": [
        [[35, 10], [45, 45], [15, 40], [10, 20], [35, 10]],
        [[20, 30], [35, 35], [30, 20], [20, 30]]
    ]
}
Geometrie multiparti
Tipo Esempi
Multi punto  
{
    "type": "MultiPoint",
    "coordinates": [
        [10, 40], [40, 30], [20, 20], [30, 10]
    ]
}
Multi linee spezzate  
{
    "type": "MultiLineString",
    "coordinates": [
        [[10, 10], [20, 20], [10, 40]],
        [[40, 40], [30, 30], [40, 20], [30, 10]]
    ]
}
Multipoligono  
{
    "type": "MultiPolygon",
    "coordinates": [
        [
            [[30, 20], [45, 40], [10, 40], [30, 20]]
        ], 
        [
            [[15, 5], [40, 10], [10, 20], [5, 10], [15, 5]]
        ]
    ]
}
 
{
    "type": "MultiPolygon",
    "coordinates": [
        [
            [[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]]
        ]
    ]
}

Software

modifica

GeoJSON è supportato da moltissimi software GIS, inclusi OpenLayers,[5] Leaflet[6], Geoforge Archiviato il 19 marzo 2011 in Internet Archive.,[7] GeoServer,[8] GeoDjango,[9] GDAL,[10] Safe Software FME,[11] e CartoDB,[12] È inoltre possibile utilizzare GeoJSON con PostGIS[13] e Mapnik,[14] entrambi attraverso l'uso della libreria di conversione GDAL OGR.

Anche MongoDB supporta GeoJSON[15].

Bing Maps, Yahoo! e Google supportano anche GeoJSON nelle loro API.

L'integrazione con Google Maps è possibile attraverso l'uso di una apposita libreria[16].

GitHub offre inoltre la visualizzazione dei dati in GeoJSON[17].

Il progetto geojson.io[18] permette di visualizzare, modificare e distribuire file geojson direttamente da web.

TopoJSON

modifica

TopoJSON è una estensione di GeoJSON che codifica le geometrie in topologie spaziali. Le geometrie vengono pertanto rappresentante dividendole in archi.[19] Gli archi sono sequenze di punti, mentre le linee e i poligoni sono definiti come sequenze di archi. Ogni arco è definito una volta sola, ma può essere riutilizzato infinite volte per descrivere una geometria, l'effetto che se ne produce è una notevole riduzione di ridondanza di informazioni e, pertanto, la riduzione delle dimensioni del file.[20] Inoltre, TopoJSON semplifica le applicazioni che fanno uso di topologia, fornendo funzionalità come la colorazione automatica di mappe o cartogrammi.

Una delle linee guida sull'implementazione[21] delle specifiche TopoJSON[22] è disponibile attraverso un tool a linea di comando per generare un TopoJSON partendo da un GeoJSON (o da shapefile ESRI) e, attraverso uno script JavaScript client side, è poi possibile trasformare dati archiviati in TopoJSON in GeoJSON.

TopoJSON è inoltre supportato dal tool OGR dalla versione 1.11[23] e da PostGIS dalla versione 2.1.0.[24]

  1. ^ specifiche del formato GeoJSON
  2. ^ iOS Location and Maps Programming Guide
  3. ^ The GeoJSON Discussion List, su lists.geojson.org. URL consultato il 22 maggio 2014 (archiviato dall'url originale il 1º agosto 2018).
  4. ^ Archivi di marzo 2007 per thread, su lists.geojson.org. URL consultato il 22 maggio 2014 (archiviato dall'url originale l'8 settembre 2018).
  5. ^ Vector Formats Archiviato il 16 marzo 2010 in Internet Archive.
  6. ^ Using GeoJSON with Leaflet - Leaflet - a JavaScript library for interactive maps, su leafletjs.com. URL consultato il 21 agosto 2020.
  7. ^ Documentation - Leaflet - a JavaScript library for mobile-friendly maps, su leafletjs.com. URL consultato il 22 maggio 2014 (archiviato dall'url originale il 15 agosto 2018).
  8. ^ Copia archiviata (TXT), su svn.codehaus.org. URL consultato il 13 dicembre 2009 (archiviato dall'url originale il 13 dicembre 2009).
  9. ^ Copia archiviata, su geodjango.org. URL consultato il 17 marzo 2010 (archiviato dall'url originale il 17 marzo 2010).
  10. ^ GeoJSON Archiviato il 15 aprile 2009 in Internet Archive.
  11. ^ Copia archiviata (PDF), su safe.com. URL consultato il 24 luglio 2008 (archiviato dall'url originale il 24 luglio 2008).
  12. ^ CartoDB.js — CartoDB Docs, su developers.cartodb.com. URL consultato il 22 maggio 2014 (archiviato dall'url originale il 27 giugno 2014).
  13. ^ Copia archiviata (PDF), su pugs.postgresql.org. URL consultato il 1º giugno 2010 (archiviato dall'url originale il 1º giugno 2010).
  14. ^ Copia archiviata, su svn.mapnik.org. URL consultato il 2 maggio 2009 (archiviato dall'url originale il 2 maggio 2009).
  15. ^ (EN) GeoJSON Objects - MongoDB Manual v7.0, su www.mongodb.com. URL consultato l'11 settembre 2024.
  16. ^ JasonSanford/geojson-google-maps · GitHub
  17. ^ There's a map for that · GitHub
  18. ^ geojson.io
  19. ^ topojson/topojson-specification · GitHub
  20. ^ Home · mbostock/topojson Wiki · GitHub
  21. ^ TopoJSON
  22. ^ README su Github.
  23. ^ GDAL/OGR 1.11.0 Release Notes
  24. ^ PostGIS AsTopoJSON

Collegamenti esterni

modifica

Risorse

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica