pgr_lineGraph
— Transforma un grafo dado en su grafo correspondiente basado en aristas.
Advertencia
Posible bloqueo del servidor
Advertencia
Funciones experimentales
Disponibilidad
Soporte
Dado un grafo G, su grafo de líneas L(G) es un grafo de tal forma que:
Resumen
pgr_lineGraph(edges_sql, directed)
RETURNS SET OF (seq, source, target, cost, reverse_cost)
OR EMPTY SET
Uso de valores predeterminados
pgr_lineGraph(edges_sql)
RETURNS SET OF (seq, source, target, cost, reverse_cost) OR EMPTY SET
Ejemplo: | Para un grafo dirigido |
---|
SELECT * FROM pgr_lineGraph(
'SELECT id, source, target, cost, reverse_cost FROM edge_table'
);
seq | source | target | cost | reverse_cost
-----+--------+--------+------+--------------
1 | -18 | 18 | 1 | 1
2 | -17 | 17 | 1 | 1
3 | -16 | -3 | 1 | -1
4 | -16 | 16 | 1 | 1
5 | -15 | -9 | 1 | 1
6 | -15 | 15 | 1 | 1
7 | -14 | -10 | 1 | 1
8 | -14 | 12 | 1 | -1
9 | -14 | 14 | 1 | 1
10 | -10 | -7 | 1 | 1
11 | -10 | -4 | 1 | 1
12 | -10 | 8 | 1 | 1
13 | -10 | 10 | 1 | 1
14 | -9 | -8 | 1 | 1
15 | -9 | 9 | 1 | 1
16 | -9 | 11 | 1 | -1
17 | -8 | -7 | 1 | 1
18 | -8 | -4 | 1 | 1
19 | -8 | 8 | 1 | 1
20 | -7 | -6 | 1 | 1
21 | -6 | 6 | 1 | 1
22 | -4 | -1 | 1 | 1
23 | -4 | 4 | 1 | 1
24 | -3 | -2 | 1 | -1
25 | -3 | 5 | 1 | -1
26 | -2 | -1 | 1 | -1
27 | -2 | 4 | 1 | -1
28 | -1 | 1 | 1 | 1
29 | 5 | -8 | 1 | -1
30 | 5 | 9 | 1 | -1
31 | 5 | 11 | 1 | -1
32 | 7 | -7 | 1 | 1
33 | 7 | -4 | 1 | 1
34 | 8 | 11 | 1 | -1
35 | 10 | 12 | 1 | -1
36 | 11 | 13 | 1 | -1
37 | 12 | 13 | 1 | -1
38 | 13 | -15 | 1 | -1
39 | 16 | -9 | 1 | 1
40 | 16 | 15 | 1 | 1
(40 rows)
pgr_lineGraph(edges_sql, directed);
RETURNS SET OF (seq, source, target, cost, reverse_cost) OR EMPTY SET
Ejemplo: | Para un grafo no dirigido |
---|
SELECT * FROM pgr_lineGraph(
'SELECT id, source, target, cost, reverse_cost FROM edge_table',
FALSE
);
seq | source | target | cost | reverse_cost
-----+--------+--------+------+--------------
1 | -3 | -2 | 1 | -1
2 | -3 | 5 | 1 | -1
3 | -2 | 4 | 1 | -1
4 | 1 | 4 | 1 | -1
5 | 4 | 8 | 1 | -1
6 | 4 | 10 | 1 | -1
7 | 5 | 9 | 1 | -1
8 | 5 | 11 | 1 | -1
9 | 6 | 7 | 1 | -1
10 | 7 | 8 | 1 | -1
11 | 7 | 10 | 1 | -1
12 | 8 | 9 | 1 | -1
13 | 8 | 11 | 1 | -1
14 | 9 | 15 | 1 | -1
15 | 10 | 12 | 1 | -1
16 | 10 | 14 | 1 | -1
17 | 11 | 13 | 1 | -1
18 | 12 | 13 | 1 | -1
19 | 16 | 15 | 1 | -1
(19 rows)
Columna | Tipo | Descripción |
---|---|---|
edges_sql | TEXT |
Consulta SQL como se describió anteriormente. |
dirigido | BOOLEAN |
|
Columna | Tipo | Valores predeterminados | Descripción |
---|---|---|---|
id | ANY-INTEGER |
Identificador de la arista. | |
origen | ANY-INTEGER |
Identificador del primer punto final en el vértice de la arista. | |
objetivo | ANY-INTEGER |
Identificador del segundo punto final en el vértice de la arista. | |
cost | ANY-NUMERICAL |
Peso de la arista (source, target)
|
|
reverse_cost | ANY-NUMERICAL |
-1 | Peso de la arista (target, source),
|
Donde:
ANY-INTEGER: | SMALLINT, INTEGER, BIGINT |
---|---|
ANY-NUMERICAL: | SMALLINT, INTEGER, BIGINT, REAL, FLOAT |
DEVUELVE UN CONJUNTO DE (seq, origen, destino, coste, invers_coste)
Columna | Tipo | Descripción |
---|---|---|
seq | INTEGER |
Valor secuencial a partir de 1. |
origen | BIGINT |
Identificador del vértice de origen de la arista actual id.
|
objetivo | BIGINT |
Identificador del vértice de destino de la arista actual id.
|
cost | FLOAT |
Peso de la arista (source, target).
|
reverse_cost | FLOAT |
Peso de la arista (target, source).
|
Índices y tablas