OpenStreetMap logo OpenStreetMap

low-res Strava workflow for missing roads

Posted by mariotomo on 20 September 2021 in English. Last updated on 23 September 2021.

what is this about?

this entry describes a possible workflow for identifying missing road segments, thanks to the standard low-res Strava heat map. you may also use it to reclassify all those ‘highway=track’ that so many remote mappers keep creating for our ‘surface=unpaved’ unclassified and tertiary roads.

the mapping practice here described is totally manual, and quite obviously its speed will be inversely proportional to the precision you want to achieve.

preparation steps

  • install JOSM
  • in JOSM, activate the low resolution Strava heat layer
    • do that by editing the Imagery Preferences settings,
    • look for Strava among the available default entries,
    • select the cycling and running heat map,
    • activate it.
    • you will need to restart JOSM after activating the new imagery layer source.

typical editing session

prepare for mapping

  • add the OpenStreetMap (Carto) Standard layer,
  • roughly choose an area of interest,
  • add the Strava heatmap layer, but do change its transparency to 50%,
  • add your favourite Aerial photography layer (here I will be using Bing because I will show screenshots and the Bing license allows didactic and instructional use. in mapping I tend to prefer Maxar.)
  • order the layers so that:
    3: is Strava, on top of both:
    2: your favourite aerial photography layer,
    1: the Carto standard map,

identify a missing road

  • hide layer 2 (click on its corresponding “eye” icon, or use the keys Alt-2).
    at this point your layers pane should look like this:
    layers pane
  • repeatedly toggle visibility of layer 3, to identify where Strava shows road usage and our map shows nothing (or roads marked as agricultural tracks).
    a rather extreme example might look like this:
    Strava heatmap on Carto
  • download the OSM data for the area, obviously you need to include any previously existing elements, to which you want to connect your new roads.

map the road

this is my personal practice, yours might be whatever it might be, this is just what I am comfortable with.

  • ‘a’ (the draw nodes tool), draw a way, very roughly following strava, not looking at the aerial photography.
    • start the road by zooming in
      start the road by zooming in
    • zoom out and roughly draw the body
      zoom out and roughly draw the body
    • zoom in again and connect the end
      zoom in again and connect the end
  • hide Strava, show layer 2 with aerial photography.
  • ‘w’ (the improve way accuracy tool) (keep the Ctrl key pressed, so that you will be adding nodes, release it to move a node)
    • make your road follow the aerial photography.
      add nodes to refine the road
    • zoomed in, you will occasionally refine an earlier node.
    • again occasionally the area might be obstructed by trees or clouds and you might want to show the Strava layer: bing with strava

restarting after losing track

still occasionally, I do loose track of which roughly mapped roads I still have to refine. fortunately JOSM has a quite powerful search option.

  • Ctrl-F and select all new nodes.
    select all new nodes
  • this shows where the new nodes are too distant from each other.
    roads that need to be refined
  • tag the road as ‘unclassified’ (very likely) or ‘tertiary’ (for heavier traffic).

extra value: fill in the blanks

something that happens quite often, mappers stop a road when time is up, even if the road does continue. it is very helpful to routing programs and services if we provide a connected network of roads, rather than scattered segments.

  • a candidate for filling in a gap:
    fill in the blanks

repeat

  • preferably, hide the data layer, which will add a mask on top of whatever raster you’re using. and: “da capo”, from “identify a missing road”.

the end

while writing this diary entry, I mapped these roads:
changeset content

do not forget to tag the new objects yourself!

osm.org/changeset/111457635

Email icon Bluesky Icon Facebook Icon LinkedIn Icon Mastodon Icon Telegram Icon X Icon

Log in to leave a comment