Modulo autonomo per l'estrazione di metadati EXIF/GPS da immagini e l'applicazione di geotagging offline utilizzando database geografici locali. Progettato per integrarsi con il progetto Megatool, consente di arricchire le immagini con informazioni di posizione senza dipendere da servizi esterni.
Il modulo è composto dai seguenti componenti principali:
exif_parser.py: Estrae dati EXIF e GPS dalle immagini utilizzando le librerie Pillow e piexif.geocoder.py: Esegue il reverse geocoding offline utilizzando un database geografico compresso (GeoLite2-City o equivalente).download_geoip_db.py: Script per il download e l'aggiornamento automatico del database geografico.main.py: Interfaccia CLI modulare che coordina l'estrazione EXIF, il reverse geocoding e l'aggiornamento dei metadati immagine.perf_test_images/: Directory contenente immagini sintetiche per test di prestazioni.test_images/: Directory con immagini di esempio per test funzionali.
- Clonare il repository nella directory
~/projects/Hub/lavoro-tech/modulo-offline-exifgps-geotagging-per-megatool - Installare le dipendenze Python:
python3 -m pip install --user --break-system-packages -r requirements.txt
- Eseguire lo script di download del database geografico:
Questo scaricherà e decomprimerà il database necessario per il reverse geocoding offline.
python3 download_geoip_db.py
Il modulo può essere utilizzato tramite l'interfaccia CLI di main.py:
python3 main.py --helpEsempi di utilizzo:
- Estrarre EXIF/GPS da una singola immagine:
python3 main.py --input path/to/image.jpg --extract-only
- Eseguire il geotagging offline su una directory di immagini:
python3 main.py --input path/to/images/ --geotag --output path/to/output/
- Aggiornare il database geografico:
python3 download_geoip_db.py --update
Dopo l'installazione, è possibile testare il modulo sulle immagini di prova incluse:
python3 main.py --input test_images/ --extract-onlyPer vedere le prestazioni sulle immagini sintetiche:
python3 main.py --input perf_test_images/ --geotag --output perf_output/✅ COMPLETATO — 2026-06-24
- Fase 1/5 — Setup struttura progetto e parsing EXIF base: completata
- Fase 2/5 — Download e configurazione database geografico offline: completata (aggiornamento automatico worker)
- Fase 3/5 — Implementazione reverse geocoding locale: completata
- Fase 4/5 — Interfaccia CLI modulare e test performance: completata
- Fase 5/5 — Integrazione con Megatool e documentazione: completata
Il modulo è stato testato con successo su 100 immagini sintetiche senza EXIF/GPS, confermando il corretto comportamento di fallback.