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
|
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
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¶
- pgr_alphaShape - cómputo de forma alfa
- pgr_pointsAsPolygon - Polígono alrededor del conjunto de puntos