[pgrouting-dev] Driving Distance Help
Stephen Woodbridge
woodbri at swoodbridge.com
Sun Feb 19 20:10:24 EST 2012
On 2/19/2012 7:20 PM, Steve Horn wrote:
> Steve,
> I've been working with the driving_distance function in pgRouting, and
> as far as I can tell it is one contour at a time.
Yeah, digging through the code that was my conclusion also.
> A possible way to improve the function is to make the result set a
> little more useful. If I was able to follow a path from the centerpoint
> to the extent of the contour via a tree structure I would be able to
> create one contour for a maximum radius, then on the client derive
> countours for less time.
I have done some work on this for some projects that I have worked on,
but it is all outside pgRouting and the database. I have a modified
drivingdistance function somewhere that does the following.
> The tuple returned could be something like:
> vertex_id, parent_vertex_id, cost
I used this when I was trying to develop a map matching algorithm. For
driving distance I give it a max cutoff and a slice then get all the
points for the max cutoff and compute all the contours at once. If you
take the x,y of the node and z=cost, you can build a 3D triangulated
surface and slice it into multiple contours.
> Another improvement to the function would be to return an extra edge
> past the max cost (or make that an option). I think currently the
> algorithm will not return any edges that put the total cost past the
> input cost parameter. My thought is I could take the extra edge and then
> interpolate the point on the line that meets my cost exactly (or, even
> better - have the algorithm compute this).
Agreed, I did this in my version of the code. If I get some time or a
contract to support it, I want to clean up what I have done outside of
pgRouting and move it into pgRouting.
The problem is the coding up cool little algorithms is the 10% of the
work that is fun and it takes 90% more effort to clean up the code,
check it in, write documentation, etc.
We really need to get a developer that is interested in pulling together
a release and helping to build out our testing and release tools.
Thanks,
-Steve
> On Sun, Feb 19, 2012 at 3:01 PM, Stephen Woodbridge
> <woodbri at swoodbridge.com <mailto:woodbri at swoodbridge.com>> wrote:
>
> Hi all,
>
> Since I wrote my own driving distance code years ago and have been
> happy with it, I have just now looked into how the pgRouting code works.
>
> Does this code return multiple contours in a single request? How?
>
> It looks like this code can only return a single contour for a
> single request. This means if I want say contours for 5, 10, 15
> minutes that I have to make 3 requests which means fetching the
> data, building the graph and creating the contours all have to be
> processed 3 times. It seem that it would make more sense to setup
> the problem once and compute all the contours at once and return 3
> results.
>
> Thoughts?
>
> -Steve
> ______________________________ _________________
> pgrouting-dev mailing list
> pgrouting-dev at lists.osgeo.org <mailto:pgrouting-dev at lists.osgeo.org>
> http://lists.osgeo.org/ mailman/listinfo/pgrouting-dev
> <http://lists.osgeo.org/mailman/listinfo/pgrouting-dev>
>
>
>
>
> --
> Steve Horn
> http://www.stevehorn.cc
> steve at stevehorn.cc
> http://twitter.com/stevehorn
> 740-503-2300
>
>
>
> _______________________________________________
> pgrouting-dev mailing list
> pgrouting-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/pgrouting-dev
More information about the pgrouting-dev
mailing list