GeoJSON

Da Wikipedia, l'enciclopedia libera.
GeoJSON
Estensione .geojson, .json
Tipo MIME application/vnd.geo+json
1ª pubblicazione 2007
Ultima versione 2008 (2008)
Tipo Scambio dati
Estensione di JSON
Formato aperto?
Sito web geojson.org

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

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.

Un formato molto interessante derivato da GeoJSON è TopoJSON. Si tratta di una estensione di questo formato di file che archivia topologie spaziali e, pertanto, genera file di dimensioni inferiori.

Storia[modifica | modifica wikitesto]

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

Esempio[modifica | modifica wikitesto]

{
  "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 | modifica wikitesto]

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

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

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

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

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

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

TopoJSON[modifica | modifica wikitesto]

TopoJSON è una estensione di GeoJSON che codifica le geometrie in topologie spaziali. Le geometrie vengono pertanto rappresentante dividendole in archi.[17] 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.[18] Inoltre, TopoJSON facilità le applicazioni che fanno uso di topologia come la colorazione automatica di mappe o cartogrammi.

Una delle linee guida sull'implementazione[19] delle specifiche TopoJSON[20] è 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[21] e da PostGIS dalla versione 2.1.0.[22]

Note[modifica | modifica wikitesto]

Risorse[modifica | modifica wikitesto]

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