[pgrouting-users] Multiple Turn Restrictions?
Stephen Woodbridge
woodbri at swoodbridge.com
Tue Aug 19 00:29:11 EDT 2008
Hi Anton,
Thank you for your responses and enlightenment. I have updated two wiki
pages to include some of this additional explanation. When you have a
chance could you check and make sure I stated thinks correctly and
completely.
Added some info on Graphs, Directed, Undirected, and reverse costs.
http://pgrouting.postlbs.org/wiki/TopologyCreation
Added info on multiple turn restrictions:
http://pgrouting.postlbs.org/wiki/ShootingStar
It seems, like it would be better to add some additional parsing and
syntax to the rule column to support multiple restriction, rather than
adding multiple rows. For example, rule could be:
rule 1 rule 2 rule N
-------------- -------------- ...
<edge>[,<edge>][;<edge>[,<edge>]]*
this would allow any of the following rows
4
14,4
4;12
14,4;12
etc
Anyway, it is a thought for an improvement. I can open a ticket if you like.
Best regards,
-Steve
Anton Patrushev wrote:
> You just need to add one more row for that edge.
> Like this:
>
> gid | source | target | cost | x1 | y1 | x2 | y2 | to_cost | rule
> -----+--------+--------+------+----+----+----+----+---------+------
> 11 | 3 | 10 | 2 | 4 | 3 | 4 | 5 | 1000 | 4
> 11 | 3 | 10 | 2 | 4 | 3 | 4 | 5 | 1000 | 12
>
> And then you always need to order your data by gid when you load it to
> a shortest path function..
>
> Anton.
>
> On Mon, Aug 18, 2008 at 11:06 PM, Stephen Woodbridge
> <woodbri at swoodbridge.com> wrote:
>> Anton,
>>
>> Ok, that makes sense, but I still do not see how to specify multiple
>> restrictions for a single edge. For example in the graph below how to I
>> specify the cost of going from either edge EB(4) or CB(12) to edge DB(11) is
>> 1000. Both of these turns should be disallowed.
>>
>> -Steve
>>
>> PS: Sorry looks like the list is still broken regardless of what email I
>> send it to.
>>
>>
>> Anton Patrushev wrote:
>>> Steve,
>>>
>>> Here is the table for your case:
>>>
>>> Edge | Source | Target | Cost | to_cost | rule
>>> AB | A | B | 1 | 1000 | EB
>>> BC | B | C | 1 | 1000 | DB
>>> EB | E | B | 2 | 1000 | BC
>>>
>>> and nothing more.
>>>
>>>> gid | source | target | cost | x1 | y1 | x2 | y2 | to_cost | rule
>>>> -----+--------+--------+------+----+----+----+----+---------+------
>>>> 12 | 3 | 10 | 2 | 4 | 3 | 4 | 5 | 1000 | 14, 4
>>> This means completely different things.
>>> For example, you have a graph like this:
>>>
>>> C
>>> |
>>> |
>>> A-------B--------E--------F
>>> | |
>>> | |
>>> D |
>>> G
>>>
>>> where edge ids are:
>>> AB: 10
>>> BC: 12
>>> BD: 11
>>> BE: 4
>>> EF: 2
>>> EG: 14
>>>
>>> So, the restriction we have describes a way 14->4->12 (G->E->B->C)
>>> which is restricted (has cost 1000).
>>>
>>> Anton.
>>> _______________________________________________
>>> Pgrouting-users mailing list
>>> Pgrouting-users at lists.postlbs.org
>>> http://lists.postlbs.org/mailman/listinfo/pgrouting-users
>>
> _______________________________________________
> Pgrouting-users mailing list
> Pgrouting-users at lists.postlbs.org
> http://lists.postlbs.org/mailman/listinfo/pgrouting-users
More information about the Pgrouting-users
mailing list