itinero / routing

The routing core of itinero.
Apache License 2.0
221 stars 70 forks source link

Route cannot be calculated (RouteNotFoundException) #272

Open AndyCaignie opened 5 years ago

AndyCaignie commented 5 years ago

I have a lot of routes that cannot be calculated due to the 'Itinero.Exceptions.RouteNotFoundException' error. Here is an example: Start = lat 50,8881 lng 4,1772 (Industrielaan 5 1740 Ternat, Belgium) End = lat 48,7589 lng 2,3557 (Cour d'Alsace 13, 94150 Rungis, France) I cannot see an obvious reason why the calculation fails. The database I use is the 'Europe' database I found here: http://files.itinero.tech/data/itinero/routerdbs/planet/. For performance I contracted the database using the IDP command, but the calculation also doesn't work on the original database.

This is the code I use

DynamicVehicle customcar; RouterDb routerDb; using (var stream = new FileInfo(@"D:\Open Street Maps - Planet\europe.car.routerdb").OpenRead()) //Contracted with CAR only { routerDb = RouterDb.Deserialize(stream); } customcar = DynamicVehicle.Load(File.ReadAllText(@"D:\Open Street Maps - Planet\car.lua")); routerDb.AddSupportedVehicle(customcar); Router router = new Router(routerDb); Profile profile = customcar.Fastest(); Coordinate[] locations = new Coordinate[2]; locations[0] = new Coordinate(50.8881f, 4.1772f); locations[1] = new Coordinate( 48.7589f, 2.3557f); Tuple<bool?, bool?>[] preferredTurns = null; var route = router.TryCalculate(profile, new MassResolvingAlgorithm(router, new[] { profile }, locations, null, 1000), 0f, preferredTurns, CancellationToken.None);

Any idea why this fails?

Thx in advance

xivk commented 5 years ago

Any error messages you get? Do routes succeed at all or do all routes fail?

AndyCaignie commented 5 years ago

About 10% of the routes fail, but most of them are from/to the UK. The above example is one that should not fail. The error message in C# I get is "Exception of type 'Itinero.Exceptions.RouteNotFoundException' was thrown." I don't know if it is possible to get more information, e.g. with another catch? PS: the version of Itinero.DLL is 1.4.1-pre002

mukeshrebari commented 4 years ago

I have the same problem but only if EdgeId of both coordinates are different. But google provide correct route for both coordinates. Source Coordinate{Latitude:18.7388611,Longitude:73.7479095} Target Coordinate{Latitude:18.8827133,Longitude:72.988266}

jurot8 commented 3 years ago

The same problem... see sample: https://github.com/jurot8/ItineroTest