User:CMoffroad/Unpaved Rendering

From OpenStreetMap Wiki
Jump to navigation Jump to search

Unpaved Roads Rendering

Status: draft, in progress. Feedback welcomed. Section will be later moved later under: https://wiki.openstreetmap.org/wiki/Rendering/Unpaved_Roads

While Routing is crucial to prevent or favor unpaved road conditions, unpaved roads rendering is very important for outdoor enthusiasts and explorers who do not rely on fixed itineraries. Whereas surface conditions tags have been fairly well supported by routers, their support for renderers has been very limited and controversial:

Controversy

highway=track has been misused for years all over the world by mappers to indicate any kind of unpaved conditions regardless of their main road function.

Countries where minor/major unpaved roads are common have updated their guidelines (e.g. Australia or Africa) to make sure that roads should be tagged according to their use within the road network regardless of surface or smoothness.

Regardless, this strongly discouraged "tagging for the renderer", driven essentially by outdoor application end-users, will continue as long as most common renderers do not support additional unpaved tags for all road classifications.

Solutions

For mappers

Until a good number of common renderers support additional tags:

  • Allow mappers to continue using highway=track for non-agricultural/forestry roads, but encourage them to fill in additional tags such as tracktype, smoothness and surface
  • Contact renderers dev teams and request additional unpaved tags support (see list of renderers below)

For renderers

Since tracktype=* is already commonly supported for highway=track, it would make sense for renderers in a chronological order to:

  1. enable tracktype=* support for all type of roads (e.g. residential, unclassified, tertiary...)
  2. enable smoothness=* support for all type of roads
  3. enable surface=* support for all type of roads

Implementation

While routers can support any tag combinations, renderers cannot and should not display too much information, at the risk of making maps unreadable.

In terms of User Experience best practices, a maximum of 4-5 categories based on 3 factors (e.g. width, color, dash) is typically best practice.

For paths rendering, Hiking Maps has a great example of 4 rendering proposals based on 2 attributes sac_scale and trail_visibility.

The link below include a general rendering proposal for road with 4 profiles:

  • Normal roads
  • Drive with care
  • 4WD only
  • Impassable

Based on various tags ordered by priority

Additionally:

  • highway defines the fill color, thickness and stroke thickness
  • access defines the stroke color
  • computed profile above defines the dash style


https://www.cmoffroad.com/unpaved-rendering/

Status Quo

Below is a table listing most common outdoor renderers and their current unpaved tag support for both highway=track and other road classifications.

For each renderer, a link to their technical support is provided.

To get their attention, please add new comment and a few likes on previous posts (Github), or send them a message (Email).

Last updated: March 2022.

Renderer highway=track highway=residential/unclassified/tertiary/.... Contact
Name Web Mobile Garmin tracktype smoothness surface tracktype smoothness surface Support
OpenStreetMap X - - Yes - - - - - Github
cyclOSM X - - Yes Yes - Yes Yes - -
Open Cycle Map X - - - - - - - - Github
OpenTopoMap X - X Yes - - - - -
Github
Komoot X X - Yes - - - - - Email
alltrails X X - - - - - - - Email
mapy.cz X X - Yes - Yes - - - Github
OsmAnd - X - Yes Yes Yes - - - Github
maps.me - X - - - - - - - Github
Organic Maps - X - - - - - - - Github

Contact template

Please enable OSM tag tracktype=* support for all road classifications to prevent further misuse of highway=track.

Because most renderers like yours do not support additional tag describing road surface conditions, highway=track has been misused for years all over the world to indicate any kind of unpaved road conditions, regardless of their actual function.

Please join the OpenStreetMap community in making better maps by rendering unpaved roads for all kind of road classifications based on tracktype, smoothness and surface tags.

In terms of UX/implementation, this could be simply achieved with a different solid/dashed stroke or fill color.

More details including UI implementation proposals are available in this OpenStreetMap wiki page: User:CMoffroad