Skip to main content

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

Project description

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/*

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

coordinates-label-photos-1.0.7.tar.gz (17.1 kB view hashes)

Uploaded Source

Built Distribution

coordinates_label_photos-1.0.7-py3-none-any.whl (23.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page