User:ManuelB701/Sandbox/Sidewalk mapping style

From OpenStreetMap Wiki
Jump to navigation Jump to search

Status: Missing images.

A documentation on how I map sidewalks.

Keep in mind that for this guide, I have yet to create images to make it clear by what I mean by this (including what I consider bad and good mapping). Editors are good, actual renders (doesn't matter if real or fictional) is better.

How I personally map sidewalks

After having mapped some sidewalks fairly extensively, I've gotten an intuition on how to map pavements aka sidewalk (though I'll use the latter because that's the official tag name) so I'm sure some sharing some tips on how I do.

The story of this guide is that I had to work with too many sidewalks of too low quality, be it. (One particularly extreme example was so bad, it was easier for me to just remove them instead of fixing them.)

Don't just draw them off images!

This *should* be self-explanatory but I really want to emphasise that sidewalk mapping is fairly difficult and you shouldn't just draw them that way. My tone is harsh on this one because it's really just bad practice akin to simply fixing errors by using `layer=*` to remove intersection warnings.

The first and foremost explanation is that OSM is a map not just in the sense of a simplified representation of the world but also one which handles routing. Mapping only sidewalks of a carriageway (and I mean literally only sidewalks, not their crossings) will create isolated ways of blocks with no way to be calculated to be taken into account by routers. This can be partially fixed with some service roads but still makes routing unnecessarily difficult. In fact, the sidewalk mapping of minor streets is particularly problematic if you don't know the local surroundings unlike major streets where crossings are more often than not marked. It is particularly infurating when a crossing node already exists but one didn't bother to draw an orthagonal line to it (especially multiple — overlooking one or two is one thing, missing out all of them is another).

Basically, avoid the title and fix 90% of the stuff I hate about separate sidewalk mapping.

Focus on main roads first

As mentioned before, separate sidewalk mapping benefits the most if you're mapping the main roads the first and then tackle on the side streets i.e. first handle arterials (typically `highway=primary` or `highway=secondary`), then the collectors (typically `highway=tertiary`, rarely `highway=unclassified`) and lastly, finish the side streets (typically `highway=residential`, sometimes `highway=unclassified` alongside the odd or `highway=living_street` and `highway=service`) last.

My justification is that pedestrians aren't expected to walk on the carriageway (either officially or not) and conversely also are much more likely to have marked and signalled crossings, especially if crossing is limited if not forbidden (and overall dangerous), amplified by their general width. Relatedly, these also have a tendency to get dedicated bicycle infra which itself is common to be mapped separately even as part of the sidewalk. Furthermore, the sidewalk might be buffered by grass or other (non-kerb) barriers which in turn allows for more detailed mapping there. These thus have the highest value in an effort to benefits ratio of separate sidewalk mapping.

In contrast, lesser streets are usually lacking dedicated crossings (outside of maybe having lowered kerbs or the occasional traffic calming) so it's more common to have informal crossings and the highways aren't really wide either nor there typically exist a buffer between the sidewalks and carriageway outside of kerbs, making the lack of seprate sidewalks more of a non-issue and thus puts them on the lesser end of effort to benefit ratio of such kind of mapping (I still do that from time to time but only because the corresponding streets are squished between streets with separate sidewalks, particularly if the streets already has its sidewalk partially mapped), making it more suitable when other roads are finished. In fact, mapping them has the most likely danger of leaving isolated sidewalks because most crossings there typically aren't marked on these streets and if they are, chances are you don't see them on aerial images.

Make sure you switch to different sidewalk styles

What I mean by that is to detach most orthagonal path from the carriageway and connect it to the sidewalk alongside to switch from `sidewalk=left/both/right` to `sidewalk:left/both/right=separate`, both of which are instances of "lazy mapping".

The idea of the latter is that `sidewalk=*` tells you not only how recommend the highway is to walk on thanks to protection from cars but also whether a way parallel to the highway really *is* its sidewalk (which is admittingly rare but it does happen sometimes). In fact, I would even argue that the distinction between a whole highway (includes sidepaths) and carriageway (separate sidepaths) is on whether the way uses `sidewalk=left/both/right` or `sidewalk=separate` (or more accurately, `sidewalk:left/both/right=separate`). This particularly affects routers (OSMR is a particularly bad about this): Though they already prioritise a `highway=footway` over a road anyway, they particularly do that whose sidwalks are classified as separate, else they might route the user over the carriageway when that's illegal (in the user's juristriction). It can also *potentially* confuse SC users which have the sidewalk surface quest enabled (it should be noted that this quest is disabled by default so any user which has this quest enable is most likely an advanced user, familiar with overlays and can spot these ways). In any case, I've fixed such sidewalk mapping when I come across such streets in SC but I always shake my head when I see that happening. Don't do this mistake!

The other issue also leads to implications: The reason why there are ways leading from the street with implied sidewalks is because it's a path which leads off the highway as a whole. Some information is, thanks to abstraction, incorrect like surface information so parts of such a path are more accurately a link (see `highway=link`) but also is minor enough to not be separated. (For this reason, there are people out there who love this kind of mapping for routing purposes.) By mapping sidewalks as separate ways, you change the usage of the way from highway (includes sidepath) to carriageway (separate sidepaths) and so the meaning of the individual paths also changes. Not only does it show that the mapping is lazy but it may even be incorrect thanks to an unmapped barrier (that being the kerbs) and the implication of a way which doesn't exist. This is particularly true for major streets with lots of car traffic where such a way doesn't make much sense and might even show an illegal way when it results in a crossing (it is forbidden to cross the street when a legal crossing is nearby in some countries, for that matter). Edge cases like lowered kerbs do exist and should be taken care of which is why it's always a good idea to have local knowledge on these ways (though they may be more visible on aerial images particularly if there are visible barriers or holes on a grass buffer, maybe even lowered kerbs). In 99% of the cases, though, do detach them.

Be familiar with the surroundings

Basically, you'll always see some surprises when mapping sidewalks separately. This includes avoiding mapping narrow pavements which aren't good for walking on alongside mapping sidewalks which are covered by buildings on areal images. In fact, some sidewalks are covered below below buildings which can only be solved with local knowledge or at least street photos.

The other one is that it also allows to know where unmarked crossings exists which is particularly important as doing that will avoid isolated lines of sidewalks as well as map things which truly exist instead of using helper ways.

Don't be afraid of abstractions!

Problems arise when the different levels of abstraction clash into each other, creating a hard wall instead of a smooth transition which is what can easily happen with sidewalk mapping. A good example is the aforementioned sidewalk mapping on crossings: Curved or straight through? The way I do it is to follow the curve when I continue the sidewalk on the side street but draw a straight line (even if marked / signalised) if I have no intent on drawing the sidewalk on the other street.

Slip lanes are another example where walls are easily created by drawing the sidewalk only up to the middle of the lane (where crossings are usually located placed) which almost always results in a hard cut. IMO the best solution is to simply connect the sidewalk where the slip lane ends and tag the sidewalk there as separate throughout or continue with the sidewalk mapping (especially if it's still a major street), at least if the way truly continues onward and doesn't physically end there.

Remember, create smooth transition, not hard walls!

How I handle intersections

Intersections are interesting in that there is no one solution particularly when there is a mixture of sidewalk tags and separate sidewalks. I've already mentioned unconnected crossings before already so no need to repeat that and instead focus on the abstractions of crossings.

There are two ways to map crossings currently: Either as a node or as a way. Nodes are very useful when sidewalks are indicated as maps wheres ways can only be used when sidewalks exist as a separate way. Here is which one I chose: I use a crossing way if they connect two sidewalks orthagonally (like a T) but a node if it's parallel (like an I). Sounds simple but it has a subtext in terms of sidewalk mapping: I only draw a `footway=crossing` at junctions, if the intersecting highway also has its sidewalks mapped separately or in other words, I continue a `footway=sidewalk` and handle all the crossing information on the crossing node if the interseting highway lacks separately mapped sidewalks. On top of that, I almost never both add crossing nodes on crossing ways (in fact, I even remove them) because of information redundancy (in fact, I have seen crossing ways with crossing nodes which have separate), though I still may do so depending on the local preferences.

Think of the perspective when walking along such a way: If the crossing is a node, you can deduce on whether you take the crossing by determining the change of way type (in that it's only a crossing if it goes from footway/path to footway/path) through a certain angle not but if the crossing is a way then a router might think you're entering an actual crossing when you're simply entering the side street. Of course, a counter example to this argument is that the crossing has got a separate surface which matters in crossing vs. staying on a sidewalk and it's common to map kerbs at the intersections which I discuss later on. It's essentially a "pick your own poison" situation, I've chosen one style which allows for a good interface between two states of sidewalk mapping.

Obviously, if a side street is lacking sidewalks altogether then you're free to draw a separate crossing ways.

Some more details on how I map crossings: For parallel ones, I draw a line from one sidewalk to the other and map them as crossings and I also place nodes on where the (potential) kerbs are located (see the next section for more details) whereas parallel lines continue the sidewalk but I still place nodes on the kerbs for future proofing. I see no point in splitting crossing to where the sidewalk ends and carriageway starts, being a type of micromapping with very limited benefits and only do the latter if having the ways not split is actually a better representation of the way (such as a four way crossing but only lowered kerbs on the corners). I do, however, split them on traffic islands since the crossing is usuall broken on them

Continuous sidewalks are one notable exception and should IMO be always be mapped a node, else it isn't a continuous sidewalk. A potential exception is when there are tactile pavings but nonetheless, there should be no change on the surface itself (not even a separate colour). Alternatively, you can see them as a necessity to tag them on ways even if the side street has sidewalks but only when there are tactile pavings on the crossing.

Last but not least, when sidewalks are mapped on one side only (or physically exist on one side only on the intersecting street), the connecting way to the crossing should always be a crossing way because (whether or not to add a crossing node is a different story). In contrast, the connecting way between two crossings on dual carriageways, slip lanes and traffic islands with no separate sidewalks should be traffic island throughout instead with crossing ways on the intersections.

Place kerbs at intersections

If you're particularly focused on accessibility, it always is nice to add a `barrier=kerb` (or at least a kerb=yes) where the sidewalk ends and carriageway starts. This includes places where there are no physical kerbs but one can reasonably expect them to exist there. If you know that there is no kerb on a specific crossing, use `kerb=no` as doing so helps to separate the carriageway from the footway (e.g. traffic islands) alongside telling others that a specific crossing point lacks kerbs. As a bonus, individual kerbs can also carry the information of tactile pavings which is particularly useful if only one side has them but the other is lacking (though usually, both sides have them with islands being the most common exception).

The one downside is that this will initially be treated as a wheelchair barrier but it will normalise over the time thanks to StreetComplete users.

Sidenote: If the crossing itself already has kerb information, remember to remove it and place it on the kerbs themselves. The reasons are fourfold:

  • It removes the kerbs from street so routers won't calculate non-existing kerbs for their routing (in fact, it has been an issue for a long time with StreetComplete before informal crossings were added).
  • Relatedly, it also removes the false information that there are more kerbs to cross than it exist in reality.
  • There is a reduction of redundant data.
  • The information is already there so why not take advantage of them?

This may sometimes lead to false information where one kerb is less of a barrier than the other but it helps wheelchair users right away (not to mention you can always correct it). Even then, reasons one and two are good enough reasons to remove kerb information from the crossing and the Wiki encourages this.

However, much like with crossings above, don't just place kerbs on `footway=sidewalks` as the routers will believe they exit when there physically are none!

As an aside, you can always add ways of kerbs yourself. I recommend doing that after mapping the sidewalks, though, as that's the next level of highway mapping (alongside using `highway:area=*`) and furthermore benefit the most if sidewalks are separately mapped (I myself almost never do that with a few exceptions partially for this reason).

For that matter, you can tag kerbs on non-separate sidewalks with `sidewalk:*:kerb` but I only recommend doing that or when there are no physical separations, both for routers and for other mappers.

Take care of routes

This one is somewhat difficult because it may require some local knowledge or a survey (I did for some cycling route because it was ambiguous on how I should have fixed it) and I really can't blame you for not fixing them but still, to really show that your edit are of a really high quality, make sure you fix the routes and include the sidewalks in the routes.

The idea is that many countries have compulsive sidewalks and walking on the carriageway is thus forbidden if some dedicated pedestrian space exists (same deal for cyclists with compulsory cycleways). In fact, such ways might even be tagged with foot=use_sidewalk if not foot=no (resp. bicycle=*) which obviously contradicts with the route and will throw errors in advanced editors (of course, when there are no parallel way then these tags should be removed instead because sidewalk access would otherwise be inherited). Even if it is legal to use the carriageway despite an existing sidepath, it's still better if you were to route pedestrians/cyclists over them than the carriageway because of accessibility.

One big challenge is to pick the side of the road. Many roads have a sidewalk on both sides and pedestrians can practically go bidirectionally everywhere (only in a few cases they have to take a way in a single direction only) and thus have a choice which side they go. This gets particularly problematic if the sidewalk mapping is quite advanced and found in minor streets (yet another reason to focus on major streets first).

My preferred solution is to first and foremost reduce as many crossings as possible with priority on official ones (partially because of legal reasons, depending on the country, but also because of accessibility like kerb cuts). It does mean to take the occasional detour but if it isn't too unreasonable, it's fine if hikers take a bit longer. Furthermore, if there are waymarkings (particularly guideposts), I recommend sticking to them as reasonable as possible in part because of visibility (especially if the waymarkers require you to stick to the sidewalk). Also consider the usefulness of each side: If one side is better to walk on than the other (e.g. being wider or has fewer cyclists or something), which one would you pick for the route?

The tl;dr is to pick the side for these qualities:

  • Amount of crossings (lower is better)
  • Official crossings over inofficial ones.
  • Waypoints
  • Quality of ways


Cycling tend to be easier because sidepath cycleways tend to be unidirectional (hence why foreward and backward members exist in these relations), though bidirectional ones on both sides of the street do exist and you sometimes have to make a decision, which side to take similar to pedestrians.

Consistency is key

Last but not least, I really wish you would take your time and finish the sidewalks instead of leaving ways all over around. It looks ugly, it messes up routing (both for crossings and in general) and doesn't even provide the advantages of detailed mapping you'd otherwise get with mapping them throughout. I have been fixing sidewalks for quite a while and it's just infurating to see just how many of them end in the middle of nowhere (often taking a sharp turn into the street), are drawn only up to the nearest driveway, etc.

The one single worst offender of all are cycletracks. There is a general rule to draw cycle tracks separately even when the same isn't done for sidewalks in the same situation. The problem with it is that this doublestandard contributes to the sidewalk chaos in that you have a sidepath which suddenly starts and then ends in the middle of nowhere with all the downsides and limited upsides you'd get with it. This is in my eyes bad mapping and should not be promoted at all. Even the supposed advantage that you don't have to split the carriageway is moot when you consider that you have to split them for `cycleway`-Tags and potentially compulsive sidepaths (when applicable) anyway. It's only when micromapping comes up it's better to draw separate ways.

What I'd do: Simply don't if sidewalks aren't separate on that street either (`cycleway:<side>=track` and the various subkeys sufficient for this purpose) or make sure it's around the whole street if not the neighbourhood. Which one is which depends on the state of the sidewalks in the surroundings.