[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