Automatisches Geotagging für PhotoPrism und lokale Fotosammlungen mit Dawarich Standortdaten
LazyGeotag verbindet deine Fotos mit GPS-Koordinaten aus deiner Dawarich-Standortverfolgung. Es funktioniert sowohl mit PhotoPrism-Sammlungen als auch mit lokalen Ordnern.
- 🗺️ Automatisches Geotagging mit Dawarich-Standortdaten
- 📸 Dual-Modus: PhotoPrism-Integration oder lokale Ordner
- 🎯 Intelligente Pfad-Erkennung: Query vs. lokaler Pfad wird automatisch erkannt
- ⚡ Optimierte PhotoPrism-Rescans: Gemeinsame Wurzelelemente, Warte-Logik
- 🔍 Dry-Run Modus: Vorschau ohne Änderungen
- 📊 Detaillierte Berichte: Erfolg/Fehler-Kategorisierung
- ⏱️ Zeitfenster-Matching: Konfigurierbarer Toleranzbereich
- Python 3.8+
- Dawarich Instanz mit API-Zugang
- Optional: PhotoPrism für erweiterte Funktionen
- Repository klonen:
git clone https://github.com/streiman/lazygeotag.git
cd lazygeotag
- Virtual Environment erstellen:
python -m venv .venv
source .venv/bin/activate # Linux/Mac
# oder
.venv\Scripts\activate # Windows
- Dependencies installieren:
pip install -r requirements.txt
- Konfiguration erstellen:
cp .env.example .env
# .env mit deinen Daten bearbeiten
Bearbeite die .env
Datei:
# PhotoPrism (optional, nur für PhotoPrism-Modus)
PHOTOPRISM_URL=https://deine-photoprism-instanz.de
PHOTOPRISM_USER=admin
PHOTOPRISM_PASSWORD=dein-passwort
# Dawarich (erforderlich)
DAWARICH_URL=https://deine-dawarich-instanz.de
DAWARICH_API_KEY=dein-api-key
# Einstellungen
MAX_TIME_DIFF_MINUTES=90
TIMEZONE=Europe/Berlin
PHOTOPRISM_ORIGINALS_PATH_OVERRIDE=/pfad/zu/fotos
# Nach Jahr und Kamera filtern
python lazygeotag.py "year:2025 camera:nikon"
# Bestimmten Zeitraum
python lazygeotag.py "after:2025-08-01 before:2025-08-31"
# Dry-Run (keine Änderungen)
python lazygeotag.py "year:2025" --dry-run
# Ohne automatischen Rescan
python lazygeotag.py "album:urlaub" --no-rescan
# Lokalen Ordner bearbeiten
python lazygeotag.py "/home/user/photos"
python lazygeotag.py "./urlaubsfotos"
# Dry-Run für lokale Ordner
python lazygeotag.py "~/Downloads/fotos" --dry-run
python lazygeotag.py --rescan
Das Tool unterstützt alle PhotoPrism-Suchfilter:
Filter | Beschreibung | Beispiel |
---|---|---|
geo:false/true |
Mit/ohne GPS-Daten | geo:false |
type:image/video/raw |
Medientyp | type:image |
year:2025 |
Jahr | year:2025 |
month:8 |
Monat (1-12) | month:8 |
after:2025-08-01 |
Nach Datum | after:2025-08-01 |
camera:canon |
Kamera-Marke | camera:canon |
album:urlaub |
Album | album:urlaub |
Hinweis: type:image
und geo:false
werden automatisch hinzugefügt, falls nicht vorhanden.
- Foto-Erkennung: PhotoPrism-Query oder lokaler Ordner-Scan
- EXIF-Analyse: Extrahiert Aufnahmezeit aus Foto-Metadaten
- Standort-Matching: Findet nächsten Dawarich-Punkt im Zeitfenster
- GPS-Injection: Schreibt Koordinaten in EXIF-GPS-Tags
- PhotoPrism-Rescan: Intelligente Aktualisierung (nur PhotoPrism-Modus)
- JPEG (.jpg, .jpeg) - Vollständig unterstützt
- TIFF (.tif, .tiff) - Vollständig unterstützt
- PNG - Nicht unterstützt (EXIF-Limitation)
- RAW-Formate - Nicht unterstützt
"Keine Standortdaten gefunden"
- Überprüfe Dawarich API-Key und URL
- Stelle sicher, dass Standortdaten für den Zeitraum existieren
- Erhöhe
MAX_TIME_DIFF_MINUTES
falls nötig
"PhotoPrism Rescan Timeout"
- Normal bei großen Bibliotheken
- Rescan läuft trotzdem im Hintergrund weiter
- Nutze
--no-rescan
bei wiederkehrenden Problemen
"EXIF-Daten können nicht geladen werden"
- Unterstützt nur JPEG/TIFF
- PNG-Dateien werden automatisch übersprungen
Nutze --dry-run
für detaillierte Informationen:
python lazygeotag.py "year:2025" --dry-run
pip freeze > requirements.txt
# Dry-Run Test
python lazygeotag.py "year:2025 month:8" --dry-run
# Kleiner Test
python lazygeotag.py "year:2025 month:8 day:1"
# Lokaler Test
python lazygeotag.py "./test-photos" --dry-run
MIT License - siehe LICENSE Datei.
Pull Requests und Issues sind willkommen!
- Fork das Repository
- Erstelle einen Feature-Branch (
git checkout -b feature/amazing-feature
) - Commit deine Änderungen (
git commit -m 'Add amazing feature'
) - Push zum Branch (
git push origin feature/amazing-feature
) - Öffne einen Pull Request
- PhotoPrism - Foto-Management
- Dawarich - Standortverfolgung
- piexif - EXIF-Manipulation