[pgrouting-dev] Returning the correct edge id from boost_dijkstra_* functions

Anton Patrushev anton.patrushev at georepublic.de
Fri Jul 1 01:42:04 EDT 2011


Hi Steve,

Looks great to me!

Actually it looks like we don't need path_element.edge_id anymore or
we can replace it with your path_element.parent_id:

p = vertex(predecessors[*vi], graph);
pe.edge_id = graph[p].id;

Actually edge_id doesn't have much sense, we added it to unify outputs.

Great job! Thank you!

Anton.

On 7/1/11, Daniel Kastl <daniel at georepublic.de> wrote:
> Hi Steve,
>
> Thank you! But I also rely on Anton's skills here.
> Not to get lost in the mailing list archive, I copied the code and links to
> this Wiki page:
> https://github.com/pgRouting/pgrouting/wiki/Revision-of-return-results
>
> It's part of the 2.0 plan. If you have more ideas or request, feel free to
> add them there:
> https://github.com/pgRouting/pgrouting/wiki/2.0-Development-Plan
>
> Daniel
>
>
> 2011/7/1 Stephen Woodbridge <woodbri at swoodbridge.com>
>
>> Anton, Daniel,
>>
>> I have been fighting with the dijkstra results because we do not return
>> things like the parent id of a path and we definitely do not return the
>> correct edge ids.
>>
>> So with some help from the boost users list and banging my head against
>> the
>> C++ wall, being only a C programmer :), I have some code that works for
>> me.
>>
>> http://pastebin.com/qa1caiXs
>>
>> In dijkstra.h I also have defined the following structs:
>>
>> typedef struct edge
>> {
>>    int id;
>>    int source;
>>    int target;
>>    float8 cost;
>>    float8 rcost;
>> } edge_t;
>>
>> typedef struct path_element
>> {
>>    int vertex_id;
>>    int parent_id;
>>    int edge_id;
>>    float8 cost;
>> } path_element_t;
>>
>> You should be able to copy the appropriate parts of this file and update
>> the driving distance code and the low level dijkstra code to return more
>> correct and useful results. I'm using this code outside of the postgresql
>> server, but it should not require any significant changes. Since I'm not
>> developing code in the database, I will leave that as an exercise for you
>> guys to work out and test.
>>
>> Thanks,
>>  -Steve
>> ______________________________**_________________
>> pgrouting-dev mailing list
>> pgrouting-dev at lists.osgeo.org
>> http://lists.osgeo.org/**mailman/listinfo/pgrouting-dev<http://lists.osgeo.org/mailman/listinfo/pgrouting-dev>
>>
>
>
>
> --
> Georepublic UG & Georepublic Japan
> eMail: daniel.kastl at georepublic.de
> Web: http://georepublic.de
>


-- 
Georepublic UG (haftungsbeschränkt)
Salzmannstraße 44,
81739 München, Germany

Anton Patrushev
CTO

eMail: anton.patrushev at georepublic.de
Web: http://georepublic.de

Tel: +49 (089) 420 959 519
Sip: 1959519 at sipgate.de

Commercial register: Amtsgericht München, HRB 181428
CEO: Daniel Kastl


More information about the pgrouting-dev mailing list