|  |  | Tracks

## Tracks

Tracks have a datum for all its points, a colour and a width (in pixels) used in displaying it on the map. The colour will be sent to the GPS receivers supporting it, in which process a colour matching algorithm will be applied if the original colour is not in the set of colours accepted by the receiver. Any colour matching algorithm may give unexpected results and the one used in GPSMan is no exception.

A map background image name can be given for each track, so that when the track is displayed on the map window the named image is automatically loaded if the map is empty. See below for the details.

Each track point has the following information: time stamp, position (always shown in the DMS format), altitude and depth in either metres or feet, depending on the existing option for this. In the computation results there are six fields for each point: distance to next point, cumulative distance to next point, altitude in the unit selected by the user (a negative number means depth instead), time to next point, speed in the line to the next point and bearing to the next point.

A track can be subdivided into segments by some receivers at points in which the GPS fix was lost. The first track point always starts a segment, and any other track point can be marked as a segment starter from the track edit window by using the mouse right-button on the last column of the points list. When displaying a track with segments on the map, the segments will not be connected.

The edit window for tracks allows some operations on tracks that may be useful to clean uninteresting start or end parts of a track, or to compose a single track from several others. They are:

- "Chop head": all track points from the first to and including the one selected are deleted; if there is no selection the first track point is deleted;
- "Chop tail": all track points from and including the one selected to the last are deleted; if there is no selection the last track point is deleted;
- "Include before", or "Append": the track points of another track are put before the first, or after the last track point. To ensure sensible values for speed between track points, their dates may have to be changed. GPSMan will show the distance between the last point in the first track to the first point in the second and will propose a new date for this one. This date is computed assuming a constant speed and may be changed by the user. All dates in the second track will be adjusted according to the selected date, keeping the original differences.

An elevation graph for a track can be plotted, as a side-view or a perspective, from the track computation window if there are at least 3 track points with a valid altitude field. They are similar to the elevation graphs for routes, although the side-view graph can be plotted against time instead of total distance if there is valid time information.

A speed graph for a track can be plotted from the track computation window if there are at least 3 track points with valid time information. It is similar to the side-view elevation graph and can also be plotted against time instead of total distance.

A climb rate graph for a track can be plotted from the track computation window if there are at least 3 track points with valid time information. The graph is plotted against time, the vertical units being (user selected) altitude unit per second. If there is enough points a noise-reducing filter, kindly provided by Paul Scorer, is applied to the data.

Creating a waypoint from a track point can be done by double clicking with the mouse left-button on a track point listed in a track window. This will open, for edition, a new waypoint having the same coordinates unless there is already a waypoint being edited. If the track is currently on the map the number of each track point together with the track name will appear in the help balloon when the cursor is over the point.

A waypoint with average coordinates can be created from a track window. Its latitude, longitude and altitude will be computed as the averages of the latitudes, longitudes and altitudes of the track points. This will be useful for obtaining more precise coordinates for a waypoint by recording a track with the receiver standing still.

A track can be converted into other line items by a simplifying algorithm that keeps a certain number of the track points as points of the new line, which can be a route, another track, or a polyline. When converting to a polyline information on segments is only used if all the points are kept.

The algorithm that was developed for this may be seen as a variant of the Douglas-Peucker algorithm for finding critical points in polylines (see, e.g., [Heckbert and Garland, 1997] or [Li, 1995]). It starts from a straight line between the first and the last track points; if the number of points to keep is greater than 2, any point that stands furthest from the line will be retained, and the line is replaced by two new lines, those from the first to the new point and from it to the last one. This procedure is repeated always replacing one of the lines for which the distance to an intermediate point is maximum. The review of [Heckbert and Garland, 1997] describes an algorithm by Ballard and Brown (published in 1982) that seems to be very close to this one.

The sequence available here shows examples of routes with 3, 6, 11, 15 and 31 waypoints obtained from a track having 739 track points.

Although GPSMan lets the user fix the number of points to keep between 2 and the number of track points, there is a maximum number of points per route depending on the GPS receiver. It should also be noted that the time needed to find the simplified line will increase significantly with the number of points (although keeping all the track points will take only the time to create the new item).

So that a choice may be made between different numbers of points, GPSMan may be asked to display the simplified line and also the original track on the map on the fly. When the user clicks the `Ok` button, the map will be restored, the simplified line is used in forming a new item (in the case of a route, with new waypoints having names of the form `ZT` n, with n a 4-digit integer), and an edit window will be opened for editing the new item. If the edit window for the item type was already in use, then the item is created under an automatically generated name. For a route GPSMan will create a new group with all the new waypoints for easier access.

An animation of the movement corresponding to a track can be viewed in the map window (`Animation` button in the track edit/show window). A control window will appear that allows for (re-)starting, pausing, or aborting the animation, for skipping to the next track point, for setting the speed (the scale changes are exponential), and for choosing whether the last point shown will be centred on the map window. The default speed is that in the track: the delay between the presentation of two consecutive points is the difference between their time stamps. If a time stamp is not defined the default delay is 30 seconds. The state of the animation, the total (real) time since the beginning (if defined), the time stamp (if defined) and total distance along the track are displayed.

A track can be created from a route or a polyline from the route window or the polyline window.

|  |  | Tracks