Quiero crear una red enrutable. Para ello, he descargado los datos de OSM y he creado una topología con pgr_createTopology()
( http://docs.pgrouting.org/2.0/en/src/common/doc/functions/create_topology.html ). Sin embargo, me pregunto: ¿Cómo añadiría la información del flujo de dirección a las calles? De alguna manera debo decir pg_routing
que una calle de este vértice a otro es de sentido único. Conozco estas fuentes: http://www.webrian.ch/2011/07/set-up-pgrouting-with-openstreetmap.html http://pgrouting.org/docs/howto/oneway.html pero no dice cómo y en qué dirección fluye el tráfico.
Respuesta
¿Demasiados anuncios?En pgRouting la dirección es siempre de source
a target
.
Cuando ejecute pgr_createTopology()
entonces source
es el punto inicial de su geometría lineal y target
es el punto final.
Si desea modelar calles de sentido único, hágalo utilizando costes. Existe la cost
para los gastos de desplazamiento desde source
a target
y el reverse_cost
para la dirección opuesta.
Cuando el cost
(o reverse_cost
) es negativo (por ejemplo -1
), esta dirección no se tendrá en cuenta y se excluirá del gráfico. Así, para una calle de sentido único se asigna -1
para la cost
o reverse_cost
de su borde, dependiendo de la dirección de la restricción.