[GraphHopper] turn restrictions

Peter graphhopper at gmx.de
Wed Aug 20 17:49:24 UTC 2014


Hi Bruno,

thanks, would you mind to create a unit test for this? So that I
understand what you mean by 'invalid route' and why it fails to find a
route for 1dir.

> When do you plan to merge turn restrictions into master? Can I help in
some way?

We need more tests and real world usage to identify bugs and API usage.
And I'm currently unsure if I merge it without CH-support. CH support
would need some work as pointed out in the issue.

Regards,
Peter.

On 19.08.2014 18:39, Bruno Carle wrote:
> Hi,
>
> FYI
> With TraversalMode.NODE_BASED      it finds a route ignoring turn
> restrictions (as expected)
> With TraversalMode.EDGE_BASED_1DIR it fails to find any route.
> With TraversalMode.EDGE_BASED_2DIR test works fine
> With TraversalMode.EDGE_BASED_EDGE_BASED_2DIR_UTURN it finds an
> invalid route (see http://imgur.com/IEvDObX)
>
> Regards
> Bruno
>
>
> On Tue, Aug 19, 2014 at 9:37 AM, Bruno Carle <bruno.carle at gmail.com
> <mailto:bruno.carle at gmail.com>> wrote:
>
>     Thanks Peter,
>     I am now using the turn_costs branch, my test is still not
>     working, but I will continue to look at it today
>     Regards
>     Bruno
>
>
>     On Mon, Aug 18, 2014 at 6:22 PM, Peter <graphhopper at gmx.de
>     <mailto:graphhopper at gmx.de>> wrote:
>
>         Bruno,
>
>         please see the turn_costs branch where the turn cost
>         configuration has moved into the flagencoder. The API is still
>         under development and the branch is not yet merged into master:
>
>         new CarFlagEncoder(5,5,1) // enabled for restrictions only
>         new CarFlagEncoder(5,5,3) // enabled for turn costs also (this
>         works in unit tests but turn costs is currently unused for OSM
>         data)
>
>         or from config file the string "car|turnCosts=true" can be
>         used or via new EncodingManager("car|turnCosts=true")
>
>         see for more details regarding TraversalMode.EDGE_BASED_* and
>         related docs in e.g. EdgeBasedRoutingAlgorithmTest
>
>         As stated in the docs EDGE_BASED_1DIR should be as fast as the
>         default node based traversal but could very rarely produce
>         some unnecessary detours when turn restrictions are involved.
>         Use EDGE_BASED_2DIR if you need the most precise routes but
>         this is roughly 2 times slower, where EDGE_BASED_2DIR_UTURN
>         also considers u-turns and is a lot slower, but I'm not sure
>         if this is necessary at all in practise.
>
>         Regards,
>         Peter.
>
>>         Hi Peter,
>>         I am trying to get the turn restrictions working. But i can
>>         not get it to route accordingly. Actually I can not find out
>>         how to enable it.
>>         Also I saw that TurnCostStorage.getTurnCost() is never
>>         referenced, except in some in commented code in
>>         GraphhopperStorage... maybe there is no Weighting class
>>         implemented that takes into account the turn restrictions yet?
>>
>>         Here is my test, the turn restriction being tested should
>>         prevent us from going from Blanicka into Urugayska.
>>
>>            
>>             String osmFile= "../../maps/OLD/prague-latest.osm.pbf";
>>            
>>            
>>             GraphHopper graphHopper=new GraphHopper().setInMemory(true)
>>                         .setGraphHopperLocation("/tmp/ghLoc")
>>                         .setOSMFile(osmFile)
>>                         .disableCHShortcuts()
>>                         .setEncodingManager(new
>>         EncodingManager("car",4,20));
>>            
>>             graphHopper.importOrLoad();
>>            
>>            
>>             GHRequest ghRequest=new GHRequest(new
>>         GHPoint(50.07483120416, 14.4390392303),new GHPoint(50.07333,
>>         14.43869));
>>
>>             GHResponse ghResponse=graphHopper.route(ghRequest);
>>             System.err.println(ghResponse.getPoints());
>>
>>
>>
>>         route returned :
>>         http://imgur.com/QWLgoOL
>>
>>
>>         Route expected goes around Namesti Miru square:
>>         http://imgur.com/MftaocZ
>>
>>         Thanks,
>>         Bruno
>>
>>
>>         _______________________________________________
>>         GraphHopper mailing list
>>         GraphHopper at openstreetmap.org <mailto:GraphHopper at openstreetmap.org>
>>         https://lists.openstreetmap.org/listinfo/graphhopper
>
>
>         _______________________________________________
>         GraphHopper mailing list
>         GraphHopper at openstreetmap.org
>         <mailto:GraphHopper at openstreetmap.org>
>         https://lists.openstreetmap.org/listinfo/graphhopper
>
>
>
>
>
> _______________________________________________
> GraphHopper mailing list
> GraphHopper at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/graphhopper

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/graphhopper/attachments/20140820/b7892517/attachment.html>


More information about the GraphHopper mailing list