gps-cluster
This small program will take some pictures in input, and based on the metadata on every image, it will group them by their GPS position, if available.
Starting from the given folder, the program will recursively go through any picture and find "clusters" of images by using their location, and it will generate a folder for each cluster.
The clusters are generated by using the <THRESHOLD VALUE>
(see the Usage section), which represents the radius, in meters, used to group the images.
Features
- generate clusters based on GPS location and a given radius
- relocate unclassified images by using a time frame
- use Google Maps APIs to rename clusters' folders
Usage
To use this program, run
gps_cluster --input <INPUT FOLDER> --output <OUTPUT FOLDER> --threshold <THRESHOLD VALUE>
where <INPUT FOLDER>
is the input folder, which can contain other folders since the program works recursively, <OUTPUT FOLDER>
is the output directory, which must exist and must be empty, and lastly THRESHOLD VALUE
is the radius, in meters, used to generate the clusters.
Also, a --verbose
flag is available, for a better console output.
Optional parameters
gps_cluster [PARAMS] --relocate --time <TIME>
to try to relocate unclassified images by using a specified <TIME>
frame (specified in seconds).
gps_cluster [PARAMS] --human_readable --api-key <API-KEY>
to try to rename clusters' folders by using Google Maps APIs Reverse Geocoding feature. Warning: to use this feature you must enter your Google Maps <API-KEY>
.
TODO list
- support for non-empty folders