pgRouting Manual (2.0.0)

pgr_drivingDistance

«  Con la Distancia de Manejo habilitado   ::   Contents   ::   pgr_alphaShape  »


pgr_drivingDistance

Nombre

pgr_drivingDistance - Devuelve la distancia de manejo desde un nodo de inicio.

Nota

Requiere to build pgRouting con apoyo para Distancia de manejo.

Sinopsis

Esta función calcula una solución de ruta más corta de Dijkstra, extrae el costo para llegar a cada nodo en la red desde el nodo de inicio. Mediante estos nodos y costos es posible calcular polígonos de tiempo constante de manejo . Devuelve un conjunto de registros pgr_costResult (seq, id1, id2, coste) que integran una lista de puntos de acceso.

pgr_costResult[] pgr_drivingDistance(text sql, integer source, double precision distance,
                              boolean directed, boolean has_rcost);

Descripción

sql:

Consulta SQL que debe proporcionar un conjunto de registros con los siguientes campos:

SELECT id, source, target, cost [,reverse_cost] FROM edge_table
id:int4 Identificador del borde
source:int4 Identificador del vértice inicial del borde
target:int4 Identificador del vértice final del borde
cost:float8 Costo del recorrido sobre el borde. Un costo negativo evitará que el borde sea insertado en el gráfico.
reverse_cost:(opcional) El costo para el recorrido inverso del borde. Esto sólo se utiliza cuando los parámetros directed y has_rcost son True (ver el comentario anterior sobre los costos negativos).
source:

int4 Identificador del punto de partida

distance:

float8 valor en unidades del costo del borde (no en unidades de proyección - pueden ser diferentes).

directed:

true Si la gráfica es direccionada

has_rcost:

Si es True, el campo reverse_cost del conjunto de registros generados se utilizan para el calcular el costo de la travesía del borde en la dirección opuesta.

Devuelve un conjunto del tipo de datos pgr_costResult[]:

seq:Secuencia de registros
id1:Identificador del nodo visitado
id2:Identificador del borde (esto probablemente no es un elemento útil)
cost:Costo para llegar al identificador de nodo

Advertencia

Usted debe reconectarse a la base de datos después de CREATE EXTENSION pgRouting . De lo contrario la función arrojara el error Error computing path: std::bad_alloc.

Historia

  • Renombrado en la versión 2.0.0

Ejemplos

  • Sin reverse_cost
SELECT seq, id1 AS node, cost
        FROM pgr_drivingDistance(
                'SELECT id, source, target, cost FROM edge_table',
                7, 1.5, false, false
        );

 seq | node | cost
-----+------+------
   0 |    2 |    1
   1 |    6 |    1
   2 |    7 |    0
   3 |    8 |    1
   4 |   10 |    1
(5 rows)
  • Con reverse_cost
SELECT seq, id1 AS node, cost
        FROM pgr_drivingDistance(
                'SELECT id, source, target, cost, reverse_cost FROM edge_table',
                7, 1.5, true, true
        );

 seq | node | cost
-----+------+------
   0 |    2 |    1
   1 |    6 |    1
   2 |    7 |    0
   3 |    8 |    1
   4 |   10 |    1
(5 rows)

La consulta usa la red de ejemplo Datos Muestra

Véase también

«  Con la Distancia de Manejo habilitado   ::   Contents   ::   pgr_alphaShape  »