Imagine you are hiking or walking and you are using a GPS to record your track. Modern devices such as Garmin's watches allow you to "Save Locations" along the way, which can be a handy way to mark some kind of place, be it a trail junction or a fun street sculpture you're like to remember. Turns out that getting this data off the device in a usable and shareable way is much harder than it should be. I am sure (or at least I hope) there are better ways than the one explained here, and if there are, please share as a comment. Thanks!
Here's one (oversimplified) example: I have walked a brief loop in our apartment complex, and have marked two locations, the entry gate and the clubhouse. It is rather simple to imagine how this kind of map can be helpful when you're hiking or running and have a little marker saying "Trail junction" so that you know to stop and look for signs.
(Full disclosure: Getting the map to display like this takes a little extra effort because you need to upload a track with waypoints. I will describe this process in a follow-up post, for now just assume you are creating those waypoints and want to export and share them with others.)
To explain the issue and the solution, here's a brief walk through of what you think might or should work (but doesn't), and what it takes to eventually make it work.
- You try to export the track as GPX (the most widely supported format) and that works (from example from Garmin Connect), but as it turns out, the waypoints are not included in the GPX (even though GPX does have explicit support for waypoints).
- Next you try to export TCX, which is Garmin's homegrown format and you're thinking that maybe they'd be more careful to export all relevant data to this format. Sadly, it's the same as for GPX, the waypoints are not included.
- You're hoping that Garmin's new FIT format will fare a little better. Sadly, Garmin Connect does not even have a "Export FIT" option. And even if it had, it would be very hard to work with it since FIT is essentially closed and undocumented.
At this point you consider yourself stuck, assuming that there is no way to get your data off the device. This is where I turned a bit desperate and resorted to install some proprietary software, Garmin BaseCamp. I was never a fan of the closed ecosystems created by all major manufacturers of outdoor equipment, but this seemed like the only possible way to get to my data.
Once you have BaseCamp installed and your device connected, you see a list of the devices data in the lower left window. As you can see, the waypoints and the tracks are dissociated, which explains a bit why the waypoints do not show up in your exported activity data.
The next step is to select the waypoints and the track (most likely just one track) that you want to export. The window lets you control filtering/sorting a bit, which should make it a little easier to find all the items you need to select. Once you have selected all of them, you can choose "Show on Map" from the context menu and should get a good idea if you have indeed selected everything you wanted to select.
At this point, we have everything together that we want: A track of GPS track points, and a set of waypoints that we created along the way, pointing out notable locations along the way. Now we need to package these things up and get them out of Garmin's tool.
For this, from the "File" menu select "Export Selected User Data...", which should bring up a dialog showing export options. A number of formats are supported, but we stick to the default, "GPX 1.1". Select a place to save the file, and you are done liberating your data!
If you want to fine-tune the waypoints (such as adding names that will show later on as shown in the above map display on my watch), then you can edit the GPX. If you are not familiar with XML, that might sound a little intimidating, but as long as you are careful, it's not so hard to do.
As an example, I here is the complete example GPX file with waypoints shown on the watch display above. It is not huge, but too big to show here, and I have cleaned it up from a lot of unnecessary things that BaseCamps adds. Let's just focus on the things you need to edit. Waypoints show up like this:
<wpt lat="32.299496736377478" lon="-110.824520587921143">
<ele>809.800048828125</ele>
<time>2016-01-03T23:09:41Z</time>
<name>Gate</name>
<desc>This is the main gate of the Ventana Vista Apartments complex.</desc>
</wpt>
This should be pretty self-explanatory, with a waypoint being defined by latitude and longitude, and then having additional information such as elevation, a timestamp, a name, and a description. While cleaning up the data I have removed a few extra items, but the ones shown here are the ones that matter.
When you export, your waypoints will get some generated names (an easy way to check which names is to import the GPX into Google Earth, which will display the track and all waypoints). By carefully inserting your names between the <name>
and </name>
XML tags, you can change the name of the waypoint.
BaseCamp does not create waypoint descriptions, but those can be useful to give additional information in applications such a Google Earth, where people clicking on waypoints can learn more about the waypoint. The picture from Google Earth shows how the description will be made available when clicking on a waypoint. Don't count on this being available to users on smaller devices such as watches, though, so definitely try to use meaningful and short names.
If you want to add descriptions, then insert a new line into the GPX file right after the line with the name, and add the waypoint description delimited by <desc> and </desc> XML tags. Make sure to get these tags right, or your GPX will become corrupted. A good way to check is to load the GPX into Google Earth when you're done, and see whether all your waypoints still show up, and have the descriptions associated with them.
So now you're done not just creating a self-contained and shareable GPX file with a track and waypoints, but you also have added useful information for those later using this file on their computer or devices. Congrats for freeing you data, and let's hope that Garmin at some point will make it easier to use your own data than it is now.
Thanks for the great guide to the insane world that is Garmin's unforced error of bad software. One small snag with your description here: the Garmin 910xt connects via the horrific ANT+ system rather than USB, and thus cannot be discovered by Basecamp. That leaves you stuck shuffling .fit files around -- and, so far, I've found no way to successfully transfer waypoints from the 910xt to any software, including the suite of humiliating embarrassments released by Garmin themselves (Basecamp, My Garmin, Garmin Connect, Garmin Express).
Posted by: lblackmore | Thursday, August 18, 2016 at 18:39
hello @lblackmore. all agreed on garmin's general inability to create good software. which makes it even more confusing why they are not more open in their approach: after all, they must realize how much they lag behind in software and services.
but garmin always has been very closed, so as long as there are at least little holes, it's better than nothing.
it's great that the fenix 3 reads GPX, that's some sort of standard. those units that have been locked down further, such as the 910xt and the 920xt, are a bigger problem. afaict, the closed FIT format has no support for waypoints, so there simply is no way how you can get them onto these units in a free and open way.
it's a shame that nobody at garmin seems to understand how much they could gain by being more open. but i've given up hope on that one, and i am simply glad when from time to time, there are little holes in garmin's iron curtain.
Posted by: dret | Thursday, August 18, 2016 at 20:30
@dret A few days ago Garmin and Strava announced a partnership to bring Strava live segments to Garmin Connect. So I think that Garmin fully realize that their software does not compete with Strava's . Let's hope that this is only the first step towards more openness!
Posted by: Sebastienmaret | Thursday, August 25, 2016 at 02:27
Is Suunto any better than Garmin when it comes to openness? I see that Movescount has an option to import GPX as a routes in their route planner:
http://www.suunto.com/fr-FR/sports/News-Articles-container-page/TUTORIAL-TUESDAY-HOW-TO-PLAN-A-ROUTE-WITH-MOVESCOUNT/
but I've never tried it.
I've bought a Garmin fenix 3 rather than Suunto Ambit because the fenix 3 is arguably a better watch (I wasn't aware of Garmin limitations at the time). But with the release of the Suunto Spartan, Garmin does not have the hardware advantage anymore. I think that they need to seriously revise their software strategy if they want stay competitive.
Posted by: Sebastienmaret | Thursday, August 25, 2016 at 02:39
@sebastienmaret, definitely let us know should you learn anything interesting about the spartan. from my experience with suunto, their software (the on-device part) is close to being unusable, but from what i've heard they have made quite a bit of progress. i haven't read any experience reports of the spartan yet, and i am curious. the hardware definitely looks as if for the first time they may have something that is on even footing with garmin, but there are many ways in which firmware or software might give that opportunity away. personally, i hope that they get it right, because it would be good to have some competition for garmin.
Posted by: dret | Saturday, October 01, 2016 at 12:44
I just purchased a Fenix 3 HR and I am dismayed that I cannot create waypoints in for the courses I am creating. It is very easy to do in Movescount and I am thinking I should have stuck with my Suunto Ambit 3. RIght now I would say that Suunto runs circles around the Garmin in terms of navigation.
Posted by: Loren Starr | Friday, November 18, 2016 at 12:58
I'd disagree that the Suunto is better for nav than the F3HR. The F3 can display waypoint text quite happily on the map. The trick is not to use gamin's software to create the GPX. Many other sites can annotate GPX waypoints and the titles will show up on the map screen. Some sites can also embed turn-by-turn directions into the GPX file, and they also work, giving advance notice of when to turn.
In the UK the OS mapping site will generate GPX with labels, as will GPSies.com. Bikeroutetoaster will add in the turn-by-turn information too.
The trick then is to copy the .gpx file onto the garmin directly rather than trying to use Conncet (this is also far easier and more reliable than Connect!) by dropping the file into the hidden
/GARMIN/NEWFILES/ folder.
Posted by: flanker | Saturday, June 17, 2017 at 06:35