Stuff I hate about sidewalk mapping

Posted by ManuelB701 on 7/9/2024

Stuff I hate about sidewalk mapping

I have a certain… love-hate relationship with separte sidewalk mapping. On one hand, they do allow for a more complex mapping like specifying the type of separation between sidewalks and carriageway, easier to specify the surface of sidewalks (especially if the corresponding carriageway is split up), etc. On the other hand, they make routing (potentially) more complex (it’s complicated, actually) which is why I generally see them more useful on busy roads and outside settlements where you don’t expect spontaneous crossings. One thing what really fuels my issues with them, though, is just how careless a lot of users are with them, that one should go and map them however one wants despite the potential problems which can arise.

This is ultimately what I really hate about them: That (typically inexperienced) users go and start mapping sidewalks however they want (that is, draw them as they exist on a map). It’s such a big issue because it actually breaks routing, particularly if you map around blocks which usually only have limited official crossings and in turn a lot of virtual paths have to be created. Some pretty bad ones are such sloppy that they ignore all the warnings in their editor (be it two unconnected but crossing ways, way-building intersections or isolated ways).

All in all, here are my personal faux pas you can make with them (aside from ignoring all the warnings in your editor of choice):

Not detaching ways from the carriageway

This is a classic “just draw sidewalk” phenomenon: Draw the sidewalk but keep the connections from the now carriageway.

Basically, highways with no separately mapped sidewalks tend to have paths which lead out of them. They’re mostly real paths but have to connect with the main highway in order to be connected for pedestrians (they basically have an implied footway=link). One justification for sidewalk mapping is to improve routing (which is a valid motivation) and they definitively help in this regard in at least major streets. However, not detaching footways from the carriageway doesn’t do much favour because it makes it feel like one simply drew them however one wants with no regard to the actual routing and existing paths.

Obviously, there are exceptions to the rule like when there are either no kerbs throughout the street or they’re a painted lane but at that point, the sidewalk mapping should be extra considerate since the sidewalk is basically part of the carriageway, and lane-based or kerb-less tagging is a better approach instead of adding a way which arguable doesn’t really exist (to put it into consideration, some medians aren’t enough of a barrier to split a highway into dual carriageways) or there is a real connection from the sidewalk like a lowered kerb which should be mapped regardless on how useful they are for pedestrians (maybe it’s a driveway in disguise?).

Leaving isolated sidewalk islands

This is the biggest faux pas one can ever make in sidewalk mapping and is the opposite case of the first point: The lack of crossings through the carriageway.

This comes in two favours: Unconnected crossing nodes and minor street sidewalk mapping but they both are clear symptoms of the “just draw sidewalk” syndrome.

Part of the reason why I don’t really like sidewalk tagging is because they’re often used on lesser streets with limited benefits compared to the efforts they take. Most notable, crossings on such streets have a tendency to be relatively hidden (though with the increased use of kerb cuts and tactile pavings they come with, this problem is lessened a bit) or are informal by default since no kerb is lowered or at least uses the same colour as the remaining kerbs nor are most crossings marked there either.

But even the former is an issue because not only does it mess up routing but moreover, the information is already there. A clear cut example of “You had one job…”.

Not updating sidewalk tags

A small example but a pretty good symptom is to simply not update the sidewalk tags to separately mapped ones. The purpose of them is simple: It tells pedestrians whether a road has a sidewalk or not as well as on which side they have to go but moreover, whether it exists as its own way. This is done for the following purposes:

  • It clarifies that a footway next to a road is indeed its sidewalk and not a separate path (which does happen sometimes).
  • It tells quality controls and tools like StreetComplete that the information are already provided somewhere else, thus preventing duplicate data (e.g. surface of sidewalk quests).
  • It also tells routers to depriotise the carriageway and use the footway next to it for routing, especially because depending on the country, it is (generally) illegal to walk on the carriageway if a corresponding sidepath exists (note that although routers will priotise sidepaths over the carriageway already, sidewalk:*=separate strengthens this even further and should avoid routing pedestrians over the carriageway in 99% of all time).

Inconsistent mapping

Now, most of the issues were basically multiple sides of the same coin (same die?) but there are other sidewalk mapping habits which get on my nerves for a bit. One example is how I’ve recently “completed” a lot of sidewalks. Basically, how the sidewalks were mapped were pretty chaothic as the arbitrarily ended in the middle of nowhere, they’re drawn on and off or the street has its sidewalks mapped all over the place.

The main cause of it aren’t necessarily always sidewalk drawers (but they still are guilty of them) but mapping sidewalk with extra rules like permitting cyclists on them. The problem with it is that this is a routing issue as routers may not necessarily take the infrastructure into account. It also looks pretty ugly in my eyes. Conversely, it’s sometimes better to simply use sidewalk / cycleway tags if it results in a net benefit even when the preferred local solution is to create a separate way when that happens. An important factor is that the streets have to be split up anyway for cycleway tagging. I recommend doing that for more minor streets, though.

Others instead do it by starting somewhere, then ending it on the next crossing or driveway and someone else does the same, never consider to connect these sidewalks. It’s at that point the sidewalk mapping gets quite ridiculous and one should take the effort to either just finish it or to simply not do it.

Examples where sidewalks end with a sharp turn are particularly infamous and should be fixed because this is where we get to…

Lack of balance between reality and abstraction

As a map, OSM takes some limitations on what it can and can’t display and so all the data stored there is a simplification of the real world (there is a reason why the tagging for buildings and indoor mapping have “simplified” in their name). At the same time, some do want to map data more or less realistically (i.e. micromapping) and OSM provides different tools for different levels of abstraction.

Overall, OSM supports abstraction like placing traffic islands as nodes instead of temporarily splitting a carriageway into two (though it admittingly is better suited for shorter islands) and the decision to map sidewalks as separate ways or not is another good example thereof (i.e. not doing it being more abstract than mapping them as their own ways).

To go with the theme of sidewalk mapping, another good example is the intersection of two highways and one of the sidewalks: You can follow the physical sidewalk or draw a line parallel to the intersection; one automatically handles crossings, the other requires you to add the crossings yourself.

This is where we get to sidewalk tagging: I hate when the former happens on a street which has no sidewalks tagged as it gives off an appearance that the sidewalk tagging is incomplete (depending on the street, more than it is now for sure). Basically, if you follow the route from separate sidewalks to tagged sidewalks, you’re essentially taking a sharp turn on the side rather than main street, potentially even taking a crossing way you never took. Now, this isn’t all avoidable (an official crossing might be sometimes further away from the main road than otherwise) but it’s still looks rather ugly IMO.

Another example is ending a sidewalk: This could be done either with a sharp turn, drawing up to the next crossing or diagonally for a smoother transition. None of the solutions are perfect but some are worse than others. Basically, by creating a sharp turn, it makes it look like the sidewalk ends abruptly into the street instead of appearing like its continuing onwards. Of course, a very potential issue is that one shouldn’t just end sidewalks with no reason (see above). Slip lanes are a particular offender as it’s quite common to draw them only up to a crossing but not continuing them further regardless on whether the sidewalk physically continues or not which looks… bad (of course, the alternative is to end the sidewalk in the middle of the street which I also complained before but I prefer a smooth transition for consistency). It also leaves a potential danger from roads being (unnecessarily) split up by certain mappers (incidentally another example of lack of abstraction) even though the current tagging is relatively fine (in that routers are unlikely to route pedestrians over a carriageway, especially if the leading road has sidewalk:*=separate).

This is, admittingly, the most subjective of all bad habits, considering that all solutions are basically bad unless all sidewalks are mapped separately. I still feel like some practices are worse than others.

There also is a special (rare) case where the sidewalk mapping is drawn as accurately as possible. Aside from being able to leave isolated ways (see above), it also results in (IMO) ugly dead-ends (like curving into a corner or ending where the kerb ends) and lack of connections (no connection to the carriageway), destroying. If you truly want a a more accurate representation of the sidewalk, either map it as an area or draw the kerbs which separates it from the carriageway (and use the building properties for the other border). Vanilla Carto / OSM Standard typically won’t render highway areas (that is area:highway=*, not highway=pedestrian, highway=footway and highway=service as areas) but other renderers like OSM2World can.

The conlusion

The reason why I created this rant is because I’ve been recently fixing a lot of sidewalks. In fact, some of them were so bad that I’ve deleted them with no regret but I’ve done that only three times because they were so bad, it’s easier to simply start them over in the future when sidewalk in these are mapped separately than fixing the mess in the present (one being wildy drawn sidewalks with a lot of unconnected connections, the other two being such isolated, it made no sense whatsoever to keep them). This is an extreme case, though, and I much rather want to fix them by drawing higher quality sidewalks but it also makes me wonder on what the mappers were thinking when they were drawing them.

It shows that I don’t really hate separate sidewalk mapping but it’s very easy to get them done in the wrong way than simply using sidewalk=*. As such, I’m working on a guide on how I map sidewalks which includes explaining some of the stuff I mentioned in detail (and also more politely), stuff I left out or at the very least very briefly here but also examples on how I map thing which might be good practices to take over.

Edit: Fixed list formatting.