Skip to main content

Where - day by day location from your photos

This scripts reads EXIF data from your photos and generates CSV file or Pandas dataframe with day by day location in terms of country.

It relies on my package exif2pandas. It uses reverse-geocoder to convert GPS data to country codes. That module uses a csv file with 150k cities and then uses nearest neighbour algorithm to find the position of each gps data point. This sometimes does not work in border regions so if you are seeing bad data the easiest fix is to copy cities.csv and add your village etc.

In case some of your photos contain bad gps data that show that you have been to countries where you have never been you can use ignore_countries argument.

world map

image-20230727131720726

Generated world map with colored regions according to how many days you have spent in the country.

Pie graph with number of days you spent in a country

image-20230727131816623

CSV file with your travel list:

id,from,to,days,country,country_code
4,2015-11-07,2015-11-09,1,Scotland,GB
5,2015-11-09,2015-12-12,32,Praha,CZ
6,2015-12-12,2015-12-12,0,Budapest,HU
7,2015-12-12,2015-12-12,0,Praha,CZ
8,2015-12-12,2015-12-15,2,Budapest,HU

note that the country column is usually wrong - this is because the cities.csv is not consisent with administrative boundaries beyond country_code.

Year by year histograms

image-20230727132504796

Raw dataframes:

Finally there is a raw dataframe with exif data per image file:

image-20230727132834377

Jupyter examples:

See example.ipynb for example graphs and data frames exported.

Install:

See PYPI Python package.

$ pip install photos-where

Use:

$ photos_where Dropbox/Photos/2020/
$ ls where
cities-pie.jpg      
countries-pie.jpg
intervals.csv
location-by-day.csv 
photos.feather     
years.jpg

Release files for photos-where 2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for photos-where 2.2
File Size Uploaded
photos_where-2.2.tar.gz 2.6 MB Details

Release files / photos_where-2.2.tar.gz

Download URL photos_where-2.2.tar.gz
Size 2.6 MB
Tags Source
SHA-256 checksum
How to use checksums
e8cfd64eedb1913d1b76df8a7a2eec903b2a421319fd84f625d796d3c933fd6f
BLAKE2b-256 checksum
How to use checksums
4f82569a6e451d25218d99a9d82f5b8fcab61b649c52cb432ffbb584feb4ffc6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.8

Release history Release notifications | RSS feed

This release

2.2 This release

1 release file

2.1

1 release file

1.9

1 release file

1.7

1 release file

1.6

1 release file

1.5

1 release file

1.4

1 release file

1.3

1 release file

1.2

1 release file

1.1

1 release file

1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page