pgr_chinesePostman - Experimental - pgRouting Manual (3.2)
pgr_chinesePostman - Experimental
   
    
     pgr_chinesePostman
    
   
   - Calculates the shortest circuit path which contains
every edge in a directed graph and starts and ends on the same vertex.
  
Warning
Possible server crash
- 
     
These functions might create a server crash
 
Warning
Experimental functions
- 
     
They are not officially of the current release.
 - 
     
They likely will not be officially be part of the next release:
- 
       
The functions might not make use of ANY-INTEGER and ANY-NUMERICAL
 - 
       
Name might change.
 - 
       
Signature might change.
 - 
       
Functionality might change.
 - 
       
pgTap tests might be missing.
 - 
       
Might need c/c++ coding.
 - 
       
May lack documentation.
 - 
       
Documentation if any might need to be rewritten.
 - 
       
Documentation examples might need to be automatically generated.
 - 
       
Might need a lot of feedback from the comunity.
 - 
       
Might depend on a proposed function of pgRouting
 - 
       
Might depend on a deprecated function of pgRouting
 
 - 
       
 
Availability
- 
    
Version 3.0.0
- 
      
New experimental function
 
 - 
      
 
Description
The main characteristics are:
- 
     
Process is done only on edges with positive costs.
 - 
     
Running time: \(O(E * (E + V * logV))\)
 - 
     
Graph must be connected.
 
- 
     
Returns
EMPTY SETon a disconnected graph 
Signatures
pgr_chinesePostman(edges_sql)
RETURNS SET OF (seq, node, edge, cost, agg_cost)
OR EMPTY SET
    - Example :
 - 
     
 
SELECT * FROM pgr_chinesePostman(
    'SELECT id,
     source, target,
     cost, reverse_cost FROM edge_table where id < 17'
);
 seq  node  edge  cost  agg_cost
-----+------+------+------+----------
   1     1     1     1         0
   2     2     4     1         1
   3     5     4     1         2
   4     2     4     1         3
   5     5     7     1         4
   6     8     6     1         5
   7     7     6     1         6
   8     8     7     1         7
   9     5     8     1         8
  10     6     8     1         9
  11     5    10     1        10
  12    10    10     1        11
  13     5    10     1        12
  14    10    14     1        13
  15    13    14     1        14
  16    10    12     1        15
  17    11    13     1        16
  18    12    15     1        17
  19     9     9     1        18
  20     6     9     1        19
  21     9    15     1        20
  22    12    15     1        21
  23     9    16     1        22
  24     4     3     1        23
  25     3     5     1        24
  26     6    11     1        25
  27    11    13     1        26
  28    12    15     1        27
  29     9    16     1        28
  30     4    16     1        29
  31     9    16     1        30
  32     4     3     1        31
  33     3     2     1        32
  34     2     1     1        33
  35     1    -1     0        34
(35 rows)
    Parameters
| 
        Column  | 
      
        Type  | 
      
        Default  | 
      
        Description  | 
     
|---|---|---|---|
| 
        edges_sql  | 
      
        
          | 
      
        The edges SQL query as described in Inner query .  | 
     
Inner query
An Edges SQL that represents a directed graph with the following columns
| 
        Column  | 
      
        Type  | 
      
        Default  | 
      
        Description  | 
     
|---|---|---|---|
| 
        id  | 
      
        
          | 
      
        Identifier of the edge.  | 
     |
| 
        source  | 
      
        
          | 
      
        Identifier of the first end point vertex of the edge.  | 
     |
| 
        target  | 
      
        
          | 
      
        Identifier of the second end point vertex of the edge.  | 
     |
| 
        cost  | 
      
        
          | 
      
        Weight of the edge (source, target) 
  | 
     |
| 
        reverse_cost  | 
      
        
          | 
      
        -1  | 
      
        Weight of the edge (target, source) , 
  | 
     
Where:
- ANY-INTEGER :
 - 
     
SMALLINT, INTEGER, BIGINT
 - ANY-NUMERICAL :
 - 
     
SMALLINT, INTEGER, BIGINT, REAL, FLOAT
 
Result Columns
    Returns set of
    
     
      (seq,
     
     
      node,
     
     
      edge,
     
     
      cost,
     
     
      agg_cost)
     
    
   
| 
        Column  | 
      
        Type  | 
      
        Description  | 
     
|---|---|---|
| 
        seq  | 
      
        
          | 
      
        Sequential value starting from 1 .  | 
     
| 
        node  | 
      
        
          | 
      
        
        Identifier of the node in the path from
          | 
     
| 
        edge  | 
      
        
          | 
      
        
        Identifier of the edge used to go from
          | 
     
| 
        cost  | 
      
        
          | 
      
        
        Cost to traverse from
          | 
     
| 
        agg_cost  | 
      
        
          | 
      
        
        Aggregate cost from
          | 
     
See Also
Indices and tables