This is a small fun project inspired by KrauseFx's howisfelix.today, which, in turn, is inspired by Wait But Why's project.
I decided to do it based on the EXIF data of my personal photo collection in Photos.app. The caveat there is that properly GPS tagged data is only available from the point in time when I got my first iPhone (January 2008).
Here's a work in progress screenshot, with around 50% of my images correctly tagged with the location (I ran out of API credits).
This is a two-step process, first we are scanning the Photos.app library and extracting the GPS coordinates. Then we use a service like Positionstack.com to reverse geocode these into Country / City information.
All this information is stored in a local SQLite database. Running the import step another time will skip all entries which are in the database already.
While the data is importing you can already watch the progress by starting the web interface of the tool (See: "Generate report" below).
POSITIONSTACK_TOKEN
: Add your API token from http://positionstack.comPHOTO_PATH
: The absolute path to your Photos.app originals directoryLOCATION_BACKEND
(Default: positionstack): The backend used to translate coordinates to country / city information.
Make sure Exiftool is installed and available in your $PATH.
Run ./run_develop.sh
to scan your Photos.app library.
Run ./run_develop_web.sh
to generate the report. You can look at it on "http://localhost:8080" by default.
- It might be more efficient to dig into the SQLite database of Photos.app directly. The schema is not straight forward though. This could be implemented as a different importer plugin.