[Routing] Gosmore routing server

Lambertus osm at na1400.info
Wed May 28 17:58:45 BST 2008


>> A few questions popped up while trying some routes:
>> - Can Gosmore be used as a cgi-bin namefinder? If so, how?
>
> I can implement if you can give me an example of how it is better than
> Dave Earl's http://gazetteer.openstreetmap.org
>
Well someone told me that the Gosmore UI contains such a namefinder, hence 
my thought that it might not be too difficult to allow it to be used in 
CGI-BIN mode as well. But I guess using the Gazetteer will work as well so 
I'll go that route first.

>> - Relatively often Gosmore is not able to find a route while looking at
>> the OSM data does not reveal any obvious problems. It would be
>
> There is a bug in SVN : Gosmore will start and end at the nearest
> segment to the start and end points respectively, even if that segment
> is an administrative boundary. Here is a patch :
> --- gosmoreBadRoute.cpp 2008-05-25 17:50:52.000000000 +0200
> +++ gosmore.cpp 2008-05-28 13:41:56.000000000 +0200
> @@ -392,6 +392,7 @@
>       // We don't do for (int dir = 0; dir < 1; dir++) {
>       // because if our search box is large enough, it will also give us
>       // the other node.
> +      if (!(((wayType*)(data + itr.nd[0]->wayPtr))->bits & (1<<car))) 
> continue;
>       if (itr.nd[0]->other[0] < 0) continue;
>       __int64 lon0 = lon - itr.nd[0]->lon, lat0 = lat - itr.nd[0]->lat,
>               lon1 = lon - (ndBase + itr.nd[0]->other[0])->lon,
>
>
I downloaded and built a new version from svn, rather then applying the 
patch.

>> interesting in such circumstances to be able to somehow 'debug' this.
>
> The easiest would be to return the "most promising" incomplete route.
> Then it will start with jump. I'll code it later today.
>
That would be great. Baie dankie!

>> - In one instance Gosmore ran for more than 30 minutes to calculate a
>> route (which is an exception) so it would be nice for the routing server
>> to be able to set some sort of maximum run time for Gosmore.
>
> Gosmore limits the amount of nodes (and therefore time) it will spend
> according to the direct distance.
>
> You can try to impose an additional limit on it with 'ulimit -t'
> command. If that doesn't work I'll write some more code.
>
Ok, I've added the 'ulimit -t' command to the commandline. I guess that will 
work just fine. 






More information about the Routing mailing list