[pgrouting-users] Multiple Turn Restrictions?
Anton Patrushev
anton at orkney.co.jp
Mon Aug 18 23:47:09 EDT 2008
Steven,
Thanks for wiki improvements!
You're right, we have to think about better way of specifying multiple
restrictions - sometimes it is impossible to have non-unique gid
values.
Please open a ticket for this.
Anton.
On Tue, Aug 19, 2008 at 1:29 PM, Stephen Woodbridge
<woodbri at swoodbridge.com> wrote:
> 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