Find a file
2025-09-03 22:24:36 +02:00
backup merge 2025-08-28 17:07:42 +02:00
test gpx and jsonl 2025-09-03 22:24:36 +02:00
test_local merge 2025-08-28 17:07:42 +02:00
.gitignore remove idea, more changes 2025-08-28 17:46:00 +02:00
exif2gpx.py exif to gpx cd 2025-09-02 17:07:41 +02:00
gpw2owntrtacks_simple.py first commit 2025-08-28 16:50:05 +02:00
gpx2owntracks.py merge 2025-08-28 17:07:42 +02:00
gpx2owntracks.sh merge 2025-08-28 17:07:42 +02:00
gpx2owntracks_simple.py merge 2025-08-28 17:07:42 +02:00
immich_geotag_from_owntracks.sh fixes 2025-08-29 09:36:05 +02:00
immich_geotag_from_owntracks_final.py first commit 2025-08-28 16:50:05 +02:00
immich_geotag_from_owntracks_improoved.py first commit 2025-08-28 16:50:05 +02:00
immich_geotag_from_owntracks_wrong.py fixes 2025-08-29 09:33:24 +02:00
link4exif2pgx.sh exif to gpx cd 2025-09-02 17:21:24 +02:00
publich2owntracks.sh merge 2025-08-28 17:07:42 +02:00
readme.md readme update 2025-09-03 22:20:11 +02:00

#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