Desktop application for browsing and visualizing GPS files on your hard drive or network.
GPSFileViewer (GFV) is distributed as a zip file. Simply unzip the file to the directory of your choice.
Mac at this time requires running the python source files, which requires python 2.x (x >=7) and the following packages to be installed:
Windows: From the installation directory, run app/gpsfileviewer.exe
.
Mac: From the installation directory, go to the script directory and click gpsfileviewer.command
Launching GFV brings up a set of sample gps files that comes with the application (located in the sample_gps
subdirectory). The left side is a map that shows tracks and the right side is a track browser. Initially, you'll see only file-based metadata in the track browser.
note: GFV shows tracks by file directory. Selecting another directory shows any GPS files in that directory. csv, kml, and gpx formats are currently supported.
Click the "Load files" button at the top of the application window to read the files in and generate more detailed metadata. Loading files also shows a map overview of the tracks. Once loaded, you should see something like the image below.
note: The "Load Files" button caches the GPS data on your hard drive (the app/gps_cache
subdirectory), so you only have to click it once for each directory.
gpsfileviewer.cfg
in gpsfileviewer's app directory. Additional documentation on config settings is provided within that file.After loading the files, you see GPS-specific metadata fields and an overview of all tracks on the map. The 'name' field is the either the track name or if there's none, the file name. For files that contain more than one track, the track number is appended to the file name.
The tracks are shown on the map as brown lines (config file: map.overview.solid_line_color
). The tracks are semi-transparent so you can see when mulitple track overlap.
Zoom and pan the map using any of the following:
You can select between meters/kilometers and feet/miles by selecting from in the configuration row. Make sure the configuration row is vzvisible by clicking the
button at the top of the window.
There are several tools you can use to select which tracks are shown on the overview map and the track list. The filter row is on the right side of the window:
Click one or more of these toggle buttons to open up and use that type of filter. The following filters are available:
A filter is only active when its toggle button is clicked and its data entry row is shown. You can apply multiple filters at the same time by opening them up.
The filters are modifiable and expandable. See config file: filelist.filter_functions
.
In addition to the above buttons, you can filter tracks geographically using either of the following two approaches:
To reset geographic filtering, click the overview reset button () on the right side of the filter row. Toggling one of the other filter buttons also resets geographic filtering.
The Pallete button () allows you to color code tracks based on summary metadata. Colors are applied to both the track list row backgrounds and track color on the map. The palette button is to the right of the row of filter buttons.
You can select metadata (distance, duration, day of week, etc.) and what color scheme is used to color the tracks. The legend (to the right of the parameter/color selectors) shows the resulting color coding.
The above example shows tracks color coded by distance and sorted by distance in the track browser.
Show an individual track by clicking on a row in the track list. The selected track is shown via a color-coded track on the map and a graph of the attribute selected in the 'Param:' dropdown directly beneath the map.
Select multiple rows in the track list, either by shift- or control-selecting with your mouse. Alternatively, you can select additional tracks via keyboard using shift- or control- with the up or down arrow. Additional tracks are shown, shifted in the map from the first track (to minimize overlaps). The amount of shift can be changed (config file: map.multitrack_offset_pixels
)
The graph and track above are color coded according to speed . The color style Grn-Ylw-Red
shows the slowest speeds as red, speeds near the midrange in yellow, and highest speeds in green. Other 3-color styles (e.g., Blue-White-Red) behave similarly.
Within the graph, zoom and pan using the tools at the bottom of the window: . Additional help is provided in tooltips.
As you pan and zoom in the map, the graph horizontal limits automatically adjust to show the part of the track visible in the map. You can disable this by deselcting the Sync Map and Graph Bounds option (see below).
Get the time and distance of a map point by moving the mouse within the graph area. The point on the map is shown as a dot and the time associated with that location and the graphed value(s) are shown in the status bar.
The time shown in the status bar will be elapsed time (from track start) if the "elapsed" checkbox is checked; otherwise it will show the local time.
To show distance and time for a portion of the selected track, click the mouse within the graph and drag left or right. Doing this highlights that segment on the track and shows its duration and distance in the status bar.
For the example above, click a track in the track list, then move the mouse in the graph area to where you want to start measuring (a dot will appear on the track corresponding to the time on the graph). As you drag the mouse, the dot turns into a line and summary time/distance of the segment is shown in the status bar.
GFV does the following things to the GPS files as it reads and caches them:
*
reduce the number of points for performance reasons (config file: map.overview.simplify_dist
for the overview and gps.max_simplify_distance_m
, gps.smooth
, and gps.reduce_points_distance_m
for individual track display)*
uses Ramer-Douglas-Peucker algorithmgps.min_gap_to_autosplit_tracks_sec
). To see individual segments in the track browser, select gps.min_track_segment_points
).<no_time>
If you've organized your GPS files into related subdirectories (e.g., each year in its own subdirectory), GFV allows you to quickly switch between them. Clicking the subfolder button () shows a dropdown list containing the folder's subdirectories. Change subdirectories by selecting one of them in the dropdown.
A special directory called <All>
is available in the subdirectory list. Choosing this causes all gps files in all subdirectories to be loaded into the track browser. Note: this may take additional time to load the files, and additional time to create the track overview. You can speed up the overview by disabling the map overview. Do this by toggling the overview () button.
The path filter is in the filter row () on the right side of the window. Turn on path filtering by clicking the "Path" toggle button. Selecting a path filter causes only tracks that traverse the corresponding points to show in the track browser.
You can create and edit path filters by clicking on the edit button in the path filter selector row (). When you do that, the path filter editor is shown:
While a path filter is selected, the filter's numbered points are shown on the map. Each path filter point has as associated radius. This allows path testing to tolerate inexact matches, or allow considerations of areas (e.g. path passes near an intersection or around a city).
On the map, this radius is shown as a shaded red disc around the filter point. Depending on the radius, the ring and shaded area may be too small to see on a zoomed-out map. Zoom in to see it.
If you check "Trim to path limits", only the portion of a track between the path filter points is shown in the results. If unchecked, then entire track is shown.
Export data to your system's clipboard by clicking on the icon at the top of the application window. You can then paste the data into your favorite application.
You can export the following:
You can color points within a track. The controls for doing this are between the graph and map areas.
Select a parameter, e.g., distance, speed, elevation) and a color scheme. In addition to these basic parameters, the following parameters are available:
In addition to several gradient color schemes (such as Copper above), the following schemes may helpful in certain situations:
solid
entry within cmap.custom_cmaps
.0-30
, and then select the "3 bands, RGB" scheme, Red denotes speeds of 0-10, Green 10-20, and Blue 20-30. Within each band, darker shades are slower, lighter shades are faster. You get similar results choosing the 4- or 5- band scheme with a Y range divisible by 4 or 5 respectively.In addition to the above color coding, the following options are available in the configuration area between the map and graph:
Click the button on the left of the graph-map config area to show secondary display options.
GFV currently does a very simple (inaccurate near boundaries) timezone calculation for locations within the U.S., Western Europe, and Japan.
If you find that GFV is not providing accurate timezones for your locale, you can easily customize the calculation (see config file: tz_offsets
).
On the right side of the filter row in the track browser are a series of track overview buttons. Each one is described below, left to right.
To show the current lat-lon coordinates of the mouse while in the map as well as the coordinates of the center of the map, click the coordinates toggle button () at the top of the application window. When toggled on, it looks like this:
You can change the map location by typing or pasting a lat-lon pair (decimal only) into the Center: textbox.
Thanks to the following for providing the libraries and other support: