Bases de datos · Avanzado
Rutas sobre la base de datos con pgRouting
Caminos mínimos y áreas de servicio dentro de PostGIS para redes grandes.
Por Bernabé Hinojosa · Actualizado el 21/10/2026
pgRouting, del proyecto pgRouting (OSGeo), añade a PostgreSQL y PostGIS funciones de análisis de redes. Es la opción cuando la red es grande o cuando las rutas las tiene que calcular una aplicación.
Preparar la red
- Una tabla de tramos con
id,source,target(nodos de inicio y fin) ycost(longitud o tiempo). Si hay sentidos únicos, añadereverse_cost. - Para obtener los nodos, pgRouting incluye funciones de topología. Sus nombres han cambiado entre versiones, así que consulta la documentación de la tuya.
Funciones más usadas
| Función | Para |
|---|---|
pgr_dijkstra | Camino mínimo entre nodos |
pgr_drivingDistance | Nodos alcanzables dentro de un coste (área de servicio) |
pgr_TSP | Orden óptimo para visitar varios puntos |
Ejemplo de camino mínimo: SELECT * FROM pgr_dijkstra('SELECT id, source, target, cost FROM red', 101, 245, directed := false);
Para redes de calles reales, la red de OpenStreetMap se puede cargar con herramientas como osm2pgrouting.
Sigue leyendo gratis
El resto de esta guía es para miembros de Giseros. Crear la cuenta es gratis y tarda 5 segundos.
Crear cuenta gratis