[Die deutsche Version gibt es hier: Deutsche Doku]


When I programmed "Bernie's Track Viewer", I wanted analyze the data which I recorded on my GPS unit and especially I wanted to edit them. It was precisely the need of editing that was mentioned on some sites on the internet, which has led me to this program. Also, my experience has proven that such data really need editing before publication: some data points can be over a hundred meters away from their real location! Elevation values may be corrected automatically.

Later on I had the idea of mapping my photos – so that they are already suitable for Panoramio and Google Earth.

Installation of the program

I have not yet written an installer, hence this is still a manual process. In the program folder (C:\Program Files), create a directory "BerniesTrackViewer". Then unzip the archive which you downloaded into that folder. You can start the program by double-clicking on "BerniesTrackViewer.exe".

Opening GPS files

After starting the program, a GPX file is opened. You can just drag it onto the main window and drop it there or select it via the menu File-Open.

Thereafter, some analysis is shown in the main window.

A GPX file may contain several tracks (usually it's just one). The first of them gets displayed (it has the index 0) automatically, but you can select a different one in the field "Selected" right of "Number of tracks".

The name of the track can be changed and saved.

Typically, a track has only one segment (several segments are possible), and initially the first segment (which also has the index 0) is analysed.

The graphical representation of the selected segment is obtained via the menu Edit-Track.

Important: The program does not remember whether changes were made to the data. In order not to lose your changes, you should save them before closing the program or loading a different file via the menu File-Save or File-Save as.

Graphical Representation

This window consists of three parts:
- on top left there is a list of photos, which are to be mapped
- on the right, there's the actual graphical representation of the track segment ("TrackControl")
- on the bottom, there's a set of controls for manipulating the graphical representation.

When opening this window, the track segment is typically shown with the axes of longitude and latitude on a black background. Apart from a variety of maps and aerial photos (which is possible thanks to the project "GreatMaps" of "radioman", a number of simple modes of representation is available. Here, you select on the left part of the controls area the desired categories for x and y axes.

The display is updated after clicking on "Draw".
Most of these data are calculated values, some of which are associated with strong uncertainties (e.g. the ascent). The representation by a "direction" is used for detecting fast changes of direction that occur when you look around at one point before moving on, or on occasion of a short trip into the bushes for providing a tree with a nitrogen-liquid-overleaf-fertilisation – such parts can thus be cleaned up before publication.

If you move the mouse over the track control, a tooltip will appear. If a recorded point is below the mouse, it is the information on this point; which type of information is shown can be set with the parameter "TrackControl_WayPointInfo". Otherwise, it is the geographical coordinates.

To change the location of a point, click it with the right mouse button and move the mouse to the correct position while holding down the right mouse button.

Double-click (left mouse button) on a recorded point will open an editing window where the longitude, latitude and elevation of the point can be changed.

For selecting one or more waypoints, clicking with the left mouse button in the image and then drag the mouse. All points that lie in the spanned rectangle are marked and receive a different colour.

This selected area can be saved into a GPX file by clicking the "Save Selection" button. The location of the file is specified via the setting "GPXSnippetLocation". Such sections can be imported into other programs such as JOSM.

To delete the selected points, click "Delete".
Warning: There is no "undo function"!

For zooming into the track, use "Selected point from ... to ...". After clicking on "Draw", the graphical representation is adjusted to fit the selection.

By changing "Zoom" value, the picture can be drawn larger than the TrackControl, scrolling will be required. Note: This may use up a lot of memory and computing resources!

You can also control whether you want to see the recorded points, a line for the track segments, and the photos; several styles or colours can be applied.


An important point for processing is the elevation profile. If the elevation was determined by a barometric altimeter (the automatic calibration using satellite data should be switched off), the corresponding systematic error can be fixed automatically.

By clicking the "Elevation" button, a new window is opened where you select the start and end point of the part to be corrected. Then enter the correct values for these points. Cold temperatures make elevation differences grow, heat makes them shrink – this error can be corrected by giving the temperature (in centigrade), or alternatively a correction factor. To compensate for the general change in air pressure during the recording, the adjustment can be done by time or, alternatively, by distance.

Mapping photographs

If photos were taken on the way, their geographic position will be determined automatically with the help of the track. First, a track is opened as described above, and edited if necessary. Since the times given on the GPS and the photograph may differ, it is advisable to start with a photograph, whose location is known. The photo is dropped into the list of the photos. It gets automatically mapped and shown in the TrackControl. The upper-left corner of the photo corresponds to its location.

If this location is not correct, start looking for a suitable waypoint, and remember its time value. Now mark the photo in the list and select in the menu "Photos-Change time". There you set the time on the GPS. If you want to use this time difference for further photos, mark the check box underneath. After clicking OK, the photo will be automatically re-mapped and displayed. This process can be repeated as needed.

Then drag the other photos into the list of photos which are associated with this track. Their location should already be correct.

It is possible that the photo was taken at a location other than the location of the GPS (e.g. if the GPS unit was left on the bike and you walked a few steps away). In such a case, you click the photo with the right mouse button and drag it to its proper location. The position of the mouse will become the left-upper corner of the photo, and hence its location, no matter where you clicked the photo.

Auxiliary functions are hiding / displaying photos on the map and the removing them from the list.

And do not forget to save the photos after they were mapped!

Changing basic settings

Many of the settings can be found in the file "BerniesTrackViewer.exe.config". This file is an XML file and can be edited with a normal editor.


This is the place where the maps and aerial photos get stored which were downloaded from the internet. If nothing is specified, they are stored in the "All Users" directory (C:\Documents and Settings\All Users\Application Data\GMap.Net.Cache or C:\ProgramData\GMap.Net.Cache).


The image shown in the Track Control is always stored as a bitmap. This parameter specifies the location of the file. If nothing is specified, a file called Bitmap.bmp is written in the temporary directory (TEMP environment variable).


If a number of points is marked in the Track Control and "Save selection" is clicked, a GPX file is created that contains only the selected points (e.g. for publishing this selection, or using it in an editor for OpenStreetMap). If nothing is specified, a file called Temp.gpx is written in the temporary directory (TEMP environment variable).


The average speed between two points is calculated in meters per second. If the value should be displayed in another unit, the appropriate conversion factor is given here. For kilometers per hour it is 3.6, for miles per hour 2.24.


Specifies whether the window with the graphical representation of the track will be displayed maximized.


Specifies whether the graph is to be drawn automatically when the window opens.

TrackControl_X_Axis and TrackControl_Y_Axis
These are the default settings for the X-and Y-axis of the graph.


This defines the items of information displayed in the tooltip for a waypoint. The tooltip may contain several lines, one item gets displayed per line. The lines are separated by “pipes” (|).

A line starts with the name of the item shown, followed by a property or function of the WayPoint class containing the data, and a format specification.


Time, Time, (0: dd.MM.yy HH:mm:ss) GMT

This will show "Time" with the value being taken from the property "Time" and formatted with "(0: dd.MM.yy HH:mm:ss) GMT".

Last edited Sep 15, 2010 at 6:26 PM by bhiller, version 7


No comments yet.