Garmin’s basecamp software isn’t as nice as some of the online course creation software (bikeroutetoaster, bikehike, etc). And if you use one of those and export a GPX file or download one from bikley or mapmyride then it usually won’t go straight onto your Edge and give you a proper routing route.
Having managed to get a proper working route onto my Edge using Basecamp and Waypoints I wanted to crack doing this. Especially as Basecamp on a Mac is even more annoying and frustrating than on a windows box.
From what I can see there’ll never be a perfect straight conversion from GPX to a route as there’s too much inconcistency between what’s being produced. A GPX trail (either from a ride or downloaded) can have any of the following faults which will guarentee crap route conversion, here’s a couple with pictures of what they look like:
This quite a common on. The track went over a bridge crossing a main dual carrigeway. The GPX trackpoints weren’t perfectly aligned with the map and were on the A1 rather than the bridge crossing it. So the routing algorithim had to come up with the route above (the brown bit) to pass through all the points. Removing the trackpoints over the bridge and recalculating the route fixed this one.
Roundabouts appear to be another common problem with the tracks I’ve played with. In this example the points on the ‘ring’ are slightly off and are actually on the feeder roads, so to pass through them the router has to take you along each off road until it can find somewhere to turn around, bring you back to the roundabout, do another loop and repeat. Again, this is easily fixed by removing all the trackpoints on the roundabout and relying on the software to route you round the roundabout.
This one is particularly annoying. This is caused by the map not having the required roads on it. In this case this is Open StreetMap, so I could fix this problem by switching to the Garmin City maps which did have the required roads. (And since this is part of the ‘Everyone rides to skeggy 300 which I’m riding on Saturday these roads should exist in OSM in the next 10 days :) ). This isn’t alway a guarenteed fix though, on one ride mapped on a Google based site the roads were fine, but didn’t exist on either the Garmin or OSM maps, luckily the route was pretty much ‘follow road’, so I just put up with an ugly looking route, lots of beeping about being off route and setting a waypoint with a note as I was about to head ‘off road’
So far I’ve come up with the following workflow for doing the conversions:
- Import the GPX track
- If it’s really long split it into sections and work on them individually (For an audax splitting at controls makes sense)
- Have a quick scan for obvious problems (like example 1) and try to remove those first (makes the recalculation faster for later steps)
- Remove as many unneeded trackpoints as I can. If a route is going straight along a main road there’s no need for all the intermediate points. And there’s no real need for them across roundabouts as long as there’s one before and one after. Quickest way to do this is to use shift and the cursor arrows to highlight them in the “Course Info” box and then use Remove.
- Then actually follow the directions on the map. This will let you pick up the minor errors I’ve had like:
- Routing me down trails when I want a road based route (more common on OSM based routes)
- When a trackpoint is just off and up a side road so the route goes “turn right, head north 10m, head south 10m, turn right”
So it can be quite a bit of work to do. Though being ruthless about cutting trackpoints at step 3 can really make life easier.