coordinates-label-photos

Insert GPS coordinates into pictures EXIF, based on an external track and interpolating timestamp-Plus a few goodies.


License
MIT
Install
pip install coordinates-label-photos==1.0.7

Documentation

Coordinates label photos

The problem we are trying to solve: On the one hand, we have a photos with unlabeled GPS data, but only a timestamp. In the other hand, we have a GPS track, with coordinates and timestamp. This situation is originally caused by the fact that pictures are taken underwater but we can position a GPS above the water. Our purpose is to interpolate the GPS position from the track, with the photo timestamp and insert the information in the EXIF photo metadata.

Installation

pip install coordinates-label-photos

Run

To label all images from /path/to/images-directory/* with the GPX track points from path/to/your.gpx or LLH (Reach RS 2) format:

coordinates-label-photos --coords=/path/to/your.gpx --images=/path/to/images-directory

Try coordinates-label-photos --help to see how to save image locations in a separate file, output reports, set accuracy and more.

Other Utils

A few side tools may come handy in some situations

Removing GPS information from pictures

coordinates-clear-photos --images=/path/to/images-directory

Selecting the closest images to a point list

During acquisition, excessive number of pictures can be taken (when strolling outside of the perimeter or moving not fast enough). If we provide a list of positions where the images should have been taken, we can select only the closest images to each of those position.

select-closest-photos \
     --coords=/path/to/perfect-positions.csv  \
     --images=/source/image/directory \
     --dest=/selected/image/directory \
     --report=/path/to/report.png

Comparing GPX tracks

Compare various coords tracks, from .gpx, .llh, .pos (useful to plot the same track from different GPS):

plot-coords-tracks --gpx="gps A:/path/to/a.gpx"  --gpx="gps B:/path/to/b.gpx" --output=/path/to/plot.jpeg

Extracting photos coordinates to a GPX file

From a directory containing images (with GPS locations), create a GPX file:

images-to-gpx --output=/path/to/a.gpx  --images=/path/to/images-directory

License

MIT

Development

Setup

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Testing

pytest

PIPy deployment

Increase the version in setup.cfg.

Github release.

Juste create a new release on github and let the action flow.

dev laptop release

rm dist/*
python3.11 -m build
python3.11 -m twine upload dist/*