OpenStreetMap logo OpenStreetMap

Incremental detail

Posted by gnesss on 18 June 2019 in English.

Building the map up

Thinking about how data is contributed to OSM, an interesting problem is how the detail and level of information is increased over time. Some things are quite easy to refine, but others are definitely not.

Adding basic data

This appears to be straight forward. OSM makes it easy to add some data. Things like tracing aerial imagery to add roads, residential land use, parks. It’s rough data quality, but is not a problem, as to put assumed detail in would not be so helpful.. In the UK, it is increasingly rare to have a totally blank canvas to start with. It feels like most of the coarsest data of roads and villages have been mapped.

Improving data

Once new data sets are available, like street level imagery, further granular detail can be added. The ability to refine the coarsely entered data varies a lot, depending on what it is. A building being determined as a place of worship, or simply a detached house is easily done. change the tag, draw the outline or adjust the bounds if needed. Adding an address.

You can do this on one building on a street and it is an improvement, even if you haven’t done the rest of the street.

Some cases where it falls down

A few examples I’ve seen through my own experience or via talk-gb is where useful data could be added, but unless it is entered to a high level of detail throughout the vicinity, and in its entirety, instead of enriching the map, it can hinder its use.

Sidewalks and pavements

I love this kind of information, but it is difficult to add. You can add it as a tag to a way, or as a separate way. There are many long standing differing of conventions of where to add this data and where not to. The topic of sidewalks/pavements merits its own post. In the UK, sidewalks are generally not added at all, or only added if the pavement is separated from the adjacent road by something else. Routing engines seemingly assume most roads (motorways excluded) as possible to walk along. With the exception of some major roads and motorways, there’s no legal reason not to thing that, but plenty of practical ones.

But the point here is, if you only add the pavement as a separate way (or as tags, even) to a single road in a neighbourhood, it needs a lot of detail up front. Without that detail, it can be found to be not useful, confusing routing engines, data extraction and humans reading the map.

The ease of humans reading the map is interesting. Mapping for the renderer is not a great habit, but presentation of data for users is important, such that you can’t totally ignore it. Yeah, the renderer should be fixed instead, but with half a dozen rendering engines dominating the usage, there’s some convergence of how tags are being interpreted and drawn.

Road Junctions

A simple junction might first be mapped as a couple or more ways intersecting. To enrich this data, you can fairly easily be converted into a roundabout, or add turning restrictions.

It gets more difficult once traffic signalling is to be added, and exceptionally more difficult to add in pedestrian crossing points - particularly if the pedestrian crossing is split to only cross one direction of traffic at a time. Pedestrian interfaces to the road junction are hugely important and useful to have mapped - in my opinion. No one likes to find they can’t cross over the road from one particular side of the junction and could have done so had they crossed onto the opposite pavement 100 meters earlier. Or having to cross 4+ lanes of traffic where a traffic island could have halved that.

This is not something that can be gradually added to a map. You need certain things to be at a suitable level of detail before you can meaningfully add this adjacent data.

I like that openstreetmap allows people to map the things that interest them the most, but there’s clearly a hierarchy of detail where some items enable others.

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

Discussion

Log in to leave a comment