aspose.info
IT

GeoJSON - Formato di file geografico basato su JSON

Aggiornato

Che cos’è un file GeoJSON?

GeoJSON è un formato basato su JSON progettato per rappresentare le caratteristiche geografiche con i loro attributi non spaziali. Questo formato definisce diversi oggetti JSON (JavaScript Object Notation) e la loro modalità di unione. Il formato JSON rappresenta un’informazione collettiva sulle caratteristiche geografiche, le loro estensioni spaziali e le proprietà. Un oggetto di questo file può indicare una geometria (Point, LineString, Polygon), una funzione o una raccolta di funzioni. Le caratteristiche riflettono indirizzi e luoghi come strade di punti, strade principali e confini come stringhe di linee e paesi, province e regioni di terra come poligoni. Utilizzando GeoJSON, diverse applicazioni di navigazione e routing mobile possono indicare la copertura dei loro servizi. Un’estensione di GeoJSON è TopoJSON che è di dimensioni inferiori e codifica la topologia geospaziale.

Breve storia

L’Internet Engineering Task Force (IETF), in associazione con gli autori del formato, ha creato un GeoJSON WG per rilasciare GeoJSON nell’aprile 2015. Sostituendo il 2008 Specifica GeoJSON, RFC 7946, la nuova specifica standard del formato GeoJSON pubblicata nell’agosto 2016.

Formato file GeoJSON

Coordinata

La coordinata è l’elemento base di qualsiasi dato geografico. Questa è una singola dimensione (longitudine, latitudine) che rappresenta un singolo numero (formato decimale) e talvolta registra anche una coordinata per l’elevazione. Anche il tempo è una dimensione, ma la sua complessità rende difficile registrarlo come coordinata. Le coordinate in entrambi JSON GeoJSON sono formattate come numeri.

Posizione

Una matrice ordinata di coordinate rappresenta la posizione. Questa è l’unità più piccola che può indicare un punto sulla terra.

[Longitudine, latitudine, altitudine]

Prima del rilascio della specifica attuale, GeoJSON consentiva di registrare tre coordinate per posizione, ma non è consentito dalla nuova specifica.

Geometria

Le geometrie sono forme semplici (punti, curve e superfici) in GeoJSON che consistono in un tipo e una raccolta di coordinate. Il punto è la geometria più semplice che rappresenta una singola posizione

{ "tipo": "Punto", "coordinate": [0, 0] }

LineStrings

Almeno due luoghi collegati vengono utilizzati per rappresentare una linea.

{ "type": "LineString", "coordinates": [[10, 30], [10, 10]] }

Le stringhe di punti e di linee sono le due categorie più semplici di geometria. Entrambi i tipi di geometria non infastidiscono molte regole geometriche. Un punto può essere rappresentato in un luogo ovunque e una linea può avere più di un punto, anche se i punti sono autoincrocianti.

Poligoni

Le geometrie GeoJSON sembrano significativamente più complesse in Polygons. I poligoni hanno aree interne ed esterne e possono possedere buchi in quella interna.

{
  "type": "Polygon",
  "Coordinates": [
    [
      [30, 10], [10, 10], [10, 0], [20, 40]
    ]
  ]
}

Rispetto a LineStrings, nei poligoni, l’elenco delle coordinate è nidificato di un livello in più e può avere ritagli come ciambelle.

Livello di coordinate

Nel formato GeoJSON, per la proprietà coordinate, ci sono quattro livelli di profondità.

Caratteristiche

Le geometrie sono la parte centrale di GeoJSON, quindi i dati del mondo reale sono più di queste semplici forme che hanno identità e attributi. Caratteristiche registra la geometria e le relative proprietà.

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [20, 10]
},
  "properties": {
    "name": "fortune island"
  }
}

Le proprietà di una funzione possono essere un tipo di oggetto JSON che contiene mappature di valori chiave a profondità singola.

FeatureCollection

Al livello più alto dei file GeoJSON, FeatureCollection è la cosa più comune che assomiglia a:

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [20, 10]
    },
      "properties": {
        "name": "null island"
  }
}
  ]
}

Molti pacchetti software di mappatura e GIS supportano GeoJSON, inclusi GeoDjango, OpenLayers e Geoforge. È anche compatibile con PostGIS e Mapnik. Anche i servizi API di Google, yahoo e Bing maps supportano GeoJSON.

Riferimenti

Vedi anche