Nel mondo dei dispositivi mobile d’oggi una delle funzionalità più importanti ed utilizzate è la geolocalizzazione, cioè l’identificazione della posizione geografica nel mondo reale di un dato oggetto.

Le tecnologie per utilizzare per ottenere la posizione avviene tramite tante tecnologie come sistemi satellitare globale di navigazione (GPS, GLONASS), localizzazione tramite le celle della rete telefonica, tramite WiFi o WLAN o rete Internet con l’utilizzo dell’indirizzo IP. Nei dispositivi mobile la tecnologie più  utilizzata è il GPS per tutti gli usi più disparati anche se il principale è quello della navigazione e del tracciamento della propria posizione.

Questo funzioni sono utilizzate da svariati dispositivi navigatori portatili, come il Garmin, smartphone con le numerosissime app e fit device per il tracciamento delle attività sportive. Tanti device, tante applicazioni per la navigazione e tracciamento:

Ma come poter salvare le informazioni GPS per poterle consultare e poter passare tra un app o dispositivo all’altro?

Per questo si è deciso di creare dei formati standard di archiviazione delle informazioni in documenti scritti principalmente nel metalinguaggio XML come GPX, TCX, KML oppure in binario come FIT. Tutti i dati necessari sono memorizzati e possono essere utilizzati per l’archiviazione e condivisione. 

GPX o GPS eXchange Format

GPX o GPS eXchange Format è uno schema XML progettato per il trasferimento di dati GPS tra applicazioni software. Può essere usato per descrivere waypoint (punti), tracce e percorsi (routes). I suoi tag contengono queste tipologie di informazioni: location (luogo), elevation (elevazione), e time (tempo). Questo fa sì che possa essere utilizzato come formato di interscambio fra ricevitori GPS e pacchetti software. Il formato è aperto e si è imposto come standard de facto.

Le applicazioni per computer permettono ai loro utenti di vedere i loro tracciati sulle mappe o su immagini satellitari (come Google Earth) e geolocalizzare le fotografie con i metadati di Exif (GpicSync).

Il formato GPX presenta un insieme di punti che può essere senza alcuna relazione sequenziale, oppure ordinati.

Nel primo caso si parla di waypoints. I waypoints sono dei singoli punti di cui si conoscono le coordinate di latitudine e longitudine più l’elevazione (altitudine espressa in metri).

Nel secondo di tracks (tracce) o routes (percorsi). Questi si presentano come un insieme di punti sequenziali, nel primo caso vengono archiviate informazioni spazio-temporali: il percorso fatto dal dispositivo/ricevitore GPS attraverso le coordinate geografiche, l’elevazione e la marcatura temporale – timestamp. Il secondo invece si occupa solo di registrare le informazioni geografiche al fine di fornire percorsi utili a terzi (es. sentieri o percorsi stradali).

Le proprietà indispensabili presenti in un file GPX sono la latitudine e la longitudine di un singolo waypoint. Tutte le altre variabili sono opzionali.

TCX o Training Center XML

TCX o Training Center XML è un formato di scambio dati introdotto nel 2007 come parte del prodotto Garmin Training Center. L’obiettivo di questo formato è di estendere le capacità del GPX aggiungendo informazioni sull’attività svolta. Infatti una traccia è trattata come un’attività piuttosto che semplicemente una serie di punti GPS. TCX fornisce gli standard per il trasferimento della frequenza cardiaca, la cadenza in corso, la cadenza della bicicletta, le calorie nella traccia dettagliata e tutte queste informazioni sono aggiuntive ad ogni punto della traccia. Sono inoltre presenti i dati di riepilogo dell’attività sotto forma di giri che si aggiungo a quelli generali del tracciato già previsti nel formato GPX.

Il formato GPX è incentrato sulle attività sportiva outdoor.

KML – Keyhole Markup Language

Il KML (Keyhole Markup Language) è un linguaggio basato su XML creato per gestire dati geospaziali in tre dimensioni nei programmi Google EarthGoogle Maps, EarthBrowser e Google Desktop. La parola keyhole è un vecchio nome che viene dal software da cui deriva Google Earth; il software fu prodotto a sua volta dalla Keyhole, Inc che fu acquisita da Google nel 2004. Il termine keyhole ricorda il nome dei satelliti di ricognizione KH, il vecchio sistema di ricognizione militare statunitense. KML è diventato uno standard aperto internazionale riconosciuto da Open Geospatial Consortium nel 2008.

Il file KML specifica un set di elementi (segnalibri geografici, immagini, poligoni, modelli 3D, descrizioni ed etichette testuali…) da visualizzare in Google Earth, Maps e Mobile. Ogni locazione ha obbligatoriamente una longitudine e una latitudine. Altri dati possono rendere la visualizzazione più specifica, come inclinazione, inquadratura e quota del punto di vista che insieme definiscono una vista. KML condivide parte della sua grammatica strutturale con il GML (Geography Markup Language), il linguaggio standard definito dall’Open Geospatial Consortium per definire sistemi geografici utilizzato per l’interscambio di informazioni via internet. 

Spesso i file KML sono distribuiti come KMZ, che sono file ZIP compressi con estensione .kmz. Quando un KMZ viene decompresso, al suo interno è presente un singolo file doc.kml, contenente tutti gli overlays e le icone referenziate nel KML.

FIT – Flexible and Interoperable data Transfer

Lo standard FIT (Flexible and Interoperable data Transfer) è un formato progettato specificamente per l’archiviazione e la condivisione di dati provenienti da dispositivi per lo sport, il fitness e la salute.

Il formato Fit consente di memorizzare informazioni come i dati del sensore, i punti del percorso, le istruzioni di allenamento, le impostazioni del dispositivo, ecc. Queste informazioni sono incorporate nei messaggi che vengono serializzati e compilati per creare un file binario composto da: intestazione del file, definizioni dei messaggi, messaggi e un CRC a 2 byte.

Il messaggio ID file è il primo messaggio nel file. Descrive il tipo di file (attività, allenamento, corso) e il produttore del file (produttore, dispositivo, numero di serie…). Il tipo di file può essere:

  • Attività o activity: Registra i dati del sensore e gli eventi delle sessioni attive
  • Allenamento o workout: Descrive un’attività strutturata che può essere progettata su un computer e trasferita su un dispositivo di visualizzazione per guidare un utente attraverso l’attività
  • Corso o course: I corsi possono essere utilizzati per assistere con la navigazione su strada e fuoristrada, per fornire indicazioni svolta dopo svolta o con applicazioni di formazione virtuale per simulare attività del mondo reale.

Per un tipo di attività, sono richiesti differenti tipi di messaggi ed i più importanti sono:

  • ID file: indica il tipo di file;
  • Attività: contiene il riepilogo, timestamp ed il numero di sessioni dell’attività;
  • Sessione: ogni sessione contiene i dati di riepilogo sulla pratica. Una attività può avere più sessioni e quindi si possono registrare attività per multisport;
  • Lap: i messaggi Lap rappresentano giri o intervalli all’interno della sessione;
  • Record: questi messaggi è dove è memorizzato momento per momento le coordinate GPS, la velocità, la distanza, la frequenza cardiaca, la potenza, ecc.

Esempio di file FIT

I vantaggi del formato FIT sono la versatilità d’uso, la completezza e compattezza del file, anche se non è leggibile dall’uomo come per gli standard in XML.

Conclusioni

GPX: Global Positioning XML

  • Editore: Topografix https://www.topografix.com/gpx.asp
  • Data di rilascio iniziale: 2002
  • Utilizzo: punto di traccia GPS
  • Chi lo usa: Applicazioni di navigazione (rotte, waypoint…), Strava, Garmin, Everybody…
  • Pro (+): Formato standard e aperto, ancora oggi il riferimento.
  • Con (-): Dimensioni del file, restrizione sul punto di localizzazione e informazioni sulle estensioni
    Nessun dato sullo sport praticato

TCX: Training Center XML

  • Editore: Garmin
  • Data di rilascio iniziale: 2007
  • Utilizzo: GPS, attività indoor (frequenza cardiaca, ecc.)
  • Chi lo usa: centro di allenamento Garmin, Strava, Polar…
  • Pro (+): nessuna apparente restrizione di licenza (schemi XML disponibili gratuitamente). Trattandosi di un file basato su xml è possibile modificarlo con un semplice editor di testo. Buona evoluzione del GPX più focalizzato sullo sport (attività indoor, sport)
  • Contro (-): sembra essere ampiamente utilizzato dai prodotti Garmin ma non dai loro concorrenti. I dati sullo sport praticato sono limitati

KML: Keyhole Markup Language

  • Editore: Keyhole, Inc
  • Data di rilascio iniziale: 2004
  • Utilizzo: GPS, gestire dati geospaziali in tre dimensioni n
  • Chi lo usaGoogle EarthGoogle Maps, EarthBrowser e Google Desktop
  • Pro (+)  nessuna apparente restrizione di licenza (schemi XML disponibili gratuitamente). Trattandosi di un file basato su xml è possibile modificarlo con un semplice editor di testo. L’aggiunta di di informazioni arricchiscono i punti su traccia. 
  • Contro (-): utilizzato principalmente per sistemi a 3 dimensioni, dimensione file molto grande

FIT: Flexible and Interoperable Data Transfer

  • Editore: Garmin (Ant+) https://developer.garmin.com/fit/file-types/
  • Data di rilascio iniziale: 2010
  • Utilizzo: attività, peso, percorso, allenamento, impostazioni dei dispositivi…
  • Chi lo usa: Garmin, Polar, Coros, Suunto, WahooFitness, Strava…
  • Pro (+): compatto, estensibile, vari tipi di dati, multi-sport
  • Contro (-): Devi implementare il protocollo FIT per leggere e scrivere file
    Devi aderire al consorzio Fit per creare file fit per il tuo brand