Rutas en PostGIS con la nueva versión de Pgrouting (parte 3/4): osm2pgrouting

Campos calculados por osm2pgrouting

Tras la importación, osm2pgrouting habrá añadido algunos campos a la tabla ways especiales para pgrouting. Los más importantes son:

source, target: Identificadores de nodos de los tramos calculados por osm2pgrouting.

x1, y1, x2, y2: Contienen las coordenadas de los nodos. Estos campos son útiles para los métodos heurísticos de pgrouting como pgr_astar que necesita las coordenadas de los vértices. Son coordenadas geográficas en WGS84

length_m: Este campo contiene la distancia verdadera del tramo en metros. Los datos OSM vienen en coordenadas geográficas en WGS84, este campo representa la longitud del tramo sobre el esferoide en metros y es el que utilizaremos para los cálculos de coste

one_way: Este campo no se necesita directamente en pgrouting pero a partir de él se puede calcular si el tramo tiene una o dos direcciones.

  • Si vale 1 quiere decir que solo tiene una dirección y ésta es en el sentido del nodo source al nodo target. Por lo tanto, el valor del campo reverse_cost deberá ser negativo para anular la dirección target->source y el campo cost contendrá el coste para la dirección source->target.
  • Si vale -1 quiere decir que solo tiene una dirección pero ésta es en el sentido del nodo target al nodo source. Tendremos la situación contraria, es decir, cost deberá ser negativo y reverse_cost contener el coste normal.
  • Si su valor es distinto a 1 o -1 entonces el campo cost y el campo reverse_cost tendrán un valor positivo de coste que posiblemente será el mismo.

Para conocer exactamente los detalles del campo one_way y otros relacionados con rutas de cartografía de OSM consultad la wiki de OSM “OSM tags for routing[1] y [2]

cost_s y reverse_cost_s: coste en segundos. En función de los campos de velocidad del tramo (maxspeed_forward y maxspeed_backward) y el campo one_way, pgrouting calcula los costes en segundos necesarios para recorrer dicho tramo.