I'm trying to take a bunch of gps tracks of mountain bike rides and turn this in to a trail map. I want a single track for each trail.

I'm looking for an editor that will allow me to select a segment of a track by clicking the start of the segment, clicking the end of the segment and the editor will select the segment between these points. I'm not a big fan of dragging a box or polygon around my segments since they tend to wind around and sometimes overlap.

Ideally, the editor would be able to display multiple tracks at a same time. I've already got qgis and arcgis available, so if I can select in the method I prefer using that software, I'm fine with that.

Currently, I've just been using the website ridewithgps to cut these segments out, but that requires a lot of saving as separate routes and exporting chunks. However, all I have to do to select the segment I want is click on the elevation profile at the start point, and then at the end point and copy that segment to a new route which I then export as a gpx file.

Is there any desktop software for mac or pc that will allow me to cut out segments in this fashion or a way to do this in qgis or arcgis?

Here's an example of how I select a segment in ridewithgps. RideWithGPS-Example

I hover over the trail or the elevation profile and click the start point, then I click the end point on either the trail or the elevation profile and that segment (not including any overlapping portions) is selected. I can tweak the extents by sliding the selection on the elevation profile and then I can then copy that to a separate track. Most of the time it takes me 4 clicks or less to break out one track. I'm looking for similar behavior or another process that works quickly in a desktop app.

Ultimately, I'm going to upload the segments I copy as individual trails on mtbproject and use for making printed maps with labels for each segment.

  • Benzo, please share a piece of your raw input data in your post? for example 5 first rows of your gps tracks. – Farid Cheraghi Aug 20 '15 at 16:38
  • You can export the whole track file from my example at ridewithgps.com/trips/5996960, click export, gpx track. – Benzo Aug 20 '15 at 16:43
  • Do you have times, or feature ID's for the start stop points? If you need to visually select those, automation isn't easy. – user10353 Aug 20 '15 at 16:48
  • I have times, I'm starting with a GPX file exported from my garmin. I look at the map and do my best approximation of the start and end points. Once the track is separated in to individual trails manually, then I'll put them in topofusion and see if there is any overlap and do some manual vertex editing to cleanup areas around where trails intersect so that they make a coherent line. Then I will upload each trail individually to mtbproject and style individual trails by type and difficulty. – Benzo Aug 20 '15 at 16:58
  • If you have the start and stop times for the segments, you can do this without any manual editing. You won't have any overlap either (if your times don't overlap). All you need is a CSV file with a trail identifier (name or number), the start time, and the end time. I can whip up an example if that is the case (using OGR tools). – user10353 Aug 20 '15 at 17:09

Here is a simple procedure with ArcGIS Desktop:

  1. use "GPX To Features" tool to convert your gpx to a point feature class in a file geodatabase
  2. Once your new point feature class is added to the map, then use the select tool to select your start and end points (you can use the SHIFT button with the select to to add to the selection
  3. open the attribute table and click "Show Selected Records":

enter image description here

  1. Open "Select By Attribute" dialog and use this query. The DateTimes come from two selected points
DateTime >= date '8/1/2015 7:23:22 PM'
 DateTime <= date '8/1/2015 7:24:08 PM'
  1. Now you have all the points between the two points, selected. Then you can export these points (subset of all points) to another point feature class or kml file. if you need to export this subset to another gpx file use this tool from here Features to GPX . this tool is not builtin to ArcGIS Desktop.

I recommend you to use QGIS as it is Open Source.

  1. Open the GPS track, I guess you its save as a GXP file, by Add Vector Layer or Ctrl+Shift+V.

    open vector layer

  2. Select which vector layer you want add. Chose tracks and hit okay

    select layer

  3. Right click on the new Layer and Save as.... Chose ESRI Shapefile.

    save as

    save as shape file

  4. The new loaded Shape-File you can now select and edit it by hitting the Toggle Editing symbol or Layer -> Toggle Editing.

    toggle editing

  5. Use the Node Tool to move or edit single segments of your track.

    node tool

  6. Additional you can simplify the polygone layer Vector -> Geometry Tools -> Simplify geometries

    Simplify geometries

You can find more information about how to edit a Shape File in QGIS, here.

  • I've already brought these files in to shapefile layers in qgis, but I find the selection method a barrier to get anything done. What takes me no time at all on ridewithgps.com takes way more time in qgis. In ride with gps I click the first point, and then the last point and it selects the lines in between as ordered in the gpx file. – Benzo Aug 20 '15 at 15:12
  • I don't want to edit the tracks so much as I want to find an easy way to select and copy long, irregularly shaped sections of tracks with hundreds of vertices. These tracks are often overlapping, crossing, or adjacent to sections I don't want to select, so vertex, box, or poly select tools are difficult to use. – Benzo Aug 20 '15 at 15:12
  • I will ultimately want to bring the resulting segments in to a layer in qgis, but I am searching for a good solution to clean up the data prior to bringing it in (or a better way to use qgis to do this faster than using the node tool or select boxes/polygons). – Benzo Aug 20 '15 at 15:14
  • try the Simplify geometries, I updated the post. Pls provide an example so I can understand what you want to do... – wittich Aug 20 '15 at 15:31
  • 2
    Hey @Benzo, what you're asking for is not going to be out of the box, I don't think. You could write a plugin to do it. But that online tool actually sounds like a fairly reasonable way to do it. In a desktop GIS, you will need to edit the line feature and manually remove any vertices that you don't want. – Alex Leith Aug 24 '15 at 6:51

GPSUtility is still the best tool that I've found for editing and working with GPS data: breaking and joining track segments, exporting/importing formats, filtering by location and time. The interface is a bit frustrating but the features are varied and do everything you request. It's not free but the trial lets you work with everything except very large tracklogs (and limits the number of routes). For your case here, you can get close to the method you use with ridewithgps:

  1. Open a GPS data file;
  2. Map the track;
  3. Click on the start and end points and break the track segments to create individual sections;
  4. Save those sections as single tracks.

It can open every format of GPS file I've ever come across (in fact, it's worth using the options to reduce the number of available file types to just the ones you need). On opening you get a view of either the waypoints, routes, trackpoints, track segment summary; here is a GPX file showing the start of the trackpoint list:

enter image description here

The buttons on the toolbar let you select another view of the file, in this case the track summary:

enter image description here

The map button gives you a separate window with a map of the data:

enter image description here

Hovering the mouse over a section gives you trackpoint information:

enter image description here

Double-clicking gives you a choice of trackpoints close to that location:

After selecting, you can choose to break the track at that point:

Which gives you a new track segment in the summary list. You can right-click and 'save as' that segment as a separate file:

enter image description here

Fantastic app - it's the only reason I still keep a Windows virtual machine available on my Mac (though I got it running in Wine recently).

The downside is basemaps - you can load a georeferenced base image but there is no automatic link to Bing or Google imagery that I've found.


Adze application for MacOS is the best tool I've found for copying out track segments from a GPX file. You have a range select tool built in which you click and drag along the track and it selects all points between visually.

It's easy to hold shift and select additional points and then easily copy as a separate track.

You can also use the delete and merge tool to remove points and reconnect the gap left from missing points on the track.

By far the fastest way I've found to quickly cut up a track in to separate pieces. Point editing leaves something to be desired in comparison to other apps, however there are many other options for editing point data.

Source: http://kobotsw.com/


Import your GPX into ArcMap using the GPX to Features tool (found in Conversion Tools toolbox).

Convert the resulting point dataset into a line dataset using the Points to Line tool (Data Management Tools > Features toolbox). Set the sort field to the DateTime field for this process.

Commence editing the resulting line feature, and using the Split Tool from the Editing Toolbar, split the line feature at the required points. You could add a field to the dataset and name each new line with the trail name as you go.

Once you've split the line feature up into the individual trails, select one trail in the dataset (start with the first record), and use the Select by Location tool to select all the points from the point dataset which intersect the line feature you've selected. Export the selected points to a new dataset, which can then be exported to a new GPX file using the Features to GPXtool found here for uploading to your Trail Logging website. Repeat this process (or automate it with a python script!), selecting each line feature in turn.

Not the answer you're looking for? Browse other questions tagged or ask your own question.