[GraphHopper] Issues detecting driving paths along one way streets?
Peter K
peathal at yahoo.de
Wed May 14 10:03:45 UTC 2014
Hey Rod,
The problem you have is relative easy to fix if don't mind 100% accuracy
(and if you use only one vehicle per graph it is rather easy): in a
preprocessing stage on import you remove unreachable points. As you
already found the problem is mainly due to oneways. So, if you traverse
the graph via an outgoing EdgeExplorer and remove all unvisited nodes
then other nearby points will be used instead (the same you have to do
with an 'ingoing' explorer).
This works rather well for smaller areas - for the world wide case you
have to handle that there are many valid 'islands' and you have to
decide when to remove them. But probably you can use a fixed parameter
of subnetwork size like we already do in PrepareRoutingSubnetworks. See
also issue 86 for more details especially in the case of multiple
vehicles per graph (if you use CH this does not apply):
https://github.com/graphhopper/graphhopper/issues/86
For our API we think of a more accurate solution where we can keep the
oneways and make this "lookup-nearby" behaviour default but
configurable. E.g. sometimes it would be important to know the
problematic cases like for finding map issues.
Regards,
Peter.
> Hi,
>
> Congrats on releasing v0.3!
>
> I'm looking at replacing the car/foot routing component we use at
> rome2rio.com <http://rome2rio.com> with the graphhopper web API.
> It looks great so far, however graphhopper is unable to find a route
> for 4-5% of our queries.
>
> A lot of these failures involve one way streets ... particularly
> around trains stations and airports (which we see a lot of).
> I've hacked up a change which naively tries routing from positions
> near the origin/destination/waypoint, which works ok, but isn't
> particularly elegant.
>
> I'm happy to trade off some accuracy with the origin/destination
> points to increase the "recall" of finding routes.
> Treating one-way roads as two way could also work for our use case.
> Any thought on the best way to achieve this in graphhopper?
>
>
> Examples:
> http://graphhopper.com/maps/?point=45.461820,9.278362&point=45.48472,9.236413
> # No route
>
> http://graphhopper.com/maps/?point=45.461884,9.276520&point=45.48472,9.236413
> # Works fine
>
>
>
> http://graphhopper.com/maps/?point=40.734454,-74.163026&point=40.73722,-74.17129
> # No route
>
> http://graphhopper.com/maps/?point=40.734519,-74.16294&point=40.73722,-74.17129
> # Works
>
>
>
> Cheers!
>
> Rod.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/graphhopper/attachments/20140514/734f3951/attachment.html>
More information about the GraphHopper
mailing list