#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:

1. (opcjonalne) zalilenie owntracks dodatkowymi gpx'ami
2. Wygenerowanie z owntracksa gpx'a na potrzeby exiftool'a
3. 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