On Tue, Sep 27, 2016 at 5:11 AM, Daniel Hofmann <[email protected]> wrote:
> When you say "should be avoided" you mean completely discarding a way > going over a specific node in a single direction? > In that case, we support turn restrictions in the form of > `fromWay,viaNode,toWay` you could try. > > As in: `no_turn, fromResidential, viaHighwayNode, toResidential` > > (Relevant: via-way restrictions: https://github.com/Project- > OSRM/osrm-backend/issues/2681) > > Cheers, > Daniel J H > > I had considered turn restrictions, but I was hoping for something a little more generalizable so that I don't have to identify specific nodes and ways in the config. For example, I'd like to tell the router to avoid a node representing the intersection of a residential way and a primary way IF the route is using the residential way. But I'd like to avoid having to identify all such instances via turn restrictions. I could imagine something like the following pseudo code: function crossing_penalty(entering_way, crossing_way, node) local entering_highway = way:get_value_by_key("highway") local crossing_highway = way:get_value_by_key("highway") -- get traffic signals local tag = node:get_value_by_key("highway") if tag and "traffic_signals" == tag then traffic_lights = true end if entering_highway == "residential" and crossing_highway == "primary" and not traffic_lights then: crossing_penalty = some_large_number
_______________________________________________ OSRM-talk mailing list [email protected] https://lists.openstreetmap.org/listinfo/osrm-talk
