| backup | ||
| test | ||
| test_local | ||
| .gitignore | ||
| exif2gpx.py | ||
| gpw2owntrtacks_simple.py | ||
| gpx2owntracks.py | ||
| gpx2owntracks.sh | ||
| gpx2owntracks_simple.py | ||
| immich_geotag_from_owntracks.sh | ||
| immich_geotag_from_owntracks_final.py | ||
| immich_geotag_from_owntracks_improoved.py | ||
| immich_geotag_from_owntracks_wrong.py | ||
| link4exif2pgx.sh | ||
| publich2owntracks.sh | ||
| readme.md | ||
#1
get gpx
#2
make jsonl: ./gpx2owntracks.sh test/gpx/activity_20019940630.gpx
#3
./publich2owntracks.sh test/rec/activity_20019940630.jsonl
#4
tag photos ./immich_geotag_from_owntracks.sh test/photos
Przydatne skrypty i komendy
exiftool -overwrite_original -api GeoMaxIntSecs=43200 -api GeoMaxExtSecs=43200 -geotag /tmp/owntracks_gpx_g2feseew/owntracks_export.gpx '-geotime<${CreateDate}' -if 'not $GPSLatitude and not $Keys:GPSCoordinates' ./
exiftool -overwrite_original -api GeoMaxIntSecs=43200 -api GeoMaxExtSecs=43200 -geotag /home/pi/immich_owntracks/test/gpx/full_owntracks20250901.gpx '-geotime<${CreateDate}' -if 'not $GPSLatitude and not $Keys:GPSCoordinates' ./
exiftool -n -r -api QuickTimeUTC=1 -api GeoMaxIntSecs=43200 -api GeoMaxExtSecs=43200 -geotag /home/pi/immich_owntracks/test/gpx/full_owntracks20250902.gpx '-geotime<${CreateDate}' /media/pimain/media/kamera/100GOPRO/to_update_exif/test/ -S -v2
exiftool -n -r -api GeoMaxIntSecs=43200 -api GeoMaxExtSecs=43200 -geotag /home/pi/immich_owntracks/test/gpx/full_owntracks20250902.gpx '-geotime<${CreateDate}' -if 'not $GPSLatitude and not $Keys:GPSCoordinates' /media/pimain/media/kamera/100GOPRO/for_immich/to_update_exif/ -S -v2
-- do go pro opcja -api QuickTimeUTC=1 exiftool -n -r -api QuickTimeUTC=1 -api GeoMaxIntSecs=43200 -api GeoMaxExtSecs=43200 -geotag /home/pi/immich_owntracks/test/gpx/full_owntracks20250902.gpx '-geotime<${CreateDate}' /media/pimain/media/kamera/100GOPRO/for_immich/to_update_exif/ -S -v2 exiftool -overwrite_original -api QuickTimeUTC=1 -api GeoMaxIntSecs=43200 -api GeoMaxExtSecs=43200 -geotag /home/pi/immich_owntracks/test/gpx/full_owntracks20250902.gpx '-geotime<${CreateDate}' /media/pimain/media/kamera/100GOPRO/to_update_exif/
cp -rp $(find /home/pi/immich/library/upload -type f -iname "*.mp4" -mtime -21) ./
find /home/pi/immich/library/upload -type f -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" -o -iname "*.gif" -o -iname "*.bmp" -o -iname "*.tiff" -mtime -21
for i in $(cat lista); do _ cp $(basename $i) $i; done
Podsumowanie:
- (opcjonalne) zalilenie owntracks dodatkowymi gpx'ami
- Wygenerowanie z owntracksa gpx'a na potrzeby exiftool'a
- uzycie exiftoola dodajacego tagi GPS position
odwrotnie
python exif2gpx.py test/photos_for_gpx/7c9720a6-b22a-44bc-8e3c-f5ed92374732 test/gpx/out_7c9720a6-b22a-44bc-8e3c-f5ed92374732.gpx --tz +02:00 --to-date 2025-05-31
for i in $(find /home/pi/immich/library/upload/7c9720a6-b22a-44bc-8e3c-f5ed92374732/ -type f); do ln -s $i; done
for i in 979b9057-786e-40a8-8192-a02a706acbcf cf842e73-0fc3-4254-af4b-72787e17d4d1 df0e081d-085a-47a0-9821-7fdda35aed53; do ./link4exif2pgx.sh /home/pi/immich/library/upload/$i/ /home/pi/immich_owntracks/test/photos_for_gpx/$i/; done
for i in "Camera - S4 Backup" "Camera - S5 Backup" "Camera Uploads"; do ./link4exif2pgx.sh /media/pimain/media/foty/$i/ /home/pi/immich_owntracks/test/photos_for_gpx/$i/; done