Uwaga: Poniżej zakłada się, że program ExifTool jest używany w środowisku MS Windows.
Pobierz plik ExifTool.exe i umieść go w jakimś katalogu (SomeDir)
Otwórz wiersz polecenia (przejdź do wyszukiwania systemu Windows, wpisz polecenie cmd i otworzy się okno)
W oknie wiersza polecenia zmień katalog na SomeDir.
Geotagowanie zdjęć przy użyciu śladu w formacie GPX
Zdjęcia zrobione z nowoczesnych smartfonów są już geotagowane (jeśli opcja Lokalizacja jest włączona).
Dla aparatów nie wyposażonych w GPS, geotagowanie jest możliwe jeżeli dysponujemy śladem (zarejestrowanym za pomocą zewnętrznego odbiornika GPS.)
Synchronizowanie zdjęć ze śladem GPS
Pobierz plik GPX z odbiornika/rejestratora GPS (dokładna procedura zależy od typu odbiornika GPS) do katalogu SomeDir.
Zrób zdjęcie odbiornika GPS/ekranu lub wyświetlacza, na którym wyświetlany jest zegar z dokładnym czasem (na przykład ekranu komputera/smartfona).
Wpisz w wierszu poleceń:
exiftool -DateTimeOriginal IMG_20171021_113121.jpg
Date/Time Original : 2017:10:29 11:52:46
Wartość taga DateTimeOriginal określa, że zdjęcie zostało wykonane o 11:52:46. Dokładny czas odczytujemy ze zdjęcia. Załóżmym że czas na zdjęciu wynosi 11:50:19 CET. Zatem DateTimeOriginal jest równe 11:52:46 CET a czas dokładny 11:50:19 CET, stąd różnica 11:32:46 - 11:50:19 = 2min 27s.
Wszystkie odbiorniki GPS wewnętrznie używają/rejestrują wyłącznie używając czasu UTC, nawet jeśli na ekranie pokazywany jest czas lokalny (Por. UTC_offset). Zwykle aparat wewnętrznie korzysta z czasu lokalnego. Jeśli tak jest, należy zadeklarować odpowiednie przesunięcie UTC_offset (w przeciwnym przypadku exiftool używa systemowego przesunięcia czasu względem UTC).
Skopiuj wszystkie zdjęcia do programu SomeDir.
Wpisz w wierszu poleceń:
exiftool -geosync=-02:27 '-geotime<${DateTimeOriginal}+01:00' -geotag my_gps.log SomeDir
Tag Geotime określa punkt w czasie dla którego obliczana jest pozycja GPS. Zapis -geotime<${DateTimeOriginal}+01:00 oznacza, że pozycja jest obliczana według czasu z taga DateTimeOriginal. Zaś dodanie +01:00 ustala CET jako strefę czasową (Przesunięcie +01:00 względem UTC)
Tag Geosync dodaje dodatkowy dryft czasu, jak wyjaśniono powyżej.
Utworzenie pliku KML
Opcja -p służy do generowania plików GPX i/lub KML.
exiftool -fileOrder gpsdatetime -p gpx.fmt SomeDir > SomeTripPhotos.gpx
albo
exiftool -fileOrder gpsdatetime -p kml.fmt SomeDir > SomeTripPhotos.kml
Pliki KML mogą być importowane do Map Google i Google Earth.
Uwaga: jeżeli mapa ma być wyświetlona nie lokalnie, ale na jakimś serwerze WWW (na przykład: http://www.gpsvisualizer.com/), zdjęcia muszą być przesłane na jakiś serwer, a następnie w pliku KML/GPX należy poprawić linki do tychże zdjęć. Dokładna procedura zależy od tego, który serwer jest używany do przechowywania zdjęć.
Przykładowe pliki formatów
gpx.fmt
#[HEAD]<?xml version="1.0" encoding="utf-8"?>
#[HEAD]<gpx version="1.0"
#[HEAD] creator="ExifTool $ExifToolVersion"
#[HEAD] xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
#[HEAD] xmlns="http://www.topografix.com/GPX/1/0"
#[HEAD] xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
#[BODY]<wpt lat="$gpslatitude#" lon="$gpslongitude#">
#[BODY] <name>$directory/$filename</name>
#[BODY] <ele>$gpsaltitude#</ele>
#[BODY] <desc>$directory/$filename</desc>
#[BODY] <link href="$directory/$filename"><type>large</type></link>
#[BODY] <link href="$directory/$filename"><type>thumbnail</type></link>
#[BODY] <time>$gpsdatetime</time>
#[BODY]</wpt>
#[TAIL]</gpx>
kml.fmt
#[HEAD]<?xml version="1.0" encoding="UTF-8"?>
#[HEAD]<kml xmlns="http://earth.google.com/kml/2.0">
#[HEAD] <Document>
#[HEAD] <name>My Photos</name>
#[HEAD] <open>1</open>
#[HEAD] <Style id="Photo">
#[HEAD] <IconStyle>
#[HEAD] <Icon>
#[HEAD] <href>http://maps.google.com/mapfiles/kml/pal4/icon38.png</href>
#[HEAD] <scale>1.0</scale>
#[HEAD] </Icon>
#[HEAD] </IconStyle>
#[HEAD] </Style>
#[HEAD] <Folder>
#[HEAD] <name>Waypoints</name>
#[HEAD] <open>0</open>
#[BODY] <Placemark>
#[BODY] <description><![CDATA[<br/><table><tr><td>
#[BODY] <img src='$directory/$filename'
#[BODY] width='$imagewidth' height='$imageheight'>
#[BODY] </td></tr></table>]]></description>
#[BODY] <Snippet/>
#[BODY] <name>$filename</name>
#[BODY] <styleUrl>#Photo</styleUrl>
#[BODY] <Point>
#[BODY] <altitudeMode>clampedToGround</altitudeMode>
#[BODY] <coordinates>$gpslongitude#,$gpslatitude#,0</coordinates>
#[BODY] </Point>
#[BODY] </Placemark>
#[TAIL] </Folder>
#[TAIL] </Document>
#[TAIL]</kml>
Powyższe łącznie z przykładami można pobrać klikając tutaj.