A script to select photos from a set, based on geographical location.
Project description
# geoselect
A script to select photos from a set, based on geographical location. Either via a decimal latitude/longitude point.
Or a photo taken in the desired location, it will look for exif standerized gps lat- and longitude tags.
## Installing
### Pip
The easiest way is to use pip to download and install the script.
pip install geoselect
### Get (latest) source
# clone this repo
clone https://github.com/FreekKalter/geoselect.git
cd geoselect
# initialize virtual environment (optional, but recommended)
virtualenv venv
source venv/bin/activate
# install (--editable to hack on code whithout running pip install again)
pip install --editable .
## Using
There are 2 ways to specify the location to select on. LOCATION can be a "latitude,longitude" specified in decimal degrees like: "41.40338, 2.17403".
Or it can be a path to a photo with exif gps coordinates, it will then search for photos taken at the same location.
It will search within a specifie radius (default: 1 km).
If `--path` is set, geoselect will look for images with common file extensions (jpg, jpeg, gif, bmp, png). This can be set to something else with the `--extensions` parameter.
If `--path` is not set, paths to pictures are taken from stdinput. So now it can be used as a stream filter, like most unix/linux commandline utils.
For example the following pipeline:
`find /home/fkalter/photos -name '*holiday*' | geoselect --radius 10 "40.783068, -73.965350" | wc -l`
To count the number of pictures taken in/around central park wich have 'holiday' in the filename.
A (expiremental) feature uses the time a picture is taken to "gues" at wich location it is made. Sometimes the device used to make the picture takes a while to get a 'gps fix'.
So it might not register the gps coordinates for the first picture in a series. The `-- time-based` option looks for any pictures taken in a short time before or after a picture with the specified location is taken. Because it is very likely pictures taken very shortly after each ohter are taken at roughly the same location.
```
usage: geoselect.py [-h] [--path PATH] [--extentions EXTENTIONS] [--copy-to COPYTO] [--time-based] [--radius RADIUS]
[-V]
location
A script to select photos from a set, based on geographical location. Either via a decimal latitude/longitude point.
Or a photo taken in the desired location, it will look for exif standerized gps lat- and longitude tags.
positional arguments:
location location given in decimal degrees like: "40.783068, -73.965350", or a path to a photo with
exif gps info
optional arguments:
-h, --help show this help message and exit
--path PATH path to look for image files, if not set files will be taken from stdin
--extentions EXTENTIONS
comma separated list of extension to look for in PATH
--copy-to COPYTO path where found photos should be copied
--time-based also add photos wich themselfs dont have gps information, but are taken in a short time
before or after one that has (in the right location)
--radius RADIUS radius of area (in kilometers) to select photos from
-V, --version show program's version number and exit
```
A script to select photos from a set, based on geographical location. Either via a decimal latitude/longitude point.
Or a photo taken in the desired location, it will look for exif standerized gps lat- and longitude tags.
## Installing
### Pip
The easiest way is to use pip to download and install the script.
pip install geoselect
### Get (latest) source
# clone this repo
clone https://github.com/FreekKalter/geoselect.git
cd geoselect
# initialize virtual environment (optional, but recommended)
virtualenv venv
source venv/bin/activate
# install (--editable to hack on code whithout running pip install again)
pip install --editable .
## Using
There are 2 ways to specify the location to select on. LOCATION can be a "latitude,longitude" specified in decimal degrees like: "41.40338, 2.17403".
Or it can be a path to a photo with exif gps coordinates, it will then search for photos taken at the same location.
It will search within a specifie radius (default: 1 km).
If `--path` is set, geoselect will look for images with common file extensions (jpg, jpeg, gif, bmp, png). This can be set to something else with the `--extensions` parameter.
If `--path` is not set, paths to pictures are taken from stdinput. So now it can be used as a stream filter, like most unix/linux commandline utils.
For example the following pipeline:
`find /home/fkalter/photos -name '*holiday*' | geoselect --radius 10 "40.783068, -73.965350" | wc -l`
To count the number of pictures taken in/around central park wich have 'holiday' in the filename.
A (expiremental) feature uses the time a picture is taken to "gues" at wich location it is made. Sometimes the device used to make the picture takes a while to get a 'gps fix'.
So it might not register the gps coordinates for the first picture in a series. The `-- time-based` option looks for any pictures taken in a short time before or after a picture with the specified location is taken. Because it is very likely pictures taken very shortly after each ohter are taken at roughly the same location.
```
usage: geoselect.py [-h] [--path PATH] [--extentions EXTENTIONS] [--copy-to COPYTO] [--time-based] [--radius RADIUS]
[-V]
location
A script to select photos from a set, based on geographical location. Either via a decimal latitude/longitude point.
Or a photo taken in the desired location, it will look for exif standerized gps lat- and longitude tags.
positional arguments:
location location given in decimal degrees like: "40.783068, -73.965350", or a path to a photo with
exif gps info
optional arguments:
-h, --help show this help message and exit
--path PATH path to look for image files, if not set files will be taken from stdin
--extentions EXTENTIONS
comma separated list of extension to look for in PATH
--copy-to COPYTO path where found photos should be copied
--time-based also add photos wich themselfs dont have gps information, but are taken in a short time
before or after one that has (in the right location)
--radius RADIUS radius of area (in kilometers) to select photos from
-V, --version show program's version number and exit
```
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
geoselect-0.2.0.tar.gz
(5.1 kB
view hashes)
Built Distribution
geoselect-0.2.0-py2.7.egg
(9.7 kB
view hashes)