[Tagging] Feature Proposal - RFC - footway=link

Nick Bolten nbolten at gmail.com
Fri Dec 6 02:28:54 UTC 2019

```Sorry for the late feedback, Markus! Thanks for considering my thoughts.

> Wouldn't this mean that any footpath leading into a road would need to
be split for its last few metres, like the last 3 m of the path here?:

> https://www.openstreetmap.org/node/413988097

I believe so, yes. While this implies a lot of edits, there is a very clear
upgrade path that is conducive to tools like MapRoulette: when a particular
kind of footway shares a node with a street, suggest splitting it into a

> I doubt that this were very useful, but would only complicate mapping. If
you want to know the precise location where the footpath begins or ends, it
should be possible to get that information from the road width or
area:highway=*.

Neither of these can reliably determine where the footpath begins or ends,
as the footpath may end before the street begins, such as when there's a
sidewalk between them.

Let's use a nearby example: https://www.openstreetmap.org/way/86205950.
This is a highway=footway, footway=link connecting a set of stairs to the
street network, and it does so directly:  a highway=steps --> footway=link
--> highway=tertiary. A pedestrian router would want to encounter these
decision points: (1) continue onto the sidewalk vs. cross the sidewalk, (2)
after crossing the sidewalk, potentially encounter a curb, (3) enter the
street. Knowing the exact portion that is on the street is also useful, as
that distance should not factor into the route - pedestrians generally
stick to the side of a street when moving along it.

My challenge to you is: write an algorithm that determines, with good
spatial accuracy, these pedestrian network transition locations: from
stairs to sidewalk centerline, from sidewalk centerline to curb, from curb
to street. You can use road width or area:highway=*. i.e., break up that
footway=link at the right places. It can be roughly estimated from street
and sidewalk width, but only if great, great care is taken in mapping that
tertiary street's geometry - more than is taken virtually anywhere on
earth. Keep in mind that the most intuitive strategy won't work at all near
intersections, as the sidewalk geometries won't be accurately captured.

> Besides, only defining footway links, but e.g. not connections of tracks
quite arbitrary.

The difference is that for vehicular traffic, the transition is correctly
described: directly from track to road. It is spatially a bit fuzzy, but
I've never encountered a routing scenario where a difference of a few
meters of track vs. road were considered important for vehicular routing.
The link schema would still be appropriate in those scenarios - it just
needs to be valuable.

> That short way definitely isn't a separate sidewalk (no lateral kerb, not
parallel to the road), but the extension of the crosswalk.

I'm going to politely push back on this. We have to draw this connecting
segment regardless of whether the street crossing is marked (crosswalk) or
unmarked (no crosswalk) and whether there's a curb ramp or not, so it's not
necessarily part of a crosswalk. Even if this idea is amended to say that
this short way is an extension of a street crossing regardless of marking,
there's no appropriate crossing tag for it: is it
crossing=uncontrolled/marked, crossing=unmarked, or unset? All of them are
inaccurate in some way or another, or ambiguous.

> In my opinion there isn't a necessity tag it differently – if the width
of the sidewalk is specified, it is clear where the crosswalk begins.

A challenge: tag this crossing by your current preferred schema and write
an algorithm to tell me where the crosswalk begins:
https://www.openstreetmap.org/node/4694558040. Now do a version where's
just one curb ramp pointed into the intersection!

> This is a very different situation from the connections i have in mind.
Besides, these aid ways likely aren't verifiable.

They are the same abstract situation: a path someone could be expected to
take over an arbitrary 2D pedestrian space that is not itself a centerline,
but nevertheless provides routing and interpretability value. A very large
percentage of urban "footways" are equally unverifiable as they have the
same abstract problem, such as the other examples.

> > 5. Short paths to building entrances from sidewalks, other footways.
[...]
> >
> > 6. Short paths that deviate slightly from centerlines to make use of
facilities, but are still related to those other footways. [...]

> Could you please give me some examples for these two points?

I haven't mapped them yet personally, but I can show examples where they'd
be warranted.

Short paths to building entrance:

- https://www.openstreetmap.org/way/223357798. The entrance is in the
northwest corner and has two staircases (one per street) leading to a
landing. I could map the staircases, but what do I connect to at the
landing? It's not really a footway.

- https://www.openstreetmap.org/way/223362697. There's a building entrance
in the middle of the south side of this building. It has a single stair. To
make this accurately mapped, one would currently draw a footway, then
steps, then a footway. It's not really a footway, though - just a path to
an entrance.

- https://www.openstreetmap.org/way/223362694. This post office has a
pretty complex set of ways to get to the entrance. Are they really
footways? They're not exactly linear features, more just a set of paths
over a large space that one would take to get to the entrance.

Paths that deviate from footway centerlines that could benefit from a path
description:

- https://www.openstreetmap.org/node/3884332795. There is a set of 2-3 bus
shelters that split the sidewalk. If you mapped just the centerline of the
sidewalk, it'd go directly through the bus shelters (and this is how it's
currently mapped). If one actually mapped the shelters, it would be
unintuitive to keep that path going straight through them - it would be
adjusted to the east for an unobstructed path. That part of the sidewalk
has a distinct usable width that differs from the total width of cement in
that area. In addition, there's some value in indicating the alternative
path that uses the shelters - waiting for the bus. This might seem like
over-the-top micromapping, but those paths matter: some of them go through
width-constrained regions that would prevent some (but not all) wheelchairs
- so they should have their own width=* tags. These paths could be obtained
by mapping areas, but would require fairly intense CS skills to extract.

The above example would work neatly with Allroads' suggestions.

Hope this makes sense!

Best,

Nick

On Sun, Nov 24, 2019 at 1:52 PM Markus <selfishseahorse at gmail.com> wrote:

> Many thanks for your thoughts, Nick!
>
> On Sat, 23 Nov 2019 at 02:36, Nick Bolten <nbolten at gmail.com> wrote:
> >
> > I would propose that under an expansive definition it be thought of this
> way: a "footway link" is a path connecting pedestrian-accessible ways that
> is not, itself, a centerline of a designated physical pedestrian space.
>
> Wouldn't this mean that any footpath leading into a road would need to
> be split for its last few metres, like the last 3 m of the path here?:
>
> https://www.openstreetmap.org/node/413988097
>
> I doubt that this were very useful, but would only complicate mapping.
> If you want to know the precise location where the footpath begins or
> ends, it should be possible to get that information from the road
> width or area:highway=*.
>
> Besides, only defining footway links, but e.g. not connections of
> [2]) seems quite arbitrary.
>
> I think the only situation where such links are really required is
> when connecting two adjacent parallel ways (your point 1), like for
> example a road and a sidewalk, a parallel cycle path [3] or parallel
> steps, as such a connection isn't an extension of either way (the 3 m
> in the example above is the extension of the foot path, but the
> connection of an ending sidewalk with the road is neither sidewalk nor
>
> a way that is used to change from a road to an adjacent parallel
> path".
>
> > 3. Transitioning from a sidewalk to a crossing, where both are
> separately mapped: [...] It's that short path that extends from the
> sidewalk to the street.
>
> That short way definitely isn't a separate sidewalk (no lateral kerb,
> not parallel to the road), but the extension of the crosswalk. In my
> opinion there isn't a necessity tag it differently – if the width of
> the sidewalk is specified, it is clear where the crosswalk begins.
> While it wouldn't harm if people tag that short way or the extension
> of a path that is inside the area of a road as footway=link, i think
> that this shouldn't be a requirement.
>
> > 4. Plazas. While it is possible to extract many plausible paths through
> pedestrian area features, there is value in simply mapping the most direct
> paths and not requiring data consumers to become intimately familiar with
> skeletonization algorithms or robotics pathfinding. Mapping canonical paths
> through plazas as links allows both options: they can be ignored (as they
> are acknowledged to be connections rather than distinct paths) or consumed
> directly.
>
> This is a very different situation from the connections i have in
> mind. Besides, these aid ways likely aren't verifiable.
>
> > 5. Short paths to building entrances from sidewalks, other footways.
> [...]
> >
> > 6. Short paths that deviate slightly from centerlines to make use of
> facilities, but are still related to those other footways. [...]
>
> Could you please give me some examples for these two points?
>
> [1]: https://www.openstreetmap.org/node/893450790
> [2]: https://www.openstreetmap.org/node/506223281
> [3]: https://www.openstreetmap.org/way/518400616
>
> Best regards
>
> Markus
>
> _______________________________________________
> Tagging mailing list
> Tagging at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/tagging
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/tagging/attachments/20191205/793d34dd/attachment-0001.html>
```