Skip to content

Repository files navigation

Modulo Offline EXIF/GPS Geotagging per Megatool

Descrizione

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.

Architettura

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.

Installazione

  1. Clonare il repository nella directory ~/projects/Hub/lavoro-tech/modulo-offline-exifgps-geotagging-per-megatool
  2. Installare le dipendenze Python:
    python3 -m pip install --user --break-system-packages -r requirements.txt
  3. Eseguire lo script di download del database geografico:
    python3 download_geoip_db.py
    Questo scaricherà e decomprimerà il database necessario per il reverse geocoding offline.

Uso

Il modulo può essere utilizzato tramite l'interfaccia CLI di main.py:

python3 main.py --help

Esempi 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

Esempi

Dopo l'installazione, è possibile testare il modulo sulle immagini di prova incluse:

python3 main.py --input test_images/ --extract-only

Per vedere le prestazioni sulle immagini sintetiche:

python3 main.py --input perf_test_images/ --geotag --output perf_output/

Stato

✅ 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.

About

Python module for offline EXIF/GPS geotagging with local reverse geocoding

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages