bikehopper / graphhopper

Open source routing engine for OpenStreetMap. Use it as Java library or standalone web server.
https://www.graphhopper.com/open-source/
Apache License 2.0
3 stars 0 forks source link

Snap to streets, not separately-mapped sidewalks #74

Closed graue closed 5 months ago

graue commented 2 years ago

When sidewalks are mapped separately on OSM, the router's directions start out in a needlessly confusing and awkward way, for example in these instructions starting from a randomly chosen address on Shotwell Street in SF:

image

First 3 instructions:

  1. Continue [translated by the UI I've built into "Head north"]
  2. Turn right
  3. Turn right onto Shotwell Street

After this, the instructions are normal. But people are going to be confused by the first two instructions referring to unnamed pathways (which are in fact the Shotwell Street sidewalk and the 19th Street sidewalk, respectively). The instructions should just begin with:

  1. Head south on Shotwell Street
graue commented 2 years ago

Related issue: we're producing this inscrutable set of directions for crossing the street where just "Get off at 24th St & Mission St, Board BART at 24th Street / Mission" would be plenty of information:

image

image

graue commented 1 year ago

I wonder if we could solve this by just not snapping to a way tagged with footway=sidewalk, since, in those cases, there should always be a nearby way that represents the street.

Andykmcc commented 5 months ago

there is a snap_preventions option that lets you provide a list of ways. its ref'd in this issue and i've seen in in other docs over the last week. my gut says we can add this to our profile in the config.yml

rsarathy commented 5 months ago

Graphhopper's provided snap_preventions and SnapPreventionEdgeFilter APIs only work for non-PT profiles. I'm working on incorporating the SnapPreventionEdgeFilter into our PT routing methods.