GeoTagger Help
GeoTagger allows you to display and modifiy the GPS location information
that is stored in image files.
For a quick introduction see the "GeoTagger User Guide" (available from the Help menu).
Starting the program
If started without command line parameters, the program will come up with an empty
file list, and you can use File/Open to load image and/or GPS track files.
You can also start GeoTagger from the command line, in which case you can specify the
names of files and/or directories to open. If a directory is given, all files in that
directory with extensions *.jpg or *.jpeg (case insensitive) will be
loaded. Subdirectories of the given directories are followed recursively.
See
geotagger --help
for a list of command line options.
Loading files
The File/Open Files (Ctrl+O) command opens a dialog from which you can select the files
you want to process. Multiple files can be selected by clicking on them with the Ctrl
and/or Shift key pressed. Any files selected with this command will be loaded
in addition to the files already in the list.
The File/Open Directories (Ctrl+Shift+O) command opens a dialog from which you can select
a directory to load files from. Depending on the settings in Edit/Preferences/Misc
subdirectories within the selected directory will be scanned recursively.
A preview of the current image is displayed below the list of images, and the status bar
shows the full path name of the current image.
You can use File/Clear Image List (Ctrl+K) to clear the image list.
The rightmost column in the list shows a '*' for images that have been modified since the
last time they have been loaded or saved.
Navigating the map
Click&drag to move the map, and use the mouse wheel to zoom in and out.
Zoom in on the location of the current image with Map/Zoom Current (or Ctrl+N).
This can also be achieved by double clicking on the name of an image in the list.
You can configure how far to zoom in with Edit/Preferences/Map/Zoom radius.
Zoom out to see all image locations and tracks with Map/Zoom All (or Ctrl+Alt+N).
Zoom out to see the entire world map with Map/Zoom World (or Ctrl+Shift+N).
The map displays markers at the locations stored in the images. The location of the current
image is shown with a red marker, while all others are blue. The red marker has a hole at its
center, so that you can see if there are blue markers beneath it. Green markers are used for
Points Of Interest ("POIs"), which can be read from GPS track files.
Clicking on a blue marker makes the corresponding image current.
The map also displays a red line that leads from the very first image location to the last one.
This "path" indicates the sequence in which the photos were taken.
Map providers and types
You can select your preferred map provider under Map/Map Provider.
The first nine providers can be quickly selected directly by pressing
Ctrl+Shift+n (n=1, 2, 3, ...).
Some map providers may require the use of api keys or other parameters.
These can be defined as name=value pairs in Edit/Preferences/Map.
If a map provides different types (like "Street" or "Satellite"), you can
switch between these through Map/Map Type or by pressing Ctrl+n.
Modifying times
To modify the time data of an image, you can double click on a Time field,
press Ctrl+D, execute Edit/Modify Date/Time or right click on
a list item and select Modify Date/Time from the context menu.
In the dialog that appears, you can change the date and time when the image was
taken, and the offset from UTC ("Universal Time Coordinated", also known as "Greenwich
Mean Time" or GMT) at that location. The date and time are usually "local time",
as shown on a calendar or wall clock. The offset from UTC indicates the time zone
of the location, including a possible offset due to DST (Daylight Saving Time).
If, for instance, a photo was taken in Denver, Colorado, the offset from UTC would
be -0700 in winter, and -0600 in summer. Of course you can also have all times
in UTC, in which case the offset would be +0000. Making sure the times are correct
is important for getting locations from GPS track logs.
If more than one image are selected, the dialog is filled with the data from the
current image. Changing the date or time results in the delta between the old
and new value to be applied to all selected images. A change to the offset from UTC
is directly applied to all selected images.
Modifying locations
To modify the location data of an image, simply click at a point on the map.
This will set the Latitude and Longitude of the selected image(s) to the given
values, and adjust the markers accordingly. The Altitude is not changed, because
the map doesn't provide that information.
You can also double click on a Latitude, Longitude or Altitude
field, press Ctrl+L, execute Edit/Modify Location or right click
on a list item and select Modify Location from the context menu to open
a dialog in which you can edit the location data, including the value of the Altitude.
If more than one image are selected, there is a check box that allows you to change
only the Altitude of these images.
Note that the values for latitude and longitude must be given in the format selected
under Edit/Preferences/Format/Coordinates. If the format is "dd° mm.mmmm' N"
or "dd° mm' ss.ss" N", the symbols (°, ' and ") are optional. The letter
for the hemisphere (N/S or E/W) must be given, though, and has to be separated from the
value with a blank.
If you want to make sure you don't inadvertently change an image's location
by clicking on the map, you can check
Edit/Preferences/Misc/Require Shift to set location.
Clicking on a marker makes the corresponding image the current image.
If you want to select a location that is inside the area of a marker, hold
down the Shift key when clicking the left mouse button.
Selecting images on the map by clicking and dragging a rectangle over their
markers always requires Shift to be pressed, because a simple click&drag
moves the map around.
The list items with markers inside such a rectangle will be selected (any previous
selection is cleared). The selection rectangle is limited to the currently visible
map area (zoom out if you need more).
Interpolating locations
If you have images that lack GPS coordinates, you can interpolate these from
surrounding images that have coordinates. To do so, select a sequence of images
where the first and last one have valid coordinates, and all images in between
have no coordinates. Then execute the command Edit/Interpolate Coordinates and
the missing coordinates will be approximated, assuming you moved with constant
velocity on a straight line between the first and last position.
GPS track logs
GeoTagger can handle GPS track logs in GPX and CSV format. CSV formats are configured
in the file csv.conf and can be either detected automatically (provided there
is a suitable entry in the configuration file) or selected manually in
Edit/Preferences/Misc/CSV file format.
Several track logs can be loaded simultaneously, and will be displayed on the map
with the color and width defined in Edit/Preferences/Map.
Moving the mouse along a GPS track displays the date and time (in UTC) that point was recorded.
The command Edit/Location from Track (Ctrl+F) can be used to set the location of the selected
images to the positions recorded in the GPS track. This is where the "Offset from UTC" in the
image timestamps becomes important. Make sure these offsets and the dates/times are correct,
otherwise you may end up with wrong locations extracted from the GPS track.
If the location for the exact time an image was taken can't be found in the track log, the
value between the two positions recorded closest to the given time is interpolated. Locations
for images with times before the first or after the last entry in a track will not be changed.
If a GPS track log contains Points Of Interest (POIs), these will be displayed with green
markers on the map.
The command File/Clear Tracks clears any previously loaded tracks.
Map/Show Tracks (or Ctrl+T) turns displaying tracks on or off.
Altitude
The map doesn't provide the altitude of the selected coordinates, and sometimes even the
GPS data from cameras, smart phones or GPS trackers doesn't contain proper altitude values.
There are sources on the Web that provide the altitude (some call it elevation)
for any given coordinate. The command Edit/Altitude from Web (Ctrl+U)
retrieves the altitudes for the selected images from the altitude provider defined in the
preferences.
Currently GeoTagger has builtin support for
ELEVATION API.
Aligning times
So you have correctly set the time zones (i.e. offsets from UTC) of all your photos,
but your favorite image viewer still doesn't show them in the proper order. That's
because the timestamp that is stored in the EXIF data is considered to be "local time",
and even though some cameras do set the correct time zone, image viewers widely ignore it.
For instance, imagine you take a summer trip from Munich (UTC+0200) to Denver (UTC-0600).
Your smart phone is set to the local time and time zone at the departure Airport, and,
lacking contact to a mobile phone network during the flight, stays that way until you
reach your destination. So all the photos you take during the flight will be in local
time of Munich. Once arrived at Denver, your phone connects to the local network and
sets itself to the new local time and time zone. Since there is an eight hour difference
between local times in Munich and Denver, any photos you take for the next eight hours will
be intertwined with the ones you took up to eight hours before. GeoTagger presents the
images in the proper order, because it takes the time zones into account. To have any
image viewer also do so, you can use the Edit/Align (Ctrl+G)
command to set the times of the photos you have taken while crossing time zones in
a way that implements a smooth transition from departure to destination.
To do so, sort the image list by ascending time, and select all images from the last
one that shall keep the departure time zone up to the first one that shall keep the
destination time zone (you need to select at least three images). The Edit/Align
(Ctrl+G) command will then modify the times of all images between the
first and last selected one in such a way that the "local time" will always be increasing,
while the offset from UTC will be decreased accordingly. This is also what is in fact
happening when you travel from east to west: you're moving through time zones and
it's a "long day", because "local time" increases slower than for a stationary observer
at the departure airport (and no, this has nothing to do with Einstein). The effect
is reversed when going from west to east. It is then typically a "short night".
Aligning times this way works for any westward journeys, even crossing the dateline.
It also works eastwards, however crossing the dateline poses a problem there, because
in that case the generated image times would have to run "backwards".
The UTC times of the images will be roughly the same as before the alignment (if the offset
from UTC is taken into account). They may be up to plus/minus one minute off from the
original time, because the offset from UTC is given in full minutes. Also, times that were
close together but different before, may become the same after the alignment.
In case you use the Edit/Location from Track (Ctrl+F) command to
set locations from GPS track logs, you may want to do so before aligning times.
Rotating images
The command Edit/Rotate Images (R), which is also available in the
preview's context menu, rotates the selected image(s) by 90 degrees counterclockwise.
This command always starts from the initially loaded image, so any previous "straighten"
or "crop" command will be reverted.
WARNING: Unlike the commands that modify times or coordinates, this command actually modifies
the image data itself when you save your work in "store" mode!
Straightening images
While adjusting times and coordinates of your photos, you may come across images that
are a bit slanted. A typical example for this are photos hat show the horizon. Geotagger
offers a quick and easy way of straightening such images by means of the Edit/Straighten Image
(S) command (also available in the preview's context menu).
Activating this command shows a grid over the preview image that allows you to see where
horizontal or vertical lines need to be straightened. Click&drag along such a line
(for example the horizon), and when you release the mouse button, the image is rotated
in such a way that the marked line will be straightened. Lines between +/-45 degrees
from horizontal will become horizontal, lines within +/-45 degrees from vertical will become
vertical. This command always starts from the initially loaded image. To revert the straightening,
either use Edit/Undo, or start Edit/Straighten Image so you see the
grid lines, and click (without dragging) into the image. Pressing ESC cancels this command.
Straightening an image rotates the image by the given angle, which results in a larger image
with white triangles at its corners. GeoTagger automatically crops the result to the maximum
possible rectangular area within the original image, so that none of the white areas is
visible. You can use the Edit/Crop Image (C) command to adjust this.
WARNING: Unlike the commands that modify times or coordinates, this command actually modifies
the image data itself when you save your work in "store" mode!
Cropping images
The Edit/Crop Image (C) command (also available in the preview's context menu)
allows you to select a given area of an image. Issuing the command shows the current crop area
(which may be the entire image area) with handles you can use to resize it. Two horizontal and
vertical grid lines approximate the "golden ratio". Click&drag on the handles to adjust the crop
area, or inside the area to move it as a whole. Hold down the Shift key to retain the image's
aspect ratio while resizing the area. Finally click (without dragging) inside the crop
area to confirm the selection. If you press ESC, click outside the crop area, switch to a different image
or resize the preview window, the command will be cancelled.
WARNING: Unlike the commands that modify times or coordinates, this command actually modifies
the image data itself when you save your work in "store" mode!
Excluding images
The Edit/Exclude Images (X) command toggles the 'X' flag of the selected
image(s), which controls whether an image is excluded from exporting with the File/Export
(Ctrl+E) command. If more than one image are selected, the 'X' flag of all selected
images are set according to the current image.
Note that this flag is only saved in "cache" mode.
If you have excluded some images, you can use the View/Next Image (N)
and View/Previous Image (Shift+N) commands to browse through only the
non-excluded images.
Hiding images
Imagine you have loaded many images from various events in different locations, and you want
to view or edit only a particular set of them, for instance all images taken over the years
at a certain place. The View/Hide Images (H) command allows you to do just that.
It hides all selected images from the list and the thumbnail view. The images are still loaded,
but all commands work only on the images that are currently shown (see below for exceptions).
To perform the task described above, you could zoom the map into the desired location, select
all the respective markers (by click&dragging a rectangle around them, with the Shift key
pressed), invert the selection with Edit/Invert Selection (Ctrl+Shift+A),
and finally use View/Hide Images (H).
View/Show all Images (Shift+H) makes all images visible again.
You can tell if there are hidden images by looking at the "Images:" entry at the right end of
the status bar. If it shows two numbers, separated by a '/', the first one is the number of
shown images, and the second one is the total number of loaded images.
When you save your work, it will always save all image data, no matter if there are hidden
images or not.
When you export images and there are hidden ones, you will be asked whether or not you want
to export the hidden ones, too.
Undo/redo always treats all images as visible.
Modifying the Photographer
If the EXIF data of an image contains the "ARTIST" tag, its content is displayed in the
"Photographer" column. Use Edit/Modify Photographer or right click on
a list item and select Modify Photographer from the context menu to modify the
Photographer of all selected images.
Maximizing the image preview
The command View/Maximize Image View (M), which is also available
in the preview's context menu, hides the image list and the map, so that the preview can take up
the entire space of the GeoTagger window. This can be helpful when straightening or cropping
images. Issuing the command again restores the previous window setup.
Thumbnails
The image preview can be switched to thumbnail view with the View/Thumbnails (T)
command. In thumbnail mode, the status bar provides a slider for adjusting the size of the thumbnails,
as well as a button that toggles between square and full aspect ratio display.
Double clicking on a thumbnail switches to full view of the selected image (and vice versa).
Thumbnails for excluded images are shown in reduced black&white mode, with a red triangle in the
upper left corner.
If an image file doesn't contain a thumbnail in its EXIF data, one will be generated automatically.
Also, every time an operation modifies the image (like rotating, straightening or cropping), the thumbnail
will be regenerated.
Sometimes the thumbnails generated by the camera may not be optimal. For instance, photos taken in
16:9 mode may have black bars on top and bottom, or the resolution of the thumbnail image is very
poor. In such cases, Edit/Preferences/Misc/Always generate thumbnails can be enabled to have
GeoTagger always (re-)generate thumbnails.
Note that this can take quite a while if it is done for many images, so this operation runs in the
background and you can continue to work.
When a file with a generated thumbnail is written, GeoTagger adds a "user comment" to the EXIF data
that indicates that this is a thumbnail that has been generated by GeoTagger. That way, next time
the file is loaded with GeoTagger and Edit/Preferences/Misc/Always generate thumbnails is
enabled, it won't have to regenerate it. Any previous user comment tag (if present) will be overwritten.
Backup
Before saving modifications to an image file, GeoTagger creates a backup copy of that file.
By default, a directory named BAK is created in the same directory as the image file.
The image file is then copied into that directory. So for instance the file
/Home/MyPhotos/img_1234.jpg
would be copied to
/Home/MyPhotos/BAK/img_1234.jpg
If a file with that name already exists there, a numerical suffix is added to the file name,
as in
/Home/MyPhotos/BAK/img_1234-1.jpg
The name of the backup directory can be defined in Edit/Preferences/Backup.
If you use a local name (like BAK), that name will be excluded when recursively loading
files from directories, so that the backup copies don't get in your way.
You can also select an absolute path name here, if you want the backups to go somewhere else.
If you delete the backup directory name, no backup will be done.
WARNING: ONLY DISABLE AUTOMATIC BACKUP IF YOU ARE SURE THAT YOU ARE WORKING WITH COPIES
OF YOUR IMAGE FILES AND HAVE A BACKUP OF YOUR OWN!
If you select an absolute path name for your backup directory, you can choose whether
to store the backup under the full path name of the image, as in
/Path/To/Backup/Home/MyPhotos/img_1234.jpg
or just the file name:
/Path/To/Backup/img_1234.jpg
You can also choose whether to back up only the original image file, or every time a modified
file is saved.
Cut/Copy/Paste
The cut, copy and paste operations apply only to locations.
Edit/Copy (Ctrl+C) copies the location data of the current
image to the buffer.
Edit/Cut (Ctrl+X) does the same as copy, but also clears
the location data of the current image.
Edit/Paste (Ctrl+V) copies the location data from the buffer
to the selected image(s). If the buffer doesn't contain an altitude value, existing
altitudes in the selected images are not overwritten.
Undo/Redo
You can undo/redo any changes you made with Edit/Undo and Edit/Redo
(or Ctrl+Z and Ctrl+Shift+Z, respectively). The undo buffer is not
cleared when you save your modifications, which means that you can always undo all the way
back until you loaded your files. If there are unsaved modifications, this is indicated
at the right end of the status bar.
Saving modifcations
You can use File/Save at any time to write modified image data back to the disk.
When you exit the program by closing the main window, executing File/Quit or pressing
Ctrl+Q, you will be asked whether you want to save any modified data.
The same happens if you clear the image list with File/Clear Image List (Ctrl+K).
There are two different ways in which GeoTagger saves modified times and locations. By default
it writes the data back into the image files, making a backup copy of the original files according
to the settings in Edit/Preferences/Backup.
GeoTagger only modifies the EXIF data, leaving the actual image data untouched.
The second method leaves the image files untouched and writes the modified data into a text
file (.geotagger by default) within the directory of the image files. When files from such
a directory are loaded in a later session of GeoTagger, the .geotagger file (if present)
is read and the times and locations of the images are set to those given in that file.
Besides leaving the original files completely untouched, this method has the advantage of
saving data much faster than creating backup copies and overwriting the original image files.
Go to Edit/Preferences/Backup/Mode to select which of these modes you prefer.
Once you have finished editing the times and locations of your images with the second method,
you can set Edit/Preferences/Backup/Mode to "store modifications in original images" and save
your work. This will create backup copies according to your selected preferences, write the
modified data into your image files, and delete the data from the .geotagger files in the
respective directories.
Exporting image files
Image viewers normally have options to display images sorted by their file name or by time.
If present, some take the time from the EXIF data stored in the image file, others may just
use the file timestamp. If you have image files (maybe from various sources, like different
cameras or from people joining you on your trip) that you want to be sure are presented
in the exact sequence they were taken, the File/Export (Ctrl+E) command
can be used to export all loaded images (which may reside in different directories) into
one new directory, following these rules:
- All image files must have a valid EXIF time (which may have been modified in GeoTagger).
- No two images may have the same time (this will be checked automatically before generating
any output). To resolve such conflicts, simply add or subtract one second to/from one of
the images in question.
- All file names will be generated from the EXIF times of the images, in the form YYYYMMDD-hhmmss.jpg
(this is the reason why images must have unique times). The times used are the local
times as shown in the "Time" column, without the offset from UTC.
- If the parameter Edit/Preferences/Misc/Export sets file time is active, the timestamps of the
exported image files will be set to the same times as used for generating the file names.
- The directory into which to export the image files should be empty (subdirectories and hidden
files are OK). If the directory is not empty, you will be prompted whether to continue, and if
you select OK, any existing files with names that match those of the exported ones will be
silently overwritten.
This works with both the "store" and "cache" modes. With "cache" mode you can create an exported
directory of your images without modifying the original files in any way.
See "Excluding images" if you want to exclude some images from exporting.
Batch mode
The Export command can also be executed in batch mode by using the --export option.
This can be useful if you have interactively processed images in several directories and
then realize that, for instance, you had Edit/Preferences/Misc/Export sets file time
turned off all the time, while you actually wanted it to be turned on. Instead of interactively
loading and exporting each directory again with the new setting, you can simply do (maybe within a script)
geotagger
--export=target source...
which takes all the files/directories given as source and exports them into the target
directory. If, while doing so, any user input would be required, a message will be printed to
the console and the command is terminated. You can use the --quiet option to suppress
any info and warning messages and progress displays.
Batch mode uses all the relevant settings given in the Edit/Preferences dialog. You may need
to close any open GeoTagger window in order to have the settings written to disk before running
the program in batch mode.
You can use the command line options
--thumbnails, --orientation, --times, --exclude and --xref
to make sure these parameters are set, no matter what their stored setting is.
Preferences
The Edit/Preferences dialog allows you to configure various parameters to your liking.
Map
Zoom radius: when zooming in on the location of the current image with Map/Zoom Current, the zoom level is
set so that an area within a circle with the given radius around that position is visible. The unit in which the value is
displayed can be defined on the Format tab.
Width of path: the width (in pixel) with which the path between image locations is displayed.
Width of tracks: the width (in pixel) with which GPS tracks are displayed.
Color of path: the color with which the path between image locations is displayed.
Color of tracks: the color with which GPS tracks are displayed.
Color of track times: the color with which GPS tracktimes are displayed.
Color of selection: the color with which the selection rectangle is displayed.
Map provider parameters: parameters like "app ids" or "tokens" required by some map providers.
One parameter per line, given as name=value pairs. The name consists of the provider's plugin name
followed by a dot ('.') and the actual parameter name.
Altitude
Provider: the provider to retrieve altitude data from.
Overwrite existing values: if checked, existing altitude values will be overwritten with values
from the provider.
Altitude provider parameters: parameters like "keys" or "resolutions" required by some altitude providers.
One parameter per line, given as name=value pairs. The name consists of the provider's name
followed by a dot ('.') and the actual parameter name.
Format
Units: the units used to display measurements ("metric" or "imperial").
Precision of altitude: like longitude and latitude, altitudes are often stored with several decimal
digits in the GPS data of photos. However, these values usually are not that precise, and displaying them
with many decimals is just irritating. Use this parameter to set the number of decimal digits to display for
altitudes.
Show file names: by default the list of images displays only the base name of the image's file.
If you have loaded files from different directories it may be useful to switch to "full path".
Note that the status bar always displays the full path name of the current image file.
Coordinates: the format in which to display coordinates.
Time: the format in which to display dates and times.
Backup
Mode: the mode in which modified times and locations are saved
("store modifications in original images" or "cache modifications in separate files").
See "Saving modifications" for details.
You can tell which mode is currently active by looking at the "Modified:" entry at the right end of
the status bar. In "store" mode it shows the number of modifications that will be written with the
next save command. In "cache" mode this number is followed by the total number of
modifications that are stored in the .geotagger files.
Directory: the directory in which to write backups.
Name: how to name backups ("full path name" or just "file name").
Frequency: how often to do backups (every time a file is saved, or only when the original file is saved).
File: the name of the file in which modified times and locations are stored in "cache modifications
in separate files" mode (default is .geotagger).
Misc
Max. preloads: when moving the cursor in the image list, the given number of images are loaded
in addition to the current image. This makes browsing the image list faster.
Max. image memory: the maximum amount of memory to use for caching images.
Note that no matter how small you set this value, there may always be the present, previous and following
image loaded, which may well exceed the given value. Also, the memory taken into account is that of the
actual image in memory, which is typically more than that of the file on disk.
CSV file format: the file format to use when reading GPS track logs in CSV format.
Load track files: automatically load GPS track files when opening a directory.
Use custom list style: GeoTagger uses a custom style for displaying the image list. Uncheck this option
to use the standard system style.
Require Shift to set location: if checked, a click on the map requires the Shift key to be pressed
in order to set the location of the selected image(s).
Export resets orientation: by default, GeoTagger leaves image data untouched if possible when writing
files. When you export your images, you may want to reset the orientation parameter in the EXIF data, even
if this wouldn't be necessary because you didn't rotate, straighten or crop the image. You can check this
option to make this happen.
Export sets file time: if checked, exported images will have their file time set to the time stored
in the EXIF data. Note that this may prevent files from being synchronized with commands like 'rsync', therefore
this option is off by default.
Always generate thumbnails: if checked, thumbnails will always be (re-)generated.
Exclude directories: the names of directories you don't want to be scanned when recursively opening
directories. You can enter more than one name, separated by colons (':').
If the name of the backup directory is local, it will be automatically excluded.
Max. directory scan level: when opening a directory, by default all subdirectories within it will
be scanned recursively for image and GPS track files. Use this parameter if you only want to scan up to a
certain level.
Export xref file name: the name of the file in which the File/Export command stores
a cross reference between the generated file names and the original names (default is .geotagger.xref).
If the original names are relative to the export directory (i.e. below it), they are listed without the export
directory.
If this is empty, no such file will be generated.
Bug reports
Please send bug reports to <geotagger@tvdr.de>.