Progetto Universitario

GPX Editor

Strumento web per modificare e ottimizzare tracce GPS (formato GPX) per ciclismo, running e outdoor.

TypeScript Leaflet GPX OpenStreetMap Vite
🗺️

GPX

Formato universale

100%

Lato client

📈

Real-time

Visualizzazione

🔓

Open Source

Su GitHub

Descrizione del Progetto

GPX Editor è un'applicazione web che permette di caricare, visualizzare e modificare file GPX (GPS Exchange Format). Le tracce GPX sono comunemente usate per registrare percorsi di ciclismo, corsa, escursionismo.

Sviluppato come progetto per il corso di Sistemi Informativi Geografici (Università di Bologna).

Funzionalità Principali

🗺️ Mappa interattiva

Visualizzazione della traccia su mappa Leaflet con supporto OpenStreetMap, zoom e panoramica.

✂️ Taglio punti

Rimozione di outlier e punti erratici, taglio dell'inizio o della fine del percorso.

🔄 Smoothing

Riduzione del rumore e semplificazione della traccia per un percorso più pulito.

💾 Esportazione

Salvataggio del risultato in un nuovo file GPX pronto per l'uso su dispositivi GPS e app.

📊 Profilo altimetrico

Grafico interattivo (Chart.js) che mostra altitudine vs distanza progressiva.

⏪ Undo/Redo

Supporto completo per annullare/ripetere le operazioni di modifica.

Tecnologie Utilizzate

Componente Tecnologia Versione
LinguaggioTypeScript5.2+
Build toolVite5.0+
MappeLeaflet + OpenStreetMap1.9+
GeometrieTurf.js6.5+
GraficiChart.js4.4+
ExportFileSaver.js2.0+

Architettura e Funzionalità

📂 Parsing e validazione GPX

Il file GPX viene letto lato client tramite FileReader e parsato con DOMParser. Viene validato lo schema minimo (punti con latitudine/longitudine).

✏️ Modifica interattiva

L'utente seleziona i punti sulla mappa o utilizza slider per definire un intervallo di tempo/distanza. Supporto completo Undo/Redo.

📊 Visualizzazione profilo altimetrico

Grafico interattivo (Chart.js) che mostra altitudine vs distanza progressiva, utile per individuare segmenti da tagliare.

Prova il Progetto

Il codice sorgente è disponibile su GitHub. Puoi clonarlo e provarlo localmente seguendo le istruzioni nel README.

📂 Repository GitHub