[GraphHopper] Graphhopper sending back "not found"
Pascal DANEK
pdanek at kds.com
Thu Jun 26 14:58:43 UTC 2014
Hello,
So we finally implemented a change which work for us:
Compare to:
http://graphhopper.com/maps/?point=nice&point=saint%20paul%20de%20vence
Here is the algorithm :
- First loop on nodes using a one-way explorer ;
- It gives a list of all the sub-networks with their size ;
- Sort the list by size (bigger first) in order to keep the big networks and kill all small networks (size < minNetworkSize). We can use another property if necessary.
- For each sub-network (identified by its first nodeid) explore all nodes starting from this nodeId and not in the big networks (>minNetworkSize) and remove them ;
The algorithm is done twice (forward and backward).
Let us know if it is something interesting for you. We will fix and add tests and send you a pull request.
I have an aditional question: can you tell me where does the autocomplete in graphhopper.com/maps come from ?
Thanks,
—pascal
Le 19 juin 2014 à 00:04, Bruno Carle <bruno.carle at gmail.com> a écrit :
> Hi Petr,
> I agree, visiting and marking the edges sounds like a better solution. But probably more complicated too because of the 'islands'
> Bruno
>
>
> On Wed, Jun 18, 2014 at 6:11 PM, Peter <graphhopper at gmx.de> wrote:
> Hey,
>
> maybe I don't understand the problem but why not mark all visited nodes and remove the remaining?
> In the parking example an outgoingExplorer can reach all its edges and won't help, but the second step should be done with the ingoingExplorer and will make those nodes none-explorable and so they will be removed.
>
> Regards,
> Peter.
>
>> Hi,
>> I can imagine a case like this: if a parking consists of several edges, and is connected to the rest of the graph thru a one-way edge, the FixOneWayDeadEnds will not detect it. (FixOneWayDeadEnds only removes edge leading to a point without way out/in )
>>
>> Maybe something like this happen in your example
>>
>> Bruno
>>
>>
>>
>>
>> On Wed, Jun 18, 2014 at 3:52 PM, Pascal DANEK <pdanek at kds.com> wrote:
>> Hi Bruno,
>>
>> I updated my version of Graphhopper, updated your code and it now works as expected for Edimbourg and many others, anyway the algorithm.
>>
>> However, it still fails for some.
>>
>> For example: http://www.graphhopper.com/maps/?point=55.862711%2C-4.432372&point=55.864237%2C-4.251806&locale=fr-fr
>>
>> It looks like the parking, which is only accessible in one way has not been removed. Any idea why ?
>>
>> —pascal
>>
>> Le 18 juin 2014 à 10:58, Bruno Carle <bruno.carle at gmail.com> a écrit :
>>
>>> Hi again Pascal,
>>> Please try with astar/astarbi algorithms, as I have not tested with others.
>>> Bruno
>>>
>>>
>>> On Wed, Jun 18, 2014 at 10:17 AM, Bruno Carle <bruno.carle at gmail.com> wrote:
>>> Hi Pascal,
>>> I downloaded great-britain-latest.osm.pbf from geofabrik and tried your Edinburg example and it works fine for me.
>>> Do you have more than one encoder? If yes please check that the directionBitMask are correct.
>>> Otherwise I can not think right now of something else...
>>> Cheers
>>> Bruno
>>>
>>>
>>> On Tue, Jun 17, 2014 at 11:27 PM, Pascal DANEK <pdanek at kds.com> wrote:
>>> Hi Bruno and thanks a lot for sharing,
>>>
>>> However it does not work as expected on my side. I can see all logs saying it removes nodes, but it still not works. For example:
>>>
>>> http://graphhopper.com/maps/?point=55.948091%2C-3.36423&point=55.953252%2C-3.188267
>>>
>>> I guess the Edimbourg drop-off should be removed…
>>>
>>> or: http://graphhopper.com/maps/?point=nice&point=saint%20paul%20de%20vence
>>>
>>> Does it work for you ?
>>>
>>> —pascal
>>>
>>> Le 17 juin 2014 à 16:32, Bruno Carle <bruno.carle at gmail.com> a écrit :
>>>
>>>> Hi,
>>>> I just wrote a small class that fixes this kind of issues. Basically it looks for nodes where there is a way in but not out (and vice-versa), and disable all edges around the node. It seems to work fine so far. I Think islands will not be a problem but I have not tested it since I don't have any islands on the area I am working on.
>>>>
>>>> For cases when there is no way out but there is a way in, I believe most likely it is a problem on the map.
>>>> For cases when there is no way in but a way out , I believe the map is correct: e.g. http://www.openstreetmap.org/way/27565747, and hence this should be addressed in GH.
>>>>
>>>> This is how to call it: (if you have multiple encoders you ll need a way to retrieve the encoder's directionBitMask)
>>>>
>>>> @Override
>>>> public GraphHopper importOrLoad(){
>>>> super.importOrLoad();
>>>> FixOneWayDeadEnds.fixAllOneWayDeadEnds(this.getGraph(),getEncodingManager().getSingle(),3l);
>>>> return this;
>>>> }
>>>>
>>>>
>>>> Cheers
>>>> Bruno
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Mon, Jun 16, 2014 at 9:52 PM, graphhopper <graphhopper at gmx.de> wrote:
>>>> Yeah this is a frequent requested feature but not hard to implement:
>>>> http://graphhopper-read-only-archive.1087335.n5.nabble.com/Issues-detecting-driving-paths-along-one-way-streets-td1002.html#a1003
>>>>
>>>> But this would mean hiding the real OSM issues ...
>>>>
>>>> Regards,
>>>> Peter.
>>>>
>>>>> Hi Peter,
>>>>>
>>>>> We played with the settings (minNetworkSize and highResolution) and it solved a certain class of problems. However, most of the requests still fail. After deeper investigation, we discovered it is due to one of the two points using a way which is a oneway, leading to a subnetwork from which you can’t return. It occurs in many airports or within private areas.
>>>>>
>>>>> I think it is a bug in data, but despite of this, I believe Graphhopper should manage that properly in order to make it really useable. (osrm has the same issue). I mean, we have thousands of requests which fail.
>>>>>
>>>>> What we did for now: We implemented in the web service an option specifying that the service, in case of a “not found”, move start or destination point (alternatively) within a certain distance, until it finds a route. This actually solve the problem by making the routing service using a routable way. Are you interested by this patch ?
>>>>>
>>>>> Of course, it is only a workaround, maybe not suitable for a long term solution. We think that a correct way to fix this would be to clean the graph, at the prepare stage, removing nodes after a one way if they are less than N. What do you think about this ?
>>>>>
>>>>> —pascal
>>>>>
>>>>> Le 2 juin 2014 à 10:48, Peter K <peathal at yahoo.de> a écrit :
>>>>>
>>>>>> Hey Pascal,
>>>>>>
>>>>>> there are cases with oneway where it wouldn't be logical to return a route. Still there are workarounds like described here:
>>>>>> https://lists.openstreetmap.org/pipermail/graphhopper/2014-May/000960.html
>>>>>>
>>>>>> But in your case it is a mapping problem with the incorrect oneway somewhere here:
>>>>>> http://graphhopper.com/maps/?point=43.697867%2C7.121721&point=43.69784%2C7.121657
>>>>>>
>>>>>> which makes the whole district in the south unavailable.
>>>>>>
>>>>>> Regards,
>>>>>> Peter.
>>>>>>
>>>>>>
>>>>>>> Hello folks,
>>>>>>>
>>>>>>> I am Pascal and I currently evaluate Graphhopper as an alternative routing service for my company.
>>>>>>>
>>>>>>> We are currently facing an issue with an itinerary: from “Nice" to “St Paul de vence”, we just get a “not found” response from GH.
>>>>>>>
>>>>>>> I tested the official online instance and I get the same behaviour:
>>>>>>> http://graphhopper.com/maps/?point=nice%20&point=saint%20paul%20de%20vence
>>>>>>>
>>>>>>> Whereas the opposite works fine:
>>>>>>> http://graphhopper.com/maps/?point=saint%20paul%20de%20vence&point=nice
>>>>>>>
>>>>>>> Is it a bug related to some kind of one way direction ?
>>>>>>>
>>>>>>> Should I submit a bug, or do I miss something ?
>>>>>>>
>>>>>>> Thanks in advance for your help,
>>>>>>>
>>>>>>> —pascal
>
>
> _______________________________________________
> GraphHopper mailing list
> 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/20140626/c142a283/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: screenshot.png
Type: image/png
Size: 281861 bytes
Desc: not available
URL: <http://lists.openstreetmap.org/pipermail/graphhopper/attachments/20140626/c142a283/attachment.png>
More information about the GraphHopper
mailing list