Adding an activity type to uploaded GPS traces

I would like to suggest adding an activity type field to the GPS traces uploaded to OpenStreetMap. This would allow to differentiate data collected by foot, bike, car, etc. There are many cases where this additional information could come useful but I personally think about two main applications:

  1. Building an overlay with the public GPS traces for each activity type.
  2. Computing popularity measures that could be integrated into open-source routing engines.

I think those two ideas could improve both the mapping and route planning experience. The latter being, I think, a good incentive for the general public to contribute with their GPS data.

I would gladly help implement this proposal, and also create plugins for popular tracking devices or applications to facilitate and automate the upload of their GPS data.

1 Like

I would like to suggest adding an activity type field to the GPS traces uploaded to OpenStreetMap. This would allow to differentiate data collected by foot, bike, car, etc.

it can be seen from the track

it can be seen from the track

I know there are some XML tags to include that kind of information in GPX files but it is usually not included. Most of the time, only the creator value is given and unfortunately it does not allow to infer the type of activity.

Can you expand on that. How can “it” be seen from the “track”

my guess would be the distance between recorded gps points. Unless of course, somebody is using a fancy 10Hz gps receiver (is time fraction of seconds recorded in nmea anyways?).

How do you differentiate a fast runner from a slow cyclist then? And a road cyclist from a mountain biker? Etc.

I think it would be much nicer to classify the GPS traces beforehand.

Filtering the traces by activity type or transport type, that looks valuable to me, and not that hard to program.
Popularity measures, which measures? And how would the information reach the routing engine? I have a hard time imagining value and methods here.

If there is sufficient data for a given activity type, it would be possible to compute a measure of popularity for each road segment. For instance, the number of GPS traces going through a given road segment normalized by the total number of GPS traces in the area.
These measures could then be combined with the OSM data and used as a secondary optimization criterion by routing engines.

I’m not sure if that really fits with how people use GPS traces in OSM. I don’t think people are using it as a general record of their activity but rather for specific mapping purposes. For example, I would never even think of uploading GPS of my urban and suburban walks, because streets where I live are all mapped accurately already, there are no issues around map alignment, and any missing bits can usually be filled in more accurately from aerial imagery than GPS. If many other mappers are like me, any measure of “popularity” would not have any meaning.

When uploading traces to OSM people can already use free tags. I tend to use those to search by village/town, county and activity.

I’d suggest just doing it yourself, and creating a proof of concept that other people can then look at.


The data is: gps-trails and some metadata, not related to ways, other than by geospatial association. Question: How will you get enough people to record activity type for their uploads? It’s not like Strava heatmaps, where the activity is main information. OSM-people track for mapping, not medals.

Suppose there is enough input with activity tag. Who or what will compute the popularity and associate it with road segments? How and where will the data be stored?

Who or what will combine the measurements with what OSM data? If roiuters are supposed to do that on the fly, how would they know the data, where would they finf it, and how would they know there is “popularity” data?

Suppose a way is very popular, how would that influence the route? Higher weight for such a road, lower weight? I wouldn’t know.

Suppose a road closes, but this has not yet been mapped. Then the popularity should presumably get lower, how will this be achieved? How will this signal reach the mappers?

I was always using “Tags” field when uploading a GPX track for that purpose.


Just checked: when uploading from OsmAnd you can attach multiple tags or labels as a comma delimited string. On the as well. Then you can select a tag or label to filter the public or your own gps-traces. So in principle you can display the heatmap for a particular activity. I can’t find an existing OSM-way to convert heatmap data into a sensible attribute of a way segment in OSM, for use in a router.