[pgrouting-users] Shooting star problem
Espen Isaksen
espen.isaksen at gmail.com
Mon Dec 20 05:23:56 EST 2010
On Mon, Dec 20, 2010 at 11:11 AM, Daniel Kastl <daniel at georepublic.de> wrote:
> Hi Espen,
> Your projection unit is "meter", I guess. So if you decrease your bounding
> box to 10, then, there are no other edges in your select than the two you
> want to get as a result.
Yes that is understandable. Just hoped it would not jump to a
different "shortest path" when I increased the bounding box :-)
> But thank you for trying this, because it shows, that your result passes one
> link twice. Could you find out, if the cost of passing edge 157333 twice
> would be higher than taking the "long" way?
The cost of 15733 is 104.8033 so passing twice would be 209.6066 and
the cost of going around is 229.675.
If I rearrange the query and do not use the wrapper function I get this result:
routing=# SELECT * FROM shortest_path_shooting_star('SELECT gid as id,
source, target, cost, reverse_cost,x1, y1,x2, y2, rule, to_cost FROM
elveg order by id',157333,157332,true,true);
vertex_id | edge_id | cost
-----------+---------+------------------
269628 | 157333 | 104.8033
269630 | 159163 | 62.3978
266068 | 155337 | 75.4899
256213 | 155336 | 29.7317
266065 | 158776 | 62.0563
269628 | 157332 | 61.7253486704361
(6 rows)
Espen
> Then the search result would be correct, but of course trying to pass one
> edge twice wouldn't be OK.
> Thank you for reporting this!
> Daniel
>
> 2010/12/20 Espen Isaksen <espen.isaksen at gmail.com>
>>
>> Hi!
>>
>> I am running the following query:
>>
>> SELECT gid
>> FROM shootingstar_sp('elveg',157332,157333,100, 'cost', true, true);
>>
>> and I get:
>>
>> gid
>> --------
>> 157332
>> 157333
>> (2 rows)
>>
>>
>> which seems correct. Now if i flip the direction with the this query:
>>
>> SELECT gid
>> FROM shootingstar_sp('elveg',157333,157332,100, 'cost', true, true)
>>
>> then I get:
>>
>> gid
>> --------
>> 157333
>> 159163
>> 155337
>> 155336
>> 158776
>> 157332
>> (6 rows)
>>
>> which is not correct. There should not be any extra costs on the edges:
>>
>> gid | cost | reverse_cost | to_cost | rule
>> --------+------------------+------------------+---------+------
>> 157332 | 61.7253486704361 | 61.7253486704361 | |
>> 157333 | 104.8033 | 104.8033 | |
>> (2 rows)
>>
>>
>> >From my understanding I should get 2 rows in both queries. Am I
>> missing something here?
>>
>> If I decrease the bounding box in the second query to 10, then I get
>> this result:
>>
>> gid
>> --------
>> 157333
>> 157333
>> 157332
>> (3 rows)
>>
>> I thought I should get the same result for a larger bounding box as
>> long as the shortest path(least cost) is within the smallest bounding
>> box?
>>
>> Image of the road network can be seen here:
>> http://dl.dropbox.com/u/8829/road_network.png
>>
>> Espen
>> _______________________________________________
>> Pgrouting-users mailing list
>> Pgrouting-users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/pgrouting-users
>
>
>
> --
> Georepublic UG & Georepublic Japan
> eMail: daniel.kastl at georepublic.de
> Web: http://georepublic.de
>
> _______________________________________________
> Pgrouting-users mailing list
> Pgrouting-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/pgrouting-users
>
>
More information about the Pgrouting-users
mailing list