Javascript Tree Menu

Tracklog import from GPS devices and Google Earth support



Since JCapPM v3.4 you can import various tracklogs from GPS devices in order to automatically associate photos with their tracklog data (longitude/latitude). This mapping is based on timestamps, both existing in the tracklog and in the photo. By looking at the photo timestamp JCapPM associates a photo with the chronologically nearest found tracklog data.

Moreover JCapPM allows to create kml files which are interpreted by Google Earth client. So you can trace back your route in Google Earth and also see where exactly your photos have been taken.

You open the tracklog panel by clicking on "Import tracklog file" in menu "Metafile" of the position map window of JCapPM. The following sreenshot shows the tracklog panel:




Tracklog format

JCapPM can import GPX and TXT file formats. GPX is a light-weight XML data format for the interchange of GPS data (waypoints, routes, and tracks) between applications.

As you see in the screenshot, importing a GPX file doesn't require any setup work since the format is well defined. However, when selecting the TXT format, JCapPM enables the text fields where you have to specify how your tracklog file is structured.

Tracklogs can be converted from one format into another by using standalone software as for example GPS babel or online software like GPS Visualizer.

If you want to import tracklogs in TXT format, please read the following lines:
The text file to import must contain at least 2 columns: one with the position (lat/lon) and one with the timestamp. Please tell JCapPM in which column to find this data and also which character (tab, coma or semicolon) separates columns.

Some tracklogs contain also an altitude column which you can import too. The altitude is only used (but not needed) for creating kml-files for Google Earth client. In the textbox you may enter an offset, expressed in meters. In my example I don't care about altitude.

You may define an "identifier column" in order to search only rows containing this identifier. For instance, you could be interested only in rows carrying the word 'Trackpoint' as it's the case for my Garmin tracklog. Here you see an excerpt of my Garmin tracklog:
Header	Position	Time	...some more columns...
Trackpoint	N48.86108 E2.33454	25.09.2005 18:32:03 	...some more columns...
Trackpoint	N48.86121 E2.33480	25.09.2005 18:32:27 	...some more columns...
Trackpoint	N48.86125 E2.33532	25.09.2005 18:32:55 	...some more columns...
Trackpoint	N48.86120 E2.33564	25.09.2005 18:33:19 	...some more columns...
Track	ACTIVE LOG 024	25.09.2005 18:37:21 	00:00:30	7.08 m	0.85 kph

You may need to adapt your timestamp format. As the screenshot shows I use a german timestamp format. You are very flexible to define your timestamp format by using a wildcard pattern. Keep in mind that the timestamp must not contain the column separator. The following table shows in the first column the wildcard character followed by its description and an example in square brackets.
G  Era designator  [AD]
y  Year  [1996; 96]
M  Month in year  [July; Jul; 07]
w  Week in year  [27]
W  Week in month  [2]
D  Day in year  [189]
d  Day in month  [10]
F  Day of week in month [2]
E  Day in week  [Tuesday; Tue]
a  Am/pm marker  [PM]
H  Hour in day (0-23) [0]
k  Hour in day (1-24)  [24]
K  Hour in am/pm (0-11) [0]
h  Hour in am/pm (1-12)  [12]
m  Minute in hour  [30]
s  Second in minute  [55]
S  Millisecond  [978]
z  Time zone  [Pacific Standard Time; PST; GMT-08:00]
Z  Time zone  [-0800]

For example for a french timestamp pattern you would simply write:
dd/MM/yyyy HH:mm:ss
which would result in:
31/12/2001 22:08:56
Or a more complicated one:
EEE-MMM-d ''yy h:mm a
would result in:
Wed-Jul-4 '01 7:06 PM

The pattern length is limited to 40 characters.
Just try out some patterns and you'll see below of the text field the sytem date formatted in real time.

Finally, select your tracklog file to import.
Hint: When you click 'Select...' and you left the text field empty then JCapPM points to the folder of the actually shown photo.


Timing



As the screenshot shows, there are 3 sections:
  • Time shift
  • Time range
  • Time import
Time shift
If your GPS device has another time than your camera you should tell JCapPM that difference. Else photos would be incorrectly associated to their trackpoints. In my case (see screenshot) my GPS device is 2 minutes and 24 seconds earlier than my camera.
Please note, that you might need to add your time zone offset dependend on how your tracklog was recorded.

Time range
Here you can define the maximal difference a photo timestamp must match a timestamp of the GPS tracklog in order to be associated to that trackpoint.
As the screenshot shows I only want to associate photos which tracklog timestamp doesn't have more than 3 minutes time-lag.

Time import
Here you can select which timestamp of photo has to be to take into account: either the last-modified timestamp of the file or the timestamp found in the Exif header of the photo.
The last-modified timestamp of the file may be altered when you have modified the photo by some imaging software whereas the Exif-timestamp should never be altered. If your camera uses another timestamp pattern than the default one (yyyy:MM:dd HH:mm:ss) you may adapt it in the same manner as above.
If 'Exif' is selected but the timestamp doesn't exist in the Exif header then the last-modified timestamp of the file will be taken instead.


Google Earth

Select if you want to create a kml-file which can be interpreted by Google Earth client. A file called like your tracklog file but with extension ".kml" will be then created in the same folder. Existing homonymous file will be overwritten without warning.



View Options

Tilt:
This value indicates the angle of the eyepoint to the designated point. A value of 0 indicates no tilt and the perspective in the Google Earth client viewer of looking straight down on the object. A value of 90 indicates full tilt and the perspective of a horizon view in the Google Earth client. Its units can be expressed in decimal degrees or in any other standard GIS notation.


Heading:
This value describes the angular distance along the horizon to the viewpoint. This is measured from north (north=0, east=90, south=180, west=270). Value is defined with respect to the observation coordinates and is expressed in decimal degrees.

Range:
It determines the distance in meters from the surface (sea level) of the planet at longitude/latitude to the eye point. The values is determined by the observation coordinates of the particular view. Its units can be expressed in decimal degrees or in any other standard GIS notation.