Conditional applied for forward or backward

First of all happy new year! I have a question about forward and backward restrictions.
Let’s say I have this data on OSM (I found that in London there is a street where they are doing road works just in one direction)

motor_vehicle:forward:conditional = no @ (2023 Jan 8 - 2023 Jan 10)

or

vehicle:forward:conditional = no @ (2023 Jan 8 - 2023 Jan 10)

I explored it a bit the code, I think it is supported, but I want to double-check it.
Thanks in advance.

After studying a bit more this problem, I think that this scenario is not supported by Graphhopper right?
I took a look at the OSMRoadAccessParser and I see it just parses these tags

case FOOT:
                return Arrays.asList("foot", "access");
            case VEHICLE:
                return Arrays.asList("vehicle", "access");
            case BIKE:
                return Arrays.asList("bicycle", "vehicle", "access");
            case CAR:
                return Arrays.asList("motorcar", "motor_vehicle", "vehicle", "access");
            case MOTORCYCLE:
                return Arrays.asList("motorcycle", "motor_vehicle", "vehicle", "access");
            case HGV:
                return Arrays.asList("hgv", "motor_vehicle", "vehicle", "access");
            case PSV:
                return Arrays.asList("psv", "motor_vehicle", "vehicle", "access");
            case BUS:
                return Arrays.asList("bus", "psv", "motor_vehicle", "vehicle", "access");

Therefore the tag motor_vehicle:forward is ignored for controlling the access. How do you overcome this issue? Because that means that partial road closure affecting specific lanes cannot handle it. In other words, when there is a single edge having several lanes (backward/forward) it is not possible to block one of the two directions. That means, that if for example, I feed the Graphhopper graph with real traffic events from an external provider, all the events related to lanes will be ignored.

Do you plan to take in consideration this problem? Thanks in advance

I also think this is not yet supported. There will be special conditional forward/backward path details with: Make conditional access restrictions configurable by karussell · Pull Request #2863 · graphhopper/graphhopper · GitHub but still a route might go through it.

1 Like

Take a look at CarAccessParser.java where some of these tags are considered:

The (static) code you quoted in OSMRoadAccessParser only determines the transportation mode used for the different vehicle parsers. OSMRoadAccessParser itself only deals with the road_access encoded value, which is not used to determine the road access by default. But it looks like you were mostly asking about conditional/temporal restrictions?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.