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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file coordinates-label-photos-1.0.7.tar.gz.

File metadata

File hashes

Hashes for coordinates-label-photos-1.0.7.tar.gz
Algorithm Hash digest
SHA256 56bc8684407666147896b262c8b13dd245cc02ad41e172a03a81b4ec3ec1a105
MD5 e487b8cb58e04c20cf8a73d3a293cf0e
BLAKE2b-256 1f713a89c7f767db46250702a2517513ede64a5f9f620d6225535786d19d2be8

See more details on using hashes here.

File details

Details for the file coordinates_label_photos-1.0.7-py3-none-any.whl.

File metadata

File hashes

Hashes for coordinates_label_photos-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 76df7fd737953b3c0b8ffa54e31987d65d2d9d5cef1ab146750efacb3f1df43f
MD5 2a20e91f5a5f1221c89365733761f553
BLAKE2b-256 568dcaa6f9dfbd3cfc98ba38a59b058ba0943f8ecce24bf343d047dea214d8eb

See more details on using hashes here.

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