GeoJSON (.geojson)
IETF StandardGeoJSON è comune nelle mappe web, ma il supporto varia. GitHub mostra file supportati con limiti; RFC 7946 definisce longitudine prima di latitudine.
Converti da GEOJSON a KML
Convertitore gratuito da GEOJSON a KML nel browser. Converti i file istantaneamente sul tuo dispositivo.
Ispezione e metadati
I sistemi operativi e gli analizzatori di file identificano i file GeoJSON ispezionando la sequenza di byte binari iniziale:
Firma dell'intestazione a livello di byte (Magic Bytes)
I sistemi operativi e gli analizzatori di file identificano i file GeoJSON ispezionando la sequenza di byte binari iniziale:
FIRMA ESADECIMALE (OFFSET 0):
7B 0A 20 20 22 74 79 70 65 22 3A 20 22 46 65 61 74 75 72 65RAPPRESENTAZIONE ASCII: {\n "type": "Feature
Standardizzazione: IETF RFC 7946
Specifiche tecniche
| Architettura del contenitore | Documento JSON conforme alla RFC 7946, che rappresenta oggetti geografici Feature, FeatureCollection e Geometry |
| Compressione | Testo non compresso (facilmente comprimibile via HTTP con Gzip o Brotli) |
| Endianness dei byte | Flusso di testo UTF-8 |
| Spazi colore | Non applicabile (dati geografici) |
| Canali e struttura | Punti, punti multipli, linee, linee multiple, poligoni, poligoni multipli, raccolte di geometrie e proprietà personalizzate |
| Dimensioni massime | Sistema geodetico mondiale 1984 (WGS 84): longitudine da -180 a +180, latitudine da -90 a +90 |
| Trasparenza | Nessuna |
| Streaming e progressivo | GeoJSON delimitato da righe (GeoJSONL / GeoJSONSeq) consente lo streaming continuo di milioni di oggetti geografici |
Matrice di confronto tecnico: GeoJSON vs Concorrenti
| Attributo tecnico | GeoJSON (Attuale) | KML | GPX | SHP |
|---|---|---|---|---|
| Diffusione nelle mappe web | Formato GIS web predefinito e universalmente diffuso | Predefinito di Google Earth | Predefinito per dispositivi GPS e fitness | Standard legacy GIS desktop |
| Ordine delle coordinate | [Longitudine, Latitudine] (X, Y) | Longitudine, Latitudine, Altitudine | Latitudine, Longitudine | Coordinate X, Y |
| Stile della sintassi | Coppie chiave-valore JSON pulite | Tag XML dettagliati (<kml>) | Tag XML dettagliati (<gpx>) | Binario multi-file (.shp, .shx, .dbf) |
| Schema delle proprietà | Oggetto di proprietà JSON arbitrario | Tag dello schema ExtendedData | Tag fissi dello schema GPX | Colonne fisse dBase IV (.dbf) |
Modalità di corruzione comuni e guida al recupero esadecimale
I punti della mappa compaiono nell'oceano vicino all'Antartide anziché nella loro posizione reale.
Causa principale: I valori di latitudine e longitudine sono stati scambiati per errore nell'array delle coordinate.
Ripristino: Scambia l'ordine delle coordinate [lon, lat] con GeoJSON Converter di File2File.app.
Analisi di sicurezza e vettori di attacco del parser
Le proprietà GeoJSON possono contenere input arbitrari degli utenti: sanificali prima di inserirli nei popup delle mappe per prevenire attacchi XSS.
Vettori di attacco noti
- Cross-site scripting (XSS) tramite codice HTML non sottoposto a escape nelle proprietà delle feature GeoJSON visualizzate nei tooltip della mappa.
- Interruzione del servizio tramite raccolte di geometrie profondamente annidate o poligoni con milioni di vertici.
- Server-Side Request Forgery tramite il caricamento di feature GeoJSON remote.
Migliori pratiche difensive: Sanifica con DOMPurify tutte le stringhe di testo delle proprietà prima di inserirle nei popup delle mappe.
Origini storiche e tappe fondamentali
Vantaggi principali
- Standard web nativo: si integra direttamente con gli oggetti JavaScript delle librerie di mappe per browser (Mapbox GL JS, Leaflet).
- La struttura JSON leggibile consente di creare, filtrare e correggere i dati facilmente tramite codice.
- Schema di proprietà flessibile: permette di associare metadati personalizzati (popolazione, nome, velocità, ricavi) direttamente alle geometrie.
Limiti tecnici e svantaggi
- Verbose formato testuale: memorizza coordinate in virgola mobile come sequenze di cifre ASCII, risultando in file più grandi degli Shapefile binari o di FlatGeobuf.
- La RFC 7946 impone l'ordine [Longitudine, Latitudine], spesso fonte di confusione per chi è abituato a [Latitudine, Longitudine].
- Poligoni di grandi dimensioni con milioni di vertici possono causare rallentamenti nel rendering del DOM del browser web.
Curiosità tecniche
- Lo standard GeoJSON ufficiale ordina le coordinate come [Longitudine, Latitudine] (ordine cartesiano X, Y), che è l'esatto opposto di come parlano le persone ('Latitudine, Longitudine').
- GeoJSON è comune nelle mappe web, ma il supporto varia. GitHub mostra file supportati con limiti; RFC 7946 definisce longitudine prima di latitudine.
- La RFC 7946 stabilisce che gli anelli di confine dei poligoni devono seguire la 'regola della mano destra': gli anelli esterni devono essere avvolti in senso antiorario.
Domande tecniche frequenti
Perché le mie coordinate GeoJSON sono ordinate come [longitudine, latitudine] anziché [latitudine, longitudine]?
GeoJSON è comune nelle mappe web, ma il supporto varia. GitHub mostra file supportati con limiti; RFC 7946 definisce longitudine prima di latitudine.
Come posso convertire KML o Shapefile in GeoJSON?
Puoi convertire file KML di Google Earth o Shapefile Esri in GeoJSON pulito e pronto per il web in pochi secondi, usando File2File.app direttamente nel browser.
Qual è la differenza tra GeoJSON e Shapefile?
Lo Shapefile è ancora molto usato per lo scambio di dati ed è supportato dai software GIS, ma la struttura composta da più file e i limiti degli attributi possono rendere GeoJSON o un geodatabase più adatti ad alcuni flussi di lavoro.
Coppie di conversione per GeoJSON correlate
La conversione di vettori GeoJSON in Google KML traduce array leggeri di coordinate JSON in documenti XML strutturati su misura per Google Earth e Google Maps.
La conversione di file Google KML in GeoJSON trasforma dati geografici XML gerarchici in JavaScript Object Notation vettoriale leggero per mappe web moderne.
La conversione di dati vettoriali GeoJSON in GPX trasforma oggetti JSON geografici standard in un formato basato su XML ottimizzato per i dispositivi di navigazione fisica.