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

Este método realizará las siguientes tareas:

  • Crea los índices sobre los campos source y target, ya que pgrouting utiliza dichos campos de forma intensiva en sus cálculos de rutas. También crea índices en los campos de geometría (geom) e identificador (gid) en el caso de que no existan.
  • Rellena los campos source y target con la numeración de los nodos inicial y final de cada tramo. Esta numeración la obtiene mediante comparación de los vértices inicial y final de las geometrías.
  • Crea una nueva tabla “<nombrecapaejes>_vertices_pgr” (wr_vertices_pgr) que pg_routing utilizará pg_routing para almacenar cierta información útil sobre los nodos para sus algoritmos. Esta tabla es para uso interno de pgrouting y no se debe de editar manualmente.

Este método además tiene dos argumentos más que no hemos utilizado: row_where (para aplicar un filtrado a la tabla de ejes inicial, wr en este caso) y clean (que tomará el valor true si deseamos que borre la topología existente).

La figura inferior muestra el resultado de la capa después del cálculo de los nodos. Los números en negrita representan los gid de los tramos (capa wr) mientras que los números más pequeños muestran los identificadores de los nodos de la capa wr_vertices_pgr (números coincidentes con los campos source y target de wr)). Las flechas indican la dirección desde el nodo inicial al nodo final de cada tramo:

Si realiza el ejemplo en su computadora puede ser que la numeración de los nodos sea diferente a la mostrada en la figura inferior.

routing1Topología de red

Grafos directos, indirectos y costes

La dirección de un tramo se define como la dirección para atravesar dicho tramo desde el nodo inicial al nodo final (A->B). Una red o grafo se puede clasificar por: