# FoxtrotGPS 1.2.0

## Table of Contents

- FoxtrotGPS
- 1 Overview
  - 1.1 Connect a GPS
  - 1.2 Keyboard Shortcuts
  - 1.3 Geotagging Photos
  - 1.4 POI Icons
  - 1.5 Command-line options
- 2 HowTo
  - 2.1 Pre Load or Refresh the Cached Maps
  - 2.2 Log Tracks for OpenStreetMap
  - 2.3 Routing
    - 2.3.1 Route Finding
    - 2.3.2 Route Planning
- Appendix A Bugs
- Appendix B More Info

## FoxtrotGPS

This manual is for FoxtrotGPS (version 1.2.0, 24 October 2014).

This document is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

## 1 Overview

FoxtrotGPS is a GTK+ based mapping and GPS application. It's typically used to show a moving map showing your position in real time. It's useful as a navigation tool, and as a track logging (e.g. for OpenStreetMap) and trip planning tool.

By default, FoxtrotGPS uses maps from OpenStreetMap, but may use a range of other maps, some in experimental mode.

Clicking anywhere on the map pops up a menu of common operations, allowing such things as:

- identifying the exact coordinates of that spot
- distances to another spot
- setting way points
- downloading map data in bulk

Click and drag the map to pan. As you do so, FoxtrotGPS will download the necessary map data and display it. That map data is cached (usually in `~/Maps`) and reused when required.

There are also a number of keyboard shortcuts defined (see Keyboard Shortcuts).

FoxtrotGPS also has some features that require other software to be installed (see Geotagging Photos) and other features that can be enhanced by other software (see POI Icons).

### 1.1 Connect a GPS

Many devices already have a GPS built in but if yours does not or you want to have it in a better position to `see the sky' then an external GPS is required. FoxtrotGPS uses gpsd to handle the varity of GPS hardware available, it's well documented and readily available wherever FoxtrotGPS is likely to be used. Actual GPS hardware options include:

Handheld GPS
  Typically used in bush walking, hiking etc. Connected via a serial or USB cable, many newer laptops don't have serial ports anymore so a USB-to-serial adapter may be needed. If you already have a hand-held, this is a reasonable solution; you will need it on the car's dash, and might need to stop it sliding around. Reception might not be great especially in difficult conditions but you will probably be OK most of the time.
GPS Mice
  All mice have a pretty good sense of direction but some carefully bred mice can be trained to convert that knowledge into the NMEA sentences that GPSD expects.

  A GPS Mouse might be a better solution in many cases. Reasonably cheap, powered from the laptop they have the advantage of being suitable to sit on the roof of your car making for better reception.

### 1.2 Keyboard Shortcuts

There are a number of keyboard shortcuts for common operations:

<Left>, <Right>, <Up>, <Down>
  pan West, East, North, or South respectively
`I`, `O`
  zoom in, out
`A`
  toggle autocenter (follows GPS fix)
`1`-`8`
  select which map to use
`M`
  show/hide the info/control panel
`Ctrl+T`
  load track
`R`
  get route
`Ctrl+P`
  geocode photos (see Geotagging Photos)
<F11>
  toggle fullscreen

### 1.3 Geotagging Photos

FoxtrotGPS can be used to geotag photographs that were taken while logging a GPS track, and can show icons on the map indicating where the photographs were taken; this is done by correlating timestamps in JPEG EXIF data with timestamps in the GPS track, and the following additional packages must also be installed for use at run-time in order to make use of this feature:

- gpscorrelate
- jhead

### 1.4 POI Icons

FoxtrotGPS can load distinct icons for different POIs from the directory `~/.foxtrotgps/poi-icons/`; and, if you have the ``mkvisualid`' command from libvisualid installed, FoxtrotGPS can even generate distinctive icons automatically. For more on libvisualid, see its website.

### 1.5 Command-line options

`--fullscreen`
  Start in fullscreen mode
`--version`
  Print the program version and exit

## 2 HowTo

### 2.1 Pre Load or Refresh the Cached Maps

FoxtrotGPS is quite smart when downloading maps. As you browse to an area or change zoom level if the appropriate map tiles are in the cache, they will be used. If not, FoxtrotGPS will attempt to download them, if it fails (because, for example, you are off line), it does so silently and tries to scale what ever tiles it does have. This sometimes means you'll have blurry maps.

The solution is to download what you need before you go off line, just browsing is one way but that gets you only the current zoom level. Right clicking and selecting “Map Download” is often more useful.

It's important to note that the download applies to the zoom level immediately below the one you are currently on, so go up a level before starting. It's sometimes useful to bring the window borders in a little to restrict the total download (and save some time and bandwidth), you don't have to download in full screen mode! Watch the little progress message to the bottom left: when it drops back to just speed and similar information, the download is done.

### 2.2 Log Tracks for OpenStreetMap

For most people, the most useful maps in FoxtrotGPS are from Open Street Map (OSM). This is an open project to map the whole world and most of its content is contributed by people recording information and then contributing it to OSM. If you are using FoxtrotGPS in any sort of mobile mode, you are probably ready to do your bit for this worthwhile project. Please consider!

OSM needs all sorts of data added, we will look here at perhaps the mainstream activity, recording a road and adding it to OSM's database. This process has a couple of clear steps:

1. Record the track.
2. Download the area from OSM
3. Label the recorded track and add it to the downloaded area.
4. Upload the `changeset' to OSM.

The first step, recording, is where FoxtrotGPS comes in. Releases of FoxtrotGPS after 1.1.1 have a useful icon on the main screen (left side) to start track logging; with older versions it's necessary to click the top left “Show Info” icon to display the Control Panel, and possibly scroll it left or right until you see the “Enable Track Logging” tick box. In either case, start recording at the start of the road, stop at the end. Remember your GPS will be several metres out so accuracy greater than that is not essential.

FoxtrotGPS saves its logs in GPX format (with an extension introduced by Garmin for some auxiliary data). These logs can be converted to OSM and other formats using the widely-available gpsbabel utility.1

After converting logs to OSM format, they will be importable into tools like JOSM. But before you convert, make things a bit easier for yourself and rename the road. Perhaps keep the date and use the road name and condition, e.g.: `20121107_Jones_Street_track_gr3.gpx`.

The remaining stages are probably best documented on the OSM website, but do remember to mark your roads as “source=survey”, the best source of OSM data.

### 2.3 Routing

FoxtrotGPS allows you to plan a route in a few different ways. First, there is route finding, which finds a route from point A to point B. This is done by using an online web service, which knows how to get from A to B. Second, there is route planning, which allows you to plan a route through a number of points. This route is then transferred to a separate navigation system (e.g. in a car) to guide you through the points.

#### 2.3.1 Route Finding

Route finding extends FoxtrotGPS to be a simple navigation system. It takes two points and computes a route between the points. Here you see an example of such a route:

To use that feature, you have to click anywhere on the map and select the menu entry “route finding → get route”. It will open a small dialog allowing you to select both points:

Click on the “Pick” button right beside the text entries to select a point on the map. Alternatively you can enter the GPS coordinates into the text entries.

After clicking on “OK” you will see the resulting route on the map.

> Note: You need an internet connection to access the web service, which computes the route.

Currently there is no turn by turn navigation telling you to go left or right, if you are approaching a crossing. You have to use a GPS device to show your location on the map and look at your current position to know where to go next.

#### 2.3.2 Route Planning

Route planning is different to route finding because you will use FoxtrotGPS to plan a route and transfer that route to another system for navigation. This could be a navigation system installed in a car or on a motor bike. You do not need an internet connection for this kind of planning.

> Note: If you download the appropriate tiles before your journey, then you are able to plan or change your route on the trip without any internet connection.

You use FoxtrotGPS to set a number of routepoints on the map. Together they form the route to travel, but without the exact route to follow. If you like to make a trip from point “A” over “B” and “C” to “D”, then set these 4 routepoints. Here is an example:

Afterwards transfer these routepoints to your navigation system and ask it to compute a route through all these routepoints. Then you get turn by turn navigation from the navigation system, but you use FoxtrotGPS for easy and comfortable planning.

Routepoints can be saved in GPX or TomTom file format2 for use by a navigation system. Here is the above example as TomTom (ITN) file format:

         915240|4872867|WP1|0
         915438|4872786|WP2|0
         914980|4872469|WP3|0
         915309|4872313|WP4|0
         915693|4872355|WP5|0

To plan a route click on the map for the first routepoint and select “route-planning → add routepoint”. Then click on the next routepoint and select “route-planning → add routepoint” again. Repeat this for as many routepoints as you like.

At any time you can drag an existing routepoint to another location by clicking on it and holding the button down. Move it to another place and release the mouse button.

Clicking on an existing routepoint offers a menu to delete that routepoint or insert another routepoint before it.

The route can be saved by clicking anywhere on the map and selecting “route-planning → save route”.

> Note:
> - Do not set your routepoints on crossings. Instead, set them on the road between crossings. Why? If the GPS position of the crossing is not very accurate, then your routepoint is beside the real crossing. This will force your navigation system to make a turn to reach your routepoint and then ask you to turn around.
> - Humans normally choose cities as routepoints. E.g. travelling from Rome to Berlin normally goes over Munich. If you set a routepoint to the middle of Munich, then you force your route to go through the center of Munich, which is normally crowded and best avoided. A better strategy is to set the routepoints between the cities on a straight road without any crossings where you definitively must come through. This is also good for small villages, otherwise you will sometimes be directed to your routepoint, which is often not the best way to go through that village.
> - Setting many routepoints forces the navigation system to stick closely to your route. However, if there is an `uninteresting' part on the route, then let the navigation system decide on its own by not setting any routepoints.

## Appendix A Bugs

- FoxtrotGPS includes a URL for Google Satellite imagery in its default list of map repositories for demonstration and testing purposes; Google periodically change their URL schemes, which reduces these to non-functional demos of repository pattern syntax. In some cases, repository URLs that break in this way cannot be fixed automatically when FoxtrotGPS is upgraded, and must be fixed manually by the user.

## Appendix B More Info

### Related Tools

- convert2gpx(1)
- convert2osm(1)

### Homepage

More information about FoxtrotGPS can be found online at its website.

### Author

FoxtrotGPS is a community developed fork from tangoGPS lead by Joshua Judson Rosen. tangoGPS was written by Marcus Bauer.

#### Footnotes

[1] Prior to version 1.1.0, FoxtrotGPS used its own log format; in case you have any logs in this format, there are scripts included with FoxtrotGPS that can convert those logs to GPX format, or to OSM format directly.

[2] The gpsbabel program can be used to convert to many more different file formats.