diff --git a/NEWS.md b/NEWS.md index e3f1171fd69..dc378716eb8 100644 --- a/NEWS.md +++ b/NEWS.md @@ -53,6 +53,10 @@ Summary of changes by function * Output columns standardized to ``(node, color)`` +* pgr_boykovKolmogorov + + * Combinations signature promoted to official. + * pgr_breadthFirstSearch * Standardizing output columns to ``(seq, depth, start_vid, pred, node, edge, cost, agg_cost)`` @@ -83,6 +87,14 @@ Summary of changes by function * Output columns standardized to ``(edge, color)`` +* pgr_edgeDisjointPaths + + * Output columns standardized to ``(seq, path_id, path_seq, start_vid, end_vid, node, edge, cost, agg_cost)`` + +* pgr_edmondsKarp + + * Combinations signature promoted to official. + * pgr_edwardMoore * Output columns standardized to ``(seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost)`` @@ -139,6 +151,10 @@ Summary of changes by function * pgr_trsp_withpoints(text,text,text,bigint,bigint,boolean,character,boolean) * pgr_trsp_withpoints(text,text,text,text,boolean,character,boolean) +* pgr_turnRestrictedPath + + * Output columns standardized to ``(seq, path_id, path_seq, start_vid, end_vid, node, edge, cost, agg_cost)`` + * pgr_withPoints * Function promoted to official. @@ -297,6 +313,13 @@ Standardize output columns of functions with different output columns within ove * [#2931](https://github.com/pgRouting/pgrouting/issues/2931) pgr_depthFirstSearch +**Standardized to ``(seq, path_id, path_seq, start_vid, end_vid, node, edge, cost, agg_cost)``** + +* [#2909](https://github.com/pgRouting/pgrouting/issues/2909) + pgr_edgeDisjointPaths +* [#2909](https://github.com/pgRouting/pgrouting/issues/2909) + pgr_turnRestrictedPaths + Removal of SQL deprecated signatures * [#2798](https://github.com/pgRouting/pgrouting/issues/2798): @@ -481,7 +504,7 @@ Code enhancements **Deprecation of internal C/C++ functions** -Deprecated functions are substitued by new function. +Deprecated functions are substituted by new function. * _pgr_drivingdistance => _pgr_drivingdistancev4 * _pgr_withpointsdd => _pgr_withpointsddv4 diff --git a/doc/categories/drivingDistance-category.rst b/doc/categories/drivingDistance-category.rst index 22e0151e94c..e8b8b88b6f3 100644 --- a/doc/categories/drivingDistance-category.rst +++ b/doc/categories/drivingDistance-category.rst @@ -87,53 +87,9 @@ Edges SQL Result columns ............................................................................... -.. spantree-result-columns-start - -Returns set of |result-spantree| - -.. list-table:: - :width: 81 - :widths: auto - :header-rows: 1 - - * - Parameter - - Type - - Description - * - ``seq`` - - ``BIGINT`` - - Sequential value starting from :math:`1`. - * - ``depth`` - - ``BIGINT`` - - Depth of the ``node``. - - - :math:`0` when ``node`` = ``start_vid``. - - :math:`depth-1` is the depth of ``pred`` - - * - ``start_vid`` - - ``BIGINT`` - - Identifier of the root vertex. - * - ``pred`` - - ``BIGINT`` - - Predecessor of ``node``. - - - When ``node`` = ``start_vid`` then has the value ``node``. - * - ``node`` - - ``BIGINT`` - - Identifier of ``node`` reached using ``edge``. - * - ``edge`` - - ``BIGINT`` - - Identifier of the ``edge`` used to arrive from ``pred`` to ``node``. - - - :math:`-1` when ``node`` = ``start_vid``. - - * - ``cost`` - - ``FLOAT`` - - Cost to traverse ``edge``. - * - ``agg_cost`` - - ``FLOAT`` - - Aggregate cost from ``start_vid`` to ``node``. - -.. spantree-result-columns-end +.. include:: pgRouting-concepts.rst + :start-after: spantree-result-columns-start + :end-before: spantree-result-columns-end See Also ------------------------------------------------------------------------------- diff --git a/doc/conf.py.in b/doc/conf.py.in index 3487e449644..b2b2c2a57a2 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -381,11 +381,6 @@ rst_epilog=""" .. |result-lineg| replace:: ``(seq, source, target, cost, reverse_cost)`` .. |result-flow| replace:: ``(seq, edge, start_vid, end_vid, flow, residual_capacity)`` .. |result-flow-mincost| replace:: ``(seq, edge, source, target, flow, residual_capacity, cost, agg_cost)`` -.. |result-disjoint| replace:: ``(seq, path_id, path_seq, [start_vid,] [end_vid,] node, edge, cost, agg_cost)`` -.. |result-disjoint-1-1| replace:: ``(seq, path_id, path_seq, node, edge, cost, agg_cost)`` -.. |result-disjoint-1-m| replace:: ``(seq, path_id, path_seq, end_vid, node, edge, cost, agg_cost)`` -.. |result-disjoint-m-1| replace:: ``(seq, path_id, path_seq, start_vid, node, edge, cost, agg_cost)`` -.. |result-disjoint-m-m| replace:: ``(seq, path_id, path_seq, start_vid, end_vid, node, edge, cost, agg_cost)`` .. |result-mincut| replace:: ``(seq, edge, cost, mincut)`` .. |result-pickdrop| replace:: ``(seq, vehicle_number, vehicle_id, stop, order_id, stop_type, cargo, travel_time, arrival_time, wait_time, service_time, departure_time)`` .. |boost| image:: images/boost-inside.jpeg diff --git a/doc/ksp/pgr_KSP.rst b/doc/ksp/pgr_KSP.rst index c06a048d6f1..3a132f47f8e 100644 --- a/doc/ksp/pgr_KSP.rst +++ b/doc/ksp/pgr_KSP.rst @@ -273,50 +273,9 @@ Combinations SQL Result columns ------------------------------------------------------------------------------- -.. ksp_returns_start - -Returns set of |nksp-result| - -.. list-table:: - :width: 81 - :widths: auto - :header-rows: 1 - - * - Column - - Type - - Description - * - ``seq`` - - ``INTEGER`` - - Sequential value starting from **1**. - * - ``path_id`` - - ``INTEGER`` - - Path identifier. - - * Has value **1** for the first of a path from ``start_vid`` to - ``end_vid`` - * - ``path_seq`` - - ``INTEGER`` - - Relative position in the path. Has value **1** for the beginning of a - path. - * - ``node`` - - ``BIGINT`` - - Identifier of the node in the path from ``start_vid`` to ``end_vid`` - * - ``edge`` - - ``BIGINT`` - - Identifier of the edge used to go from ``node`` to the next node in the - path sequence. **-1** for the last node of the path. - * - ``cost`` - - ``FLOAT`` - - Cost to traverse from ``node`` using ``edge`` to the next node in the - path sequence. - - * :math:`0` for the last ``node`` of the path. - * - ``agg_cost`` - - ``FLOAT`` - - Aggregate cost from **start vid** to ``node``. - -.. ksp_returns_end - +.. include:: pgRouting-concepts.rst + :start-after: return_path_all_columns_start + :end-before: return_path_all_columns_end Additional Examples ------------------------------------------------------------------------------- diff --git a/doc/max_flow/pgr_boykovKolmogorov.rst b/doc/max_flow/pgr_boykovKolmogorov.rst index 76e875b03df..020aaaba32b 100644 --- a/doc/max_flow/pgr_boykovKolmogorov.rst +++ b/doc/max_flow/pgr_boykovKolmogorov.rst @@ -21,28 +21,28 @@ the flow from the sources to the targets using Boykov Kolmogorov algorithm. .. Rubric:: Availability -* Version 4.0.0 +.. rubric:: Version 4.0.0 - * Combinations signature promoted to official. +* Combinations signature promoted to official. -* Version 3.2.0 +.. rubric:: Version 3.2.0 - * New proposed signature: +* New proposed signature: - * pgr_boykovKolmogorov(Combinations) + * pgr_boykovKolmogorov(Combinations) -* Version 3.0.0 +.. rubric:: Version 3.0.0 - * Function promoted to official. +* Function promoted to official. -* Version 2.5.0 +.. rubric:: Version 2.5.0 - * Renamed from ``pgr_maxFlowBoykovKolmogorov`` - * Function promoted to proposed. +* Renamed from ``pgr_maxFlowBoykovKolmogorov`` +* Function promoted to proposed. -* Version 2.3.0 +.. rubric:: Version 2.3.0 - * New experimental function. +* New experimental function. Description diff --git a/doc/max_flow/pgr_edgeDisjointPaths.rst b/doc/max_flow/pgr_edgeDisjointPaths.rst index 893c63732f1..b930ea81a48 100644 --- a/doc/max_flow/pgr_edgeDisjointPaths.rst +++ b/doc/max_flow/pgr_edgeDisjointPaths.rst @@ -22,23 +22,27 @@ vertices. .. Rubric:: Availability -* Version 3.2.0 +.. rubric:: Version 4.0.0 - * New proposed signature: +* Output columns standardized to |generic-result| - * pgr_edgeDisjointPaths(Combinations) +.. rubric:: Version 3.2.0 -* Version 3.0.0 +* New proposed signature: - * Function promoted to official. + * pgr_edgeDisjointPaths(Combinations) -* Version 2.5.0 +.. rubric:: Version 3.0.0 - * Function promoted to proposed. +* Function promoted to official. -* Version 2.3.0 +.. rubric:: Version 2.5.0 - * New experimental function. +* Function promoted to proposed. + +.. rubric:: Version 2.3.0 + +* New experimental function. Description @@ -69,7 +73,7 @@ Signatures | pgr_edgeDisjointPaths(`Edges SQL`_, **start vids**, **end vids**, [``directed``]) | pgr_edgeDisjointPaths(`Edges SQL`_, `Combinations SQL`_, [``directed``]) - | Returns set of |result-disjoint| + | Returns set of |generic-result| | OR EMPTY SET .. index:: @@ -83,7 +87,7 @@ One to One | pgr_edgeDisjointPaths(`Edges SQL`_, **start vid**, **end vid**, [``directed``]) - | Returns set of |result-disjoint-1-1| + | Returns set of |generic-result| | OR EMPTY SET :Example: From vertex :math:`11` to vertex :math:`12` @@ -103,7 +107,7 @@ One to Many | pgr_edgeDisjointPaths(`Edges SQL`_, **start vid**, **end vids**, [``directed``]) - | Returns set of |result-disjoint-1-m| + | Returns set of |generic-result| | OR EMPTY SET :Example: From vertex :math:`11` to vertices :math:`\{5, 10, 12\}` @@ -124,7 +128,7 @@ Many to One | pgr_edgeDisjointPaths(`Edges SQL`_, **start vids**, **end vid**, [``directed``]) - | Returns set of |result-disjoint-m-1| + | Returns set of |generic-result| | OR EMPTY SET :Example: From vertices :math:`\{11, 3, 17\}` to vertex :math:`12` @@ -144,7 +148,7 @@ Many to Many | pgr_edgeDisjointPaths(`Edges SQL`_, **start vids**, **end vids**, [``directed``]) - | Returns set of |result-disjoint-m-m| + | Returns set of |generic-result| | OR EMPTY SET :Example: From vertices :math:`\{11, 3, 17\}` to vertices :math:`\{5, 10, 12\}` @@ -164,7 +168,7 @@ Combinations | pgr_edgeDisjointPaths(`Edges SQL`_, `Combinations SQL`_, [``directed``]) - | Returns set of |result-disjoint-m-m| + | Returns set of |generic-result| | OR EMPTY SET :Example: Using a combinations table, equivalent to calculating result from @@ -218,8 +222,8 @@ Result columns ------------------------------------------------------------------------------- .. include:: pgRouting-concepts.rst - :start-after: return_path_start - :end-before: return_path_end + :start-after: return_path_all_columns_start + :end-before: return_path_all_columns_end Additional Examples ------------------------------------------------------------------------------- diff --git a/doc/max_flow/pgr_edmondsKarp.rst b/doc/max_flow/pgr_edmondsKarp.rst index e1b5e9e304c..861a7a62407 100644 --- a/doc/max_flow/pgr_edmondsKarp.rst +++ b/doc/max_flow/pgr_edmondsKarp.rst @@ -21,28 +21,28 @@ flow from the sources to the targets using Edmonds Karp Algorithm. .. Rubric:: Availability -* Version 4.0.0 +.. rubric:: Version 4.0.0 - * Combinations signature promoted to official. +* Combinations signature promoted to official. -* Version 3.2.0 +.. rubric:: Version 3.2.0 - * New proposed signature: +* New proposed signature: - * pgr_edmondsKarp(Combinations) + * pgr_edmondsKarp(Combinations) -* Version 3.0.0 +.. rubric:: Version 3.0.0 - * Function promoted to official. +* Function promoted to official. -* Version 2.5.0 +.. rubric:: Version 2.5.0 - * Renamed from ``pgr_maxFlowEdmondsKarp`` - * Function promoted to proposed. +* Renamed from ``pgr_maxFlowEdmondsKarp`` +* Function promoted to proposed. -* Version 2.3.0 +.. rubric:: Version 2.3.0 - * New experimental function. +* New experimental function. Description diff --git a/doc/spanningTree/pgr_primDD.rst b/doc/spanningTree/pgr_primDD.rst index 1cc8866fb7c..827a08d9552 100644 --- a/doc/spanningTree/pgr_primDD.rst +++ b/doc/spanningTree/pgr_primDD.rst @@ -125,7 +125,7 @@ Edges SQL Result columns ------------------------------------------------------------------------------- -.. include:: drivingDistance-category.rst +.. include:: pgRouting-concepts.rst :start-after: spantree-result-columns-start :end-before: spantree-result-columns-end diff --git a/doc/spanningTree/pgr_primDFS.rst b/doc/spanningTree/pgr_primDFS.rst index a0399ef858e..1263359cfc8 100644 --- a/doc/spanningTree/pgr_primDFS.rst +++ b/doc/spanningTree/pgr_primDFS.rst @@ -127,7 +127,7 @@ Edges SQL Result columns ------------------------------------------------------------------------------- -.. include:: drivingDistance-category.rst +.. include:: pgRouting-concepts.rst :start-after: spantree-result-columns-start :end-before: spantree-result-columns-end diff --git a/doc/src/migration.rst b/doc/src/migration.rst index 49d5c55fee2..373242045c6 100644 --- a/doc/src/migration.rst +++ b/doc/src/migration.rst @@ -30,21 +30,29 @@ Results can be different because of the changes. Migration to standardized columns +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -.. |old-generic-result| replace:: ``(seq, path_seq, [start_vid], [end_vid], node, edge, cost, agg_cost)`` .. |old-pid-result| replace:: ``(seq, path_seq, [start_pid], [end_pid], node, edge, cost, agg_cost)`` .. |pid-1-m| replace:: ``(seq, path_seq, end_pid, node, edge, cost, agg_cost)`` .. |pid-m-1| replace:: ``(seq, path_seq, start_pid, node, edge, cost, agg_cost)`` .. |pid-m-m| replace:: ``(seq, path_seq, start_pid, end_pid, node, edge, cost, agg_cost)`` + +.. |old-generic-result| replace:: ``(seq, path_seq, [start_vid], [end_vid], node, edge, cost, agg_cost)`` +.. |result-1-1| replace:: ``(seq, path_seq, node, edge, cost, agg_cost)`` +.. |result-1-m| replace:: ``(seq, path_seq, end_vid, node, edge, cost, agg_cost)`` +.. |result-m-1| replace:: ``(seq, path_seq, start_vid, node, edge, cost, agg_cost)`` + .. |matrix-pid| replace:: ``(start_pid, end_pid, agg_cost)`` .. |old-edge-color| replace:: ``(edge_id, color_id)`` .. |old-node-color| replace:: ``(vertex_id, color_id)`` + .. |result-bfs| replace:: ``(seq, depth, start_vid, node, edge, cost, agg_cost)`` -.. |result-1-1| replace:: ``(seq, path_seq, node, edge, cost, agg_cost)`` -.. |result-1-m| replace:: ``(seq, path_seq, end_vid, node, edge, cost, agg_cost)`` -.. |result-m-1| replace:: ``(seq, path_seq, start_vid, node, edge, cost, agg_cost)`` + .. |result-dij-dd| replace:: ``(seq, [from_v,] node, edge, cost, agg_cost)`` .. |result-dij-dd-m| replace:: ``(seq, from_v, node, edge, cost, agg_cost)`` +.. |result-disjoint| replace:: ``(seq, path_id, path_seq, [start_vid,] [end_vid,] node, edge, cost, agg_cost)`` +.. |result-disjoint-1-m| replace:: ``(seq, path_id, path_seq, end_vid, node, edge, cost, agg_cost)`` +.. |result-disjoint-m-1| replace:: ``(seq, path_id, path_seq, start_vid, node, edge, cost, agg_cost)`` + There has been an effort to standardize function output columns names and types. @@ -66,59 +74,57 @@ types. * - Function - Migration guide - * - .. versionchanged:: 3.5.0 :doc:`pgr_dijkstra` [1]_ + * - .. versionchanged:: 3.5.0 :doc:`pgr_dijkstra` - `Migration of single path functions`_ - * - .. versionchanged:: 3.6.0 :doc:`pgr_aStar` [1]_ + * - .. versionchanged:: 3.6.0 :doc:`pgr_aStar` - `Migration of single path functions`_ - * - .. versionchanged:: 3.6.0 :doc:`pgr_bdAstar` [1]_ + * - .. versionchanged:: 3.6.0 :doc:`pgr_bdAstar` - `Migration of single path functions`_ - * - .. versionchanged:: 3.6.0 :doc:`pgr_drivingDistance` [1]_ + * - .. versionchanged:: 3.6.0 :doc:`pgr_drivingDistance` - `Migration of spanning tree functions`_ - * - .. versionchanged:: 3.6.0 :doc:`pgr_withPointsDD` [2]_ + * - .. versionchanged:: 3.6.0 :doc:`pgr_withPointsDD` - `Migration of spanning tree functions`_ - * - .. versionchanged:: 3.7.0 :doc:`pgr_kruskalBFS` [1]_ + * - .. versionchanged:: 3.7.0 :doc:`pgr_kruskalBFS` - `Migration of spanning tree functions`_ - * - .. versionchanged:: 3.7.0 :doc:`pgr_kruskalDD` [1]_ + * - .. versionchanged:: 3.7.0 :doc:`pgr_kruskalDD` - `Migration of spanning tree functions`_ - * - .. versionchanged:: 3.7.0 :doc:`pgr_kruskalDFS` [1]_ + * - .. versionchanged:: 3.7.0 :doc:`pgr_kruskalDFS` - `Migration of spanning tree functions`_ - * - .. versionchanged:: 3.7.0 :doc:`pgr_primBFS` [1]_ + * - .. versionchanged:: 3.7.0 :doc:`pgr_primBFS` - `Migration of spanning tree functions`_ - * - .. versionchanged:: 3.7.0 :doc:`pgr_primDD` [1]_ + * - .. versionchanged:: 3.7.0 :doc:`pgr_primDD` - `Migration of spanning tree functions`_ - * - .. versionchanged:: 3.7.0 :doc:`pgr_primDFS` [1]_ + * - .. versionchanged:: 3.7.0 :doc:`pgr_primDFS` - `Migration of spanning tree functions`_ - * - .. versionchanged:: 4.0.0 :doc:`pgr_bdDijkstra` [1]_ + * - .. versionchanged:: 4.0.0 :doc:`pgr_bdDijkstra` - `Migration of single path functions`_ - * - .. versionchanged:: 4.0.0 :doc:`pgr_bellmanFord` [3]_ + * - .. versionchanged:: 4.0.0 :doc:`pgr_bellmanFord` - `Migration of single path functions`_ - * - .. versionchanged:: 4.0.0 :doc:`pgr_binaryBreadthFirstSearch` [3]_ + * - .. versionchanged:: 4.0.0 :doc:`pgr_binaryBreadthFirstSearch` - `Migration of single path functions`_ - * - .. versionchanged:: 4.0.0 :doc:`pgr_bipartite` [3]_ + * - .. versionchanged:: 4.0.0 :doc:`pgr_bipartite` - `Migration of output column name change`_ - * - .. versionchanged:: 4.0.0 :doc:`pgr_breadthFirstSearch` [3]_ + * - .. versionchanged:: 4.0.0 :doc:`pgr_breadthFirstSearch` - `Migration of spanning tree functions`_ - * - .. versionchanged:: 4.0.0 :doc:`pgr_dagShortestPath` [3]_ + * - .. versionchanged:: 4.0.0 :doc:`pgr_dagShortestPath` - `Migration of single path functions`_ - * - .. versionchanged:: 4.0.0 :doc:`pgr_depthFirstSearch` [3]_ + * - .. versionchanged:: 4.0.0 :doc:`pgr_depthFirstSearch` - `Migration of spanning tree functions`_ - * - .. versionchanged:: 4.0.0 :doc:`pgr_edgeColoring` [3]_ + * - .. versionchanged:: 4.0.0 :doc:`pgr_edgeColoring` - `Migration of output column name change`_ - * - .. versionchanged:: 4.0.0 :doc:`pgr_edwardMoore` [3]_ + * - .. versionchanged:: 4.0.0 :doc:`pgr_edwardMoore` - `Migration of single path functions`_ - * - .. versionchanged:: 4.0.0 :doc:`pgr_sequentialVertexColoring` [3]_ + * - .. versionchanged:: 4.0.0 :doc:`pgr_edgeDisjointPaths` + - `Migration of multiple paths functions`_ + * - .. versionchanged:: 4.0.0 :doc:`pgr_sequentialVertexColoring` - `Migration of output column name change`_ - * - .. versionchanged:: 4.0.0 :doc:`pgr_withPoints` [2]_ + * - .. versionchanged:: 4.0.0 :doc:`pgr_withPoints` - `Migration of single path functions`_ - * - .. versionchanged:: 4.0.0 :doc:`pgr_withPointsCost` [2]_ + * - .. versionchanged:: 4.0.0 :doc:`pgr_withPointsCost` - `Migration of cost functions`_ - * - .. versionchanged:: 4.0.0 :doc:`pgr_withPointsCostMatrix` [2]_ + * - .. versionchanged:: 4.0.0 :doc:`pgr_withPointsCostMatrix` - `Migration of cost functions`_ -.. [1] Official function before v4.0.0 -.. [2] Official function in v4.0.0 -.. [3] Experimental or proposed in v4.0.0 - .. contents:: Contents :local: @@ -311,6 +317,90 @@ To get the old version column names: rename ``start_vid`` to ``start_pid`` and If using ``pgr_withPointsCost``: column names must be changed after updating pgRouting +Migration of multiple paths functions +------------------------------------------------------------------------------- + +The standardized :ref:`pgRouting-concepts:Result columns for single path +functions` are |nksp-result| + +The following functions need to be migrated when they are being used in an +application. + +.. list-table:: + :header-rows: 1 + + * - Function + - Version + - From + * - ``pgr_KSP`` + - v < 3.6 + - :ref:`from_ksp_result` + * - ``pgr_edgeDisjointPaths`` + - v < 4.0 + - :ref:`from_result_disjoint` + +.. _from_ksp_result: + +Migration of |ksp-result| +............................................................................... + +:to: |nksp-result| + +Signatures to be migrated: + +* One to One + +Before updating pgRouting, enumerate the |ksp-result| + +One to One example using ``pgr_KSP`` +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Using +`this `__ +example. + +.. literalinclude:: migration.queries + :start-after: --ksp1 + :end-before: --ksp2 + +Before updating pgRouting, enumerate the |ksp-result| + +.. literalinclude:: migration.queries + :start-after: --ksp2 + :end-before: --ksp3 + +.. _from_result_disjoint: + +Migration of |result-disjoint| +............................................................................... + +Signatures to be migrated: + +* One to One +* One to Many +* Many to One + +Before updating pgRouting, enumerate the |result-disjoint| + +* Skip when applicable, ``start_vid`` +* Skip when applicable, ``end_vid`` + +One to One example using ``pgr_edgeDisjointPaths`` +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Migrating `this v3.8 +`__ example. + +.. literalinclude:: migration.queries + :start-after: --EdgeDisjoint1 + :end-before: --EdgeDisjoint2 + +Before updating pgRouting enumerate the columns: |ksp-result| + +.. literalinclude:: migration.queries + :start-after: --EdgeDisjoint2 + :end-before: --EdgeDisjoint3 + Migration of single path functions ------------------------------------------------------------------------------- @@ -684,6 +774,7 @@ Before updating pgRouting enumerate the columns: |result-bfs|. .. literalinclude:: migration.queries :start-after: --kruskalDD4 :end-before: --kruskalDD5 + .. _from_result_dij_dd: Migration from |result-dij-dd| @@ -1304,54 +1395,6 @@ To get the original column names: Not yet classified migrations +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -Migration of ``pgr_KSP`` -------------------------------------------------------------------------------- - -Starting from `v3.6.0 `__ -:doc:`pgr_KSP` result columns are being standardized. - -:from: |ksp-result| -:to: |generic-result| - -Signatures to be migrated: - -* ``pgr_KSP`` (One to One) - -:Before Migration: - -* Output columns were |ksp-result| - - * the columns ``start_vid`` and ``end_vid`` do not exist. - - * ``pgr_KSP`` (One to One) does not have ``start_vid`` and ``end_vid``. - -:Migration: - -* Be aware of the existence of the additional columns. -* If needed filter out the added columns, for example, to return the original - columns. - -``pgr_KSP`` (One to One) -............................................................................... - -Using -`this `__ -example. - -* ``start_vid`` contains the **start vid** parameter value. -* ``end_vid`` contains the **end vid** parameter value. - -.. literalinclude:: migration.queries - :start-after: --ksp1 - :end-before: --ksp2 - -If needed filter out the added columns, for example, to return the original -columns: - -.. literalinclude:: migration.queries - :start-after: --ksp2 - :end-before: --ksp3 - Migration of ``pgr_withPointsKSP`` ------------------------------------------------------------------------------- diff --git a/doc/src/pgRouting-concepts.rst b/doc/src/pgRouting-concepts.rst index 3b66eaa9057..ec504a0b6c0 100644 --- a/doc/src/pgRouting-concepts.rst +++ b/doc/src/pgRouting-concepts.rst @@ -1595,78 +1595,14 @@ Returns |short-generic-result| .. return_path_withPoints_end -Multiple paths +Result columns for multiple paths functions ............................................................................... -Selective for multiple paths. -+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -The columns depend on the function call. - -.. return_path_start - -Set of |result-disjoint| - -.. list-table:: - :width: 81 - :widths: 12 14 60 - :header-rows: 1 - - * - Column - - Type - - Description - * - ``seq`` - - ``INTEGER`` - - Sequential value starting from **1**. - * - ``path_id`` - - ``INTEGER`` - - Path identifier. - - * Has value **1** for the first of a path from ``start_vid`` to - ``end_vid``. - * - ``path_seq`` - - ``INTEGER`` - - Relative position in the path. Has value **1** for the beginning of a - path. - * - ``start_vid`` - - ``BIGINT`` - - Identifier of the starting vertex. - Returned when multiple starting vetrices are in the query. - - * `Many to One`_ - * `Many to Many`_ - * `Combinations`_ - * - ``end_vid`` - - ``BIGINT`` - - Identifier of the ending vertex. - Returned when multiple ending vertices are in the query. +Used in functions that return many paths solutions per departure and destination. - * `One to Many`_ - * `Many to Many`_ - * `Combinations`_ - * - ``node`` - - ``BIGINT`` - - Identifier of the node in the path from ``start_vid`` to ``end_vid``. - * - ``edge`` - - ``BIGINT`` - - Identifier of the edge used to go from ``node`` to the next node in the - path sequence. **-1** for the last node of the path. - * - ``cost`` - - ``FLOAT`` - - Cost to traverse from ``node`` using ``edge`` to the next node in the - path sequence. - * - ``agg_cost`` - - ``FLOAT`` - - Aggregate cost from ``start_vid`` to ``node``. - -.. return_path_end - -Non selective for multiple paths -+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -Regardless of the call, al the columns are returned. - -* :doc:`pgr_trsp` +* :doc:`pgr_KSP` +* :doc:`pgr_withPointsKSP` +* :doc:`pgr_edgeDisjointPaths` .. return_path_all_columns_start @@ -1716,10 +1652,16 @@ Returns set of |generic-result| .. return_path_all_columns_end +.. Note:: + When ``start_vid`` or ``end_vid`` columns have negative values, the identifier is for + a Point. + +.. return_path_all_columns_withPoints_end + Result columns for cost functions ............................................................................... -.. rubric:: Used in the following +Used by: * :doc:`cost-category` * :doc:`costMatrix-category` @@ -1760,7 +1702,7 @@ Set of |matrix-result| Result columns for flow functions ............................................................................... -.. rubric:: Edges SQL for the following +Used by: * :doc:`flow-family` @@ -1779,7 +1721,7 @@ Result columns for flow functions Result columns for spanning tree functions ............................................................................... -Used by: +Used in functions that return a tree solution per departure. * :doc:`pgr_breadthFirstSearch` * :doc:`pgr_depthFirstSearch` @@ -1843,7 +1785,7 @@ Returns set of |result-spantree| Result columns for simple spanning tree functions ............................................................................... -.. rubric:: Edges SQL for the following +Used by: * :doc:`pgr_prim` * :doc:`pgr_kruskal` diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index f5e725d7c4a..264713c7562 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -104,6 +104,12 @@ Summary of changes by function :start-after: Version 4.0.0 :end-before: .. rubric +* pgr_boykovKolmogorov + + .. include:: pgr_boykovKolmogorov.rst + :start-after: Version 4.0.0 + :end-before: .. rubric + * pgr_breadthFirstSearch .. include:: pgr_breadthFirstSearch.rst @@ -146,6 +152,18 @@ Summary of changes by function :start-after: Version 4.0.0 :end-before: .. rubric +* pgr_edgeDisjointPaths + + .. include:: pgr_edgeDisjointPaths.rst + :start-after: Version 4.0.0 + :end-before: .. rubric + +* pgr_edmondsKarp + + .. include:: pgr_edmondsKarp.rst + :start-after: Version 4.0.0 + :end-before: .. rubric + * pgr_edwardMoore .. include:: pgr_edwardMoore.rst @@ -200,6 +218,12 @@ Summary of changes by function :start-after: Version 4.0.0 :end-before: .. rubric +* pgr_turnRestrictedPath + + .. include:: pgr_turnRestrictedPath.rst + :start-after: Version 4.0.0 + :end-before: .. rubric + * pgr_withPoints .. include:: pgr_withPoints.rst @@ -337,6 +361,13 @@ Standardize output columns of functions with different output columns within ove * `#2931 `__ pgr_depthFirstSearch +.. rubric:: Standardized to |generic-result| + +* `#2909 `__ + pgr_edgeDisjointPaths +* `#2909 `__ + pgr_turnRestrictedPaths + Removal of SQL deprecated signatures ............................................................................... @@ -540,7 +571,7 @@ Code enhancements .. rubric:: Deprecation of internal C/C++ functions -Deprecated functions are substitued by new function. +Deprecated functions are substituted by new function. * _pgr_drivingdistance => _pgr_drivingdistancev4 * _pgr_withpointsdd => _pgr_withpointsddv4 diff --git a/doc/traversal/pgr_binaryBreadthFirstSearch.rst b/doc/traversal/pgr_binaryBreadthFirstSearch.rst index 08603965906..28dfba70b8c 100644 --- a/doc/traversal/pgr_binaryBreadthFirstSearch.rst +++ b/doc/traversal/pgr_binaryBreadthFirstSearch.rst @@ -243,8 +243,8 @@ Result columns ------------------------------------------------------------------------------- .. include:: pgRouting-concepts.rst - :start-after: return_path_start - :end-before: return_path_end + :start-after: return_path_complete_start + :end-before: return_path_complete_end Additional Examples diff --git a/doc/trsp/pgr_trsp.rst b/doc/trsp/pgr_trsp.rst index 20d32508598..ad3abd3f15c 100644 --- a/doc/trsp/pgr_trsp.rst +++ b/doc/trsp/pgr_trsp.rst @@ -246,10 +246,8 @@ Result columns ------------------------------------------------------------------------------- .. include:: pgRouting-concepts.rst - :start-after: return_path_all_columns_start - :end-before: return_path_all_columns_end - - + :start-after: return_path_complete_start + :end-before: return_path_complete_end See Also ------------------------------------------------------------------------------- diff --git a/doc/trsp/pgr_turnRestrictedPath.rst b/doc/trsp/pgr_turnRestrictedPath.rst index a07fe2d3659..5047b5f41d5 100644 --- a/doc/trsp/pgr_turnRestrictedPath.rst +++ b/doc/trsp/pgr_turnRestrictedPath.rst @@ -27,9 +27,13 @@ restrictions .. rubric:: Availability -* Version 3.0.0 +.. rubric:: Version 4.0.0 - * New experimental function. +* Output columns standardized to |nksp-result| + +.. rubric:: Version 3.0.0 + +* New experimental function. Description ------------------------------------------------------------------------------- @@ -48,7 +52,7 @@ Signatures | pgr_turnRestrictedPath(`Edges SQL`_, `Restrictions SQL`_, **start vid**, **end vid**, **K**, [**options**]) | **options:** ``[directed, heap_paths, stop_on_first, strict]`` - | Returns set of |ksp-result| + | Returns set of |nksp-result| | OR EMPTY SET :Example: From vertex :math:`3` to vertex :math:`8` on a directed graph diff --git a/doc/withPoints/pgr_withPointsKSP.rst b/doc/withPoints/pgr_withPointsKSP.rst index de05c038b99..2c5d6be960d 100644 --- a/doc/withPoints/pgr_withPointsKSP.rst +++ b/doc/withPoints/pgr_withPointsKSP.rst @@ -76,7 +76,7 @@ Signatures | pgr_withPointsKSP(`Edges SQL`_, `Points SQL`_, `Combinations SQL`_, **K**, **driving_side**, [**options**]) | **options:** ``[directed, heap_paths, details]`` - | Returns set of |ksp-result| + | Returns set of |nksp-result| | OR EMPTY SET .. index:: @@ -117,7 +117,7 @@ One to Many | pgr_withPointsKSP(`Edges SQL`_, `Points SQL`_, **start vid**, **end vids**, **K**, **driving_side**, [**options**]) | **options:** ``[directed, heap_paths, details]`` - | Returns set of |ksp-result| + | Returns set of |nksp-result| | OR EMPTY SET :Example: Get 2 paths from point :math:`1` to point :math:`3` and vertex :math:`7` on an @@ -139,7 +139,7 @@ Many to One | pgr_withPointsKSP(`Edges SQL`_, `Points SQL`_, **start vids**, **end vid**, **K**, **driving_side**, [**options**]) | **options:** ``[directed, heap_paths, details]`` - | Returns set of |ksp-result| + | Returns set of |nksp-result| | OR EMPTY SET :Example: Get a path from point :math:`1` and vertex :math:`6` to point :math:`3` on a **directed** @@ -183,7 +183,7 @@ Combinations | pgr_withPointsKSP(`Edges SQL`_, `Points SQL`_, `Combinations SQL`_, **K**, **driving_side**, [**options**]) | **options:** ``[directed, heap_paths, details]`` - | Returns set of |ksp-result| + | Returns set of |nksp-result| | OR EMPTY SET :Example: Using a combinations table on an **directed** graph @@ -303,9 +303,9 @@ Combinations SQL Result columns ------------------------------------------------------------------------------- -.. include:: pgr_KSP.rst - :start-after: ksp_returns_start - :end-before: ksp_returns_end +.. include:: pgRouting-concepts.rst + :start-after: return_path_all_columns_start + :end-before: return_path_all_columns_withPoints_end Additional Examples ------------------------------------------------------------------------------- diff --git a/docqueries/ksp/turnRestrictedPath.result b/docqueries/ksp/turnRestrictedPath.result index d015441f578..96dd917cb29 100644 --- a/docqueries/ksp/turnRestrictedPath.result +++ b/docqueries/ksp/turnRestrictedPath.result @@ -7,11 +7,11 @@ SELECT * FROM pgr_turnRestrictedPath( $$SELECT id, source, target, cost, reverse_cost FROM edges$$, $$SELECT path, cost FROM restrictions$$, 3, 8, 3); - seq | path_id | path_seq | node | edge | cost | agg_cost ------+---------+----------+------+------+------+---------- - 1 | 1 | 1 | 3 | 7 | 1 | Infinity - 2 | 1 | 2 | 7 | 10 | 1 | 1 - 3 | 1 | 3 | 8 | -1 | 0 | 2 + seq | path_id | path_seq | start_vid | end_vid | node | edge | cost | agg_cost +-----+---------+----------+-----------+---------+------+------+------+---------- + 1 | 1 | 1 | 0 | 8 | 3 | 7 | 1 | Infinity + 2 | 1 | 2 | 0 | 8 | 7 | 10 | 1 | 1 + 3 | 1 | 3 | 0 | 8 | 8 | -1 | 0 | 2 (3 rows) /* -- q2 */ @@ -20,8 +20,8 @@ SELECT * FROM pgr_turnRestrictedPath( $$SELECT path, cost FROM restrictions$$, 3, 8, 3, strict => true); - seq | path_id | path_seq | node | edge | cost | agg_cost ------+---------+----------+------+------+------+---------- + seq | path_id | path_seq | start_vid | end_vid | node | edge | cost | agg_cost +-----+---------+----------+-----------+---------+------+------+------+---------- (0 rows) /* -- q3 */ @@ -30,15 +30,15 @@ SELECT * FROM pgr_turnRestrictedPath( $$SELECT path, cost FROM restrictions$$, 3, 8, 3, directed => false); - seq | path_id | path_seq | node | edge | cost | agg_cost ------+---------+----------+------+------+------+---------- - 1 | 1 | 1 | 3 | 7 | 1 | 0 - 2 | 1 | 2 | 7 | 4 | 1 | 1 - 3 | 1 | 3 | 6 | 2 | 1 | 2 - 4 | 1 | 4 | 10 | 5 | 1 | 3 - 5 | 1 | 5 | 11 | 11 | 1 | 4 - 6 | 1 | 6 | 12 | 12 | 1 | 5 - 7 | 1 | 7 | 8 | -1 | 0 | 6 + seq | path_id | path_seq | start_vid | end_vid | node | edge | cost | agg_cost +-----+---------+----------+-----------+---------+------+------+------+---------- + 1 | 1 | 1 | 0 | 8 | 3 | 7 | 1 | 0 + 2 | 1 | 2 | 0 | 8 | 7 | 4 | 1 | 1 + 3 | 1 | 3 | 0 | 8 | 6 | 2 | 1 | 2 + 4 | 1 | 4 | 0 | 8 | 10 | 5 | 1 | 3 + 5 | 1 | 5 | 0 | 8 | 11 | 11 | 1 | 4 + 6 | 1 | 6 | 0 | 8 | 12 | 12 | 1 | 5 + 7 | 1 | 7 | 0 | 8 | 8 | -1 | 0 | 6 (7 rows) /* -- q4 */ @@ -49,22 +49,22 @@ SELECT * FROM pgr_turnRestrictedPath( directed => false, heap_paths => true, stop_on_first => false); - seq | path_id | path_seq | node | edge | cost | agg_cost ------+---------+----------+------+------+------+---------- - 1 | 1 | 1 | 3 | 7 | 1 | 0 - 2 | 1 | 2 | 7 | 4 | 1 | 1 - 3 | 1 | 3 | 6 | 2 | 1 | 2 - 4 | 1 | 4 | 10 | 5 | 1 | 3 - 5 | 1 | 5 | 11 | 11 | 1 | 4 - 6 | 1 | 6 | 12 | 12 | 1 | 5 - 7 | 1 | 7 | 8 | -1 | 0 | 6 - 8 | 2 | 1 | 3 | 7 | 1 | 0 - 9 | 2 | 2 | 7 | 8 | 1 | 1 - 10 | 2 | 3 | 11 | 9 | 1 | 2 - 11 | 2 | 4 | 16 | 15 | 1 | 3 - 12 | 2 | 5 | 17 | 13 | 1 | 4 - 13 | 2 | 6 | 12 | 12 | 1 | 5 - 14 | 2 | 7 | 8 | -1 | 0 | 6 + seq | path_id | path_seq | start_vid | end_vid | node | edge | cost | agg_cost +-----+---------+----------+-----------+---------+------+------+------+---------- + 1 | 1 | 1 | 0 | 8 | 3 | 7 | 1 | 0 + 2 | 1 | 2 | 0 | 8 | 7 | 4 | 1 | 1 + 3 | 1 | 3 | 0 | 8 | 6 | 2 | 1 | 2 + 4 | 1 | 4 | 0 | 8 | 10 | 5 | 1 | 3 + 5 | 1 | 5 | 0 | 8 | 11 | 11 | 1 | 4 + 6 | 1 | 6 | 0 | 8 | 12 | 12 | 1 | 5 + 7 | 1 | 7 | 0 | 8 | 8 | -1 | 0 | 6 + 8 | 2 | 1 | 1 | 8 | 3 | 7 | 1 | 0 + 9 | 2 | 2 | 1 | 8 | 7 | 8 | 1 | 1 + 10 | 2 | 3 | 1 | 8 | 11 | 9 | 1 | 2 + 11 | 2 | 4 | 1 | 8 | 16 | 15 | 1 | 3 + 12 | 2 | 5 | 1 | 8 | 17 | 13 | 1 | 4 + 13 | 2 | 6 | 1 | 8 | 12 | 12 | 1 | 5 + 14 | 2 | 7 | 1 | 8 | 8 | -1 | 0 | 6 (14 rows) /* -- q5 */ diff --git a/docqueries/max_flow/edgeDisjointPaths.result b/docqueries/max_flow/edgeDisjointPaths.result index 7fbb762a495..c83778a6f47 100644 --- a/docqueries/max_flow/edgeDisjointPaths.result +++ b/docqueries/max_flow/edgeDisjointPaths.result @@ -7,14 +7,14 @@ SELECT * FROM pgr_edgeDisjointPaths( 'SELECT id, source, target, cost, reverse_cost FROM edges', 11, 12); - seq | path_id | path_seq | node | edge | cost | agg_cost ------+---------+----------+------+------+------+---------- - 1 | 1 | 1 | 11 | 8 | 1 | 0 - 2 | 1 | 2 | 7 | 10 | 1 | 1 - 3 | 1 | 3 | 8 | 12 | 1 | 2 - 4 | 1 | 4 | 12 | -1 | 0 | 3 - 5 | 2 | 1 | 11 | 11 | 1 | 0 - 6 | 2 | 2 | 12 | -1 | 0 | 1 + seq | path_id | path_seq | start_vid | end_vid | node | edge | cost | agg_cost +-----+---------+----------+-----------+---------+------+------+------+---------- + 1 | 1 | 1 | 11 | 12 | 11 | 8 | 1 | 0 + 2 | 1 | 2 | 11 | 12 | 7 | 10 | 1 | 1 + 3 | 1 | 3 | 11 | 12 | 8 | 12 | 1 | 2 + 4 | 1 | 4 | 11 | 12 | 12 | -1 | 0 | 3 + 5 | 2 | 1 | 11 | 12 | 11 | 11 | 1 | 0 + 6 | 2 | 2 | 11 | 12 | 12 | -1 | 0 | 1 (6 rows) /* -- q2 */ @@ -22,22 +22,22 @@ SELECT * FROM pgr_edgeDisjointPaths( 'SELECT id, source, target, cost, reverse_cost FROM edges', 11, ARRAY[5, 10, 12]); - seq | path_id | path_seq | end_vid | node | edge | cost | agg_cost ------+---------+----------+---------+------+------+------+---------- - 1 | 1 | 1 | 5 | 11 | 8 | 1 | 0 - 2 | 1 | 2 | 5 | 7 | 4 | 1 | 1 - 3 | 1 | 3 | 5 | 6 | 1 | 1 | 2 - 4 | 1 | 4 | 5 | 5 | -1 | 0 | 3 - 5 | 2 | 1 | 10 | 11 | 9 | 1 | 0 - 6 | 2 | 2 | 10 | 16 | 16 | 1 | 1 - 7 | 2 | 3 | 10 | 15 | 3 | 1 | 2 - 8 | 2 | 4 | 10 | 10 | -1 | 0 | 3 - 9 | 3 | 1 | 12 | 11 | 8 | 1 | 0 - 10 | 3 | 2 | 12 | 7 | 10 | 1 | 1 - 11 | 3 | 3 | 12 | 8 | 12 | 1 | 2 - 12 | 3 | 4 | 12 | 12 | -1 | 0 | 3 - 13 | 4 | 1 | 12 | 11 | 11 | 1 | 0 - 14 | 4 | 2 | 12 | 12 | -1 | 0 | 1 + seq | path_id | path_seq | start_vid | end_vid | node | edge | cost | agg_cost +-----+---------+----------+-----------+---------+------+------+------+---------- + 1 | 1 | 1 | 11 | 5 | 11 | 8 | 1 | 0 + 2 | 1 | 2 | 11 | 5 | 7 | 4 | 1 | 1 + 3 | 1 | 3 | 11 | 5 | 6 | 1 | 1 | 2 + 4 | 1 | 4 | 11 | 5 | 5 | -1 | 0 | 3 + 5 | 2 | 1 | 11 | 10 | 11 | 9 | 1 | 0 + 6 | 2 | 2 | 11 | 10 | 16 | 16 | 1 | 1 + 7 | 2 | 3 | 11 | 10 | 15 | 3 | 1 | 2 + 8 | 2 | 4 | 11 | 10 | 10 | -1 | 0 | 3 + 9 | 3 | 1 | 11 | 12 | 11 | 8 | 1 | 0 + 10 | 3 | 2 | 11 | 12 | 7 | 10 | 1 | 1 + 11 | 3 | 3 | 11 | 12 | 8 | 12 | 1 | 2 + 12 | 3 | 4 | 11 | 12 | 12 | -1 | 0 | 3 + 13 | 4 | 1 | 11 | 12 | 11 | 11 | 1 | 0 + 14 | 4 | 2 | 11 | 12 | 12 | -1 | 0 | 1 (14 rows) /* -- q3 */ @@ -45,22 +45,22 @@ SELECT * FROM pgr_edgeDisjointPaths( 'SELECT id, source, target, cost, reverse_cost FROM edges', ARRAY[11, 3, 17], 12); - seq | path_id | path_seq | start_vid | node | edge | cost | agg_cost ------+---------+----------+-----------+------+------+------+---------- - 1 | 1 | 1 | 3 | 3 | 7 | 1 | 0 - 2 | 1 | 2 | 3 | 7 | 8 | 1 | 1 - 3 | 1 | 3 | 3 | 11 | 11 | 1 | 2 - 4 | 1 | 4 | 3 | 12 | -1 | 0 | 3 - 5 | 2 | 1 | 11 | 11 | 8 | 1 | 0 - 6 | 2 | 2 | 11 | 7 | 10 | 1 | 1 - 7 | 2 | 3 | 11 | 8 | 12 | 1 | 2 - 8 | 2 | 4 | 11 | 12 | -1 | 0 | 3 - 9 | 3 | 1 | 11 | 11 | 11 | 1 | 0 - 10 | 3 | 2 | 11 | 12 | -1 | 0 | 1 - 11 | 4 | 1 | 17 | 17 | 15 | 1 | 0 - 12 | 4 | 2 | 17 | 16 | 9 | 1 | 1 - 13 | 4 | 3 | 17 | 11 | 11 | 1 | 2 - 14 | 4 | 4 | 17 | 12 | -1 | 0 | 3 + seq | path_id | path_seq | start_vid | end_vid | node | edge | cost | agg_cost +-----+---------+----------+-----------+---------+------+------+------+---------- + 1 | 1 | 1 | 12 | 3 | 3 | 7 | 1 | 0 + 2 | 1 | 2 | 12 | 3 | 7 | 8 | 1 | 1 + 3 | 1 | 3 | 12 | 3 | 11 | 11 | 1 | 2 + 4 | 1 | 4 | 12 | 3 | 12 | -1 | 0 | 3 + 5 | 2 | 1 | 12 | 11 | 11 | 8 | 1 | 0 + 6 | 2 | 2 | 12 | 11 | 7 | 10 | 1 | 1 + 7 | 2 | 3 | 12 | 11 | 8 | 12 | 1 | 2 + 8 | 2 | 4 | 12 | 11 | 12 | -1 | 0 | 3 + 9 | 3 | 1 | 12 | 11 | 11 | 11 | 1 | 0 + 10 | 3 | 2 | 12 | 11 | 12 | -1 | 0 | 1 + 11 | 4 | 1 | 12 | 17 | 17 | 15 | 1 | 0 + 12 | 4 | 2 | 12 | 17 | 16 | 9 | 1 | 1 + 13 | 4 | 3 | 12 | 17 | 11 | 11 | 1 | 2 + 14 | 4 | 4 | 12 | 17 | 12 | -1 | 0 | 3 (14 rows) /* -- q4 */ diff --git a/docqueries/src/migration.pg b/docqueries/src/migration.pg index d7b21cd0ab1..d965c744572 100644 --- a/docqueries/src/migration.pg +++ b/docqueries/src/migration.pg @@ -535,3 +535,14 @@ FROM pgr_DAGshortestPath( 'select id, source, target, cost from edges', 5, 11); /* --DAGshortestPath-END */ + +/* --EdgeDisjoint1 */ +SELECT * FROM pgr_edgeDisjointPaths( + 'SELECT id, source, target, cost, reverse_cost FROM edges', + 11, 12); +/* --EdgeDisjoint2 */ +SELECT seq, path_id, path_seq, node, edge, cost, agg_cost +FROM pgr_edgeDisjointPaths( + 'SELECT id, source, target, cost, reverse_cost FROM edges', + 11, 12); +/* --EdgeDisjoint3 */ diff --git a/docqueries/src/migration.result b/docqueries/src/migration.result index 26ecabff085..9bc66857914 100644 --- a/docqueries/src/migration.result +++ b/docqueries/src/migration.result @@ -1615,5 +1615,35 @@ FROM pgr_DAGshortestPath( (4 rows) /* --DAGshortestPath-END */ +/* --EdgeDisjoint1 */ +SELECT * FROM pgr_edgeDisjointPaths( + 'SELECT id, source, target, cost, reverse_cost FROM edges', + 11, 12); + seq | path_id | path_seq | start_vid | end_vid | node | edge | cost | agg_cost +-----+---------+----------+-----------+---------+------+------+------+---------- + 1 | 1 | 1 | 11 | 12 | 11 | 8 | 1 | 0 + 2 | 1 | 2 | 11 | 12 | 7 | 10 | 1 | 1 + 3 | 1 | 3 | 11 | 12 | 8 | 12 | 1 | 2 + 4 | 1 | 4 | 11 | 12 | 12 | -1 | 0 | 3 + 5 | 2 | 1 | 11 | 12 | 11 | 11 | 1 | 0 + 6 | 2 | 2 | 11 | 12 | 12 | -1 | 0 | 1 +(6 rows) + +/* --EdgeDisjoint2 */ +SELECT seq, path_id, path_seq, node, edge, cost, agg_cost +FROM pgr_edgeDisjointPaths( + 'SELECT id, source, target, cost, reverse_cost FROM edges', + 11, 12); + seq | path_id | path_seq | node | edge | cost | agg_cost +-----+---------+----------+------+------+------+---------- + 1 | 1 | 1 | 11 | 8 | 1 | 0 + 2 | 1 | 2 | 7 | 10 | 1 | 1 + 3 | 1 | 3 | 8 | 12 | 1 | 2 + 4 | 1 | 4 | 12 | -1 | 0 | 3 + 5 | 2 | 1 | 11 | 11 | 1 | 0 + 6 | 2 | 2 | 12 | -1 | 0 | 1 +(6 rows) + +/* --EdgeDisjoint3 */ ROLLBACK; ROLLBACK diff --git a/include/drivers/yen/turnRestrictedPath_driver.h b/include/drivers/yen/turnRestrictedPath_driver.h index 7169a5f78e1..47a33ae8ccd 100644 --- a/include/drivers/yen/turnRestrictedPath_driver.h +++ b/include/drivers/yen/turnRestrictedPath_driver.h @@ -1,13 +1,13 @@ /*PGR-GNU***************************************************************** -File: dijkstraTR_driver.h +File: turnRestrictedPath_driver.h Generated with Template by: Copyright (c) 2015 pgRouting developers Mail: project@pgrouting.org Function's developer: -Copyright (c) 2017 Vidhan Jain -Mail: vidhanj1307@gmail.com +Copyright (c) 2015 Celia Virginia Vergara Castillo +Mail: vicky at erosion.dev ------ @@ -31,7 +31,19 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #define INCLUDE_DRIVERS_YEN_TURNRESTRICTEDPATH_DRIVER_H_ #pragma once -/* for size_t and int64_t */ +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#ifdef __cplusplus +} +#endif + +#include "cpp_common/undefPostgresDefine.hpp" + #ifdef __cplusplus # include # include @@ -43,7 +55,6 @@ using Path_rt = struct Path_rt; typedef struct Path_rt Path_rt; #endif - #ifdef __cplusplus extern "C" { #endif @@ -51,9 +62,8 @@ extern "C" { void pgr_do_turnRestrictedPath( const char*, const char*, - - int64_t, - int64_t, + const char*, + ArrayType*, ArrayType*, size_t, bool, @@ -61,10 +71,9 @@ void pgr_do_turnRestrictedPath( bool, bool, - Path_rt **, size_t *, + Path_rt**, size_t*, char**, char**, char**); - #ifdef __cplusplus } #endif diff --git a/locale/en/LC_MESSAGES/pgrouting_doc_strings.po b/locale/en/LC_MESSAGES/pgrouting_doc_strings.po index efff8bd2654..15808851882 100644 --- a/locale/en/LC_MESSAGES/pgrouting_doc_strings.po +++ b/locale/en/LC_MESSAGES/pgrouting_doc_strings.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v3.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-16 16:56+0000\n" +"POT-Creation-Date: 2025-06-29 15:49+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -2699,31 +2699,25 @@ msgstr "" msgid ":doc:`pgr_edgeColoring` - Edge Coloring algorithm using Vizing's theorem." msgstr "" -msgid "Returns set of ``(vertex_id, color_id)``" +msgid "Returns set of |result_edge_color|" msgstr "" -msgid "``vertex_id``" -msgstr "" - -msgid "Identifier of the vertex." +msgid "``color``" msgstr "" -msgid "``color_id``" -msgstr "" - -msgid "Identifier of the color of the vertex." +msgid "Color of the edge." msgstr "" msgid "The minimum value of color is 1." msgstr "" -msgid "Returns set of ``(edge_id, color_id)``" +msgid "Returns set of |result_node_color|" msgstr "" -msgid "``edge_id``" +msgid "Identifier of the node." msgstr "" -msgid "Identifier of the color of the edge." +msgid "Color of the node." msgstr "" msgid "`Boost: `__" @@ -2829,10 +2823,10 @@ msgstr "" msgid ":doc:`pgr_bdDijkstraCost`" msgstr "" -msgid ":doc:`pgr_dijkstraNearCost`" +msgid ":doc:`pgr_withPointsCost`" msgstr "" -msgid ":doc:`pgr_withPointsCost`" +msgid ":doc:`pgr_dijkstraNearCost`" msgstr "" msgid "Each function works as part of the family it belongs to." @@ -3001,6 +2995,9 @@ msgid "" "automatically." msgstr "" +msgid "``edge_id``" +msgstr "" + msgid "Identifier of the \"closest\" edge to the point." msgstr "" @@ -3860,6 +3857,27 @@ msgid "" "other." msgstr "" +msgid ":doc:`withPoints-family`" +msgstr "" + +msgid ":doc:`pgr_withPoints` - Route from/to points anywhere on the graph." +msgstr "" + +msgid ":doc:`pgr_withPointsCost` - Costs of the shortest paths." +msgstr "" + +msgid ":doc:`pgr_withPointsCostMatrix` - Costs of the shortest paths." +msgstr "" + +msgid ":doc:`pgr_withPointsKSP` - K shortest paths." +msgstr "" + +msgid ":doc:`pgr_withPointsDD` - Driving distance." +msgstr "" + +msgid ":doc:`pgr_withPointsVia` - Via routing" +msgstr "" + msgid "Functions by categories" msgstr "" @@ -3884,6 +3902,15 @@ msgstr "" msgid ":doc:`DFS-category`" msgstr "" +msgid ":doc:`withPoints-category`" +msgstr "" + +msgid ":doc:`withPoints-family` - Functions based on Dijkstra algorithm." +msgstr "" + +msgid "From the :doc:`TRSP-family`:" +msgstr "" + msgid "Available Functions but not official pgRouting functions" msgstr "" @@ -3906,452 +3933,918 @@ msgid "" "`__" msgstr "" -msgid "Functions promoted to official" +msgid "Summary of changes by function" msgstr "" -msgid "pgr_trsp" +msgid "pgr_aStar" msgstr "" -msgid "pgr_trspVia" +msgid "Combinations signature promoted to official." msgstr "" -msgid "pgr_trspVia_withPoints" +msgid "pgr_aStarCost" msgstr "" -msgid "pgr_trsp_withPoints" +msgid "pgr_bdAstar" msgstr "" -msgid "" -"`#2905 `__ " -"pgr_withPoints" +msgid "pgr_bdAstarCost" msgstr "" -msgid "Output columns standardized to |short-generic-result|" +msgid "pgr_bdDijkstra" msgstr "" -msgid "Function promoted to official." +msgid "Output columns standardized to |short-generic-result|" msgstr "" -msgid "" -"Signature change: ``driving_side`` parameter changed from named optional " -"to unnamed positional." +msgid "pgr_bdDijkstraCost" msgstr "" -msgid "Directed graph valid values: ``l`` or ``L`` and ``r``, ``R``" +msgid "pgr_bellmanFord" msgstr "" -msgid "Undirected graph valid values: ``b`` or ``B``" +msgid "pgr_binaryBreadthFirstSearch" msgstr "" -msgid "" -"`#2905 `__ " -"pgr_withPointsCost" +msgid "pgr_bipartite" msgstr "" -msgid "Output columns standardized to |matrix-result|" +msgid "Output columns standardized to |result_node_color|" msgstr "" -msgid "" -"`#2905 `__ " -"pgr_withPointsCostMatrix" +msgid "pgr_boykovKolmogorov" msgstr "" -msgid "pgr_withPointsDD" +msgid "pgr_breadthFirstSearch" msgstr "" -msgid "pgr_withPointsKSP" +msgid ":" msgstr "" -msgid "pgr_withPointsVia" +msgid "Standardizing output columns to |result-spantree|" msgstr "" -msgid "Signatures promoted to official" +msgid "pgr_contraction" msgstr "" -msgid "`#2718 `__" +msgid "Breaking change, signatures no longer available:" msgstr "" -msgid "Make official the Combinations signature on the official functions" +msgid "pgr_contraction(text,bigint[],integer,bigint[],boolean)" msgstr "" -msgid "pgr_aStar(Combinations)" +msgid "pgr_dagShortestPath" msgstr "" -msgid "pgr_aStarCost(Combinations)" +msgid "pgr_depthFirstSearch" msgstr "" -msgid "pgr_bdAstar(Combinations)" +msgid "pgr_dijkstra" msgstr "" -msgid "pgr_bdAstarCost(Combinations)" +msgid "pgr_dijkstraCost" msgstr "" -msgid "pgr_bdDijkstra(Combinations)" +msgid "pgr_edgeColoring" msgstr "" -msgid "pgr_bdDijkstraCost(Combinations)" +msgid "Output columns standardized to |result_edge_color|" msgstr "" -msgid "pgr_dijkstra(Combinations)" +msgid "pgr_edgeDisjointPaths" msgstr "" -msgid "pgr_dijkstraCost(Combinations)" +msgid "Output columns standardized to |generic-result|" msgstr "" -msgid "pgr_KSP(All signatures)" +msgid "pgr_edmondsKarp" msgstr "" -msgid "pgr_boykovKolmogorov(Combinations)" +msgid "pgr_edwardMoore" msgstr "" -msgid "pgr_edmondsKarp(Combinations)" +msgid "pgr_KSP" msgstr "" -msgid "pgr_maxFlow(Combinations)" +msgid "All signatures promoted to official." msgstr "" -msgid "pgr_pushRelabel(Combinations)" +msgid "pgr_maxFlow" msgstr "" -msgid "SQL signatures and output standardization" +msgid "pgr_pushRelabel" msgstr "" -msgid "" -"`#2904 `__ " -"Standardize output columns of functions with different output columns " -"within overloads" +msgid "pgr_sequentialVertexColoring" msgstr "" -msgid "Official functions" +msgid "pgr_trsp" msgstr "" -msgid "`#2905 `__" +msgid "Function promoted to official." msgstr "" -msgid "pgr_withPoints" +msgid "pgr_trsp(text,integer,integer,boolean,boolean,text)" msgstr "" msgid "" -"`#2906 `__ " -"pgr_bdDijkstra" +"pgr_trsp(text,integer,double precision,integer,double " +"precision,boolean,boolean,text)" msgstr "" -msgid "Combinations signature promoted to official." +msgid "pgr_trspVia" msgstr "" -msgid "" -"`#2907 `__ " -"pgr_bellmanFord" +msgid "pgr_trspviavertices(text,anyarray,boolean,boolean,text)" msgstr "" -msgid "" -"`#2908 `__ " -"pgr_binaryBreadthFirstSearch" +msgid "pgr_trspVia_withPoints" msgstr "" -msgid "" -"`#2910 `__ " -"pgr_edwardMoore" +msgid "**Driving side** parameter is positional unnamed and compulsory." msgstr "" -msgid "" -"`#2913 `__ " -"pgr_DAGshortestPath" +msgid "Valid values depend on kind of graph" msgstr "" -msgid "Removal of SQL deprecated signatures" +msgid "pgr_trspvia_withpoints(text,text,text,anyarray,boolean,boolean,boolean,character,boolean)" msgstr "" -msgid "" -"`#2798 `__: " -"pgr_contraction" +msgid "pgr_trspviaedges(text,integer[],double precision[],boolean,boolean,text)" msgstr "" -msgid "pgr_contraction(text,bigint[],integer,bigint[],boolean)" +msgid "pgr_trsp_withPoints" msgstr "" -msgid "`#2683 `__: pgr_trsp" +msgid "pgr_trsp_withpoints(text,text,text,anyarray,anyarray,boolean,character,boolean)" msgstr "" -msgid "pgr_trsp(text,integer,integer,boolean,boolean,text)" +msgid "pgr_trsp_withpoints(text,text,text,anyarray,bigint,boolean,character,boolean)" msgstr "" -msgid "" -"pgr_trsp(text,integer,double precision,integer,double " -"precision,boolean,boolean,text)" +msgid "pgr_trsp_withpoints(text,text,text,bigint,anyarray,boolean,character,boolean)" msgstr "" -msgid "" -"`#2888 `__: " -"pgr_findCloseEdges" +msgid "pgr_trsp_withpoints(text,text,text,bigint,bigint,boolean,character,boolean)" msgstr "" -msgid "pgr_findcloseedges(text,geometry,double precision,integer,boolean,boolean)" +msgid "pgr_trsp_withpoints(text,text,text,text,boolean,character,boolean)" msgstr "" -msgid "" -"pgr_findcloseedges(text,geometry[],double " -"precision,integer,boolean,boolean)" +msgid "pgr_turnRestrictedPath" msgstr "" -msgid "" -"`#2890 `__: " -"pgr_withPointsDD" +msgid "Output columns standardized to |nksp-result|" msgstr "" -msgid "" -"pgr_withpointsdd(text,text,anyarray,double " -"precision,boolean,character,boolean,boolean)" +msgid "pgr_withPoints" msgstr "" -msgid "" -"pgr_withpointsdd(text,text,bigint,double " -"precision,boolean,character,boolean)" +msgid "pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean)" msgstr "" -msgid "" -"`#2895 `__: " -"pgr_withPointsKSP" +msgid "pgr_withpoints(text,text,anyarray,bigint,boolean,character,boolean)" msgstr "" -msgid "pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean)" +msgid "pgr_withpoints(text,text,bigint,anyarray,boolean,character,boolean)" msgstr "" -msgid "" -"`#2899 `__: " -"pgr_maxCardinalityMatch" +msgid "pgr_withpoints(text,text,bigint,bigint,boolean,character,boolean)" msgstr "" -msgid "pgr_maxcardinalitymatch(text,boolean)" +msgid "pgr_withpoints(text,text,text,boolean,character,boolean)" msgstr "" -msgid "`#2901 `__: TSP family" +msgid "pgr_withPointsCost" msgstr "" -msgid "" -"pgr_tsp(text,bigint,bigint,double " -"precision,integer,integer,integer,double precision,double " -"precision,double precision,boolean)" +msgid "**Driving side** parameter is unnamed and compulsory." msgstr "" -msgid "" -"pgr_tspeuclidean(text,bigint,bigint,double " -"precision,integer,integer,integer,double precision,double " -"precision,double precision,boolean)" +msgid "Output columns standardized to |matrix-result|" msgstr "" -msgid "Removal of SQL deprecated functions" +msgid "pgr_withpointscost(text,text,anyarray,anyarray,boolean,character)" msgstr "" -msgid "" -"`#2681 `__: " -"pgr_trspviaedges" +msgid "pgr_withpointscost(text,text,anyarray,bigint,boolean,character)" msgstr "" -msgid "" -"`#2682 `__: " -"pgr_trspviavertices" +msgid "pgr_withpointscost(text,text,bigint,anyarray,boolean,character)" msgstr "" -msgid "" -"`#2748 `__: " -"pgr_alphaShape" +msgid "pgr_withpointscost(text,text,bigint,bigint,boolean,character)" msgstr "" -msgid "" -"`#2751 `__: " -"pgr_createTopology" +msgid "pgr_withpointscost(text,text,text,boolean,character)" msgstr "" -msgid "" -"`#2752 `__: " -"pgr_analyzeGraph" +msgid "pgr_withPointsCostMatrix" msgstr "" -msgid "" -"`#2755 `__: " -"pgr_analyzeOneWay" +msgid "pgr_withpointscostmatrix(text,text,anyarray,boolean,character)" msgstr "" -msgid "" -"`#2827 `__: " -"pgr_createVerticesTable" +msgid "pgr_withPointsDD" msgstr "" msgid "" -"`#2886 `__: " -"pgr_nodeNetwork" -msgstr "" - -msgid "rubric:: Removal of SQL deprecated internal functions" +"pgr_withpointsdd(text,text,bigint,double " +"precision,boolean,character,boolean)" msgstr "" msgid "" -"Related issues: `#2897 " -"`__" +"pgr_withpointsdd(text,text,anyarray,double " +"precision,boolean,character,boolean,boolean)" msgstr "" -msgid "_pgr_dijkstranear(text,anyarray,anyarray,bigint,boolean)" +msgid "pgr_withPointsKSP" msgstr "" -msgid "_pgr_dijkstranear(text,anyarray,bigint,bigint,boolean)" +msgid "pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean)" msgstr "" -msgid "_pgr_dijkstranear(text,bigint,anyarray,bigint,boolean)" +msgid "pgr_withPointsVia" msgstr "" -msgid "_pgr_dijkstra(text,anyarray,anyarray,boolean,boolean,boolean,bigint)" +msgid "pgr_withpointsvia(text,text,anyarray,boolean,boolean,boolean,character,boolean)" msgstr "" -msgid "_pgr_dijkstra(text,text,boolean,boolean,boolean)" +msgid "Functions promoted to official" msgstr "" -msgid "_pgr_drivingdistance(text,anyarray,double precision,boolean,boolean)" +msgid "`#2701 `__ pgr_trsp" msgstr "" -msgid "_pgr_ksp(text,anyarray,anyarray,integer,boolean,boolean,boolean)" +msgid "`#2701 `__ pgr_trspVia" msgstr "" -msgid "_pgr_ksp(text,bigint,bigint,integer,boolean,boolean)" +msgid "" +"`#2701 `__ " +"pgr_trspVia_withPoints" msgstr "" -msgid "_pgr_ksp(text,text,integer,boolean,boolean)" +msgid "" +"`#2701 `__ " +"pgr_trsp_withPoints" msgstr "" -msgid "_pgr_kruskal(text,anyarray,text,bigint,double precision)" +msgid "" +"`#2700 `__ " +"pgr_withPoints" msgstr "" -msgid "_pgr_maxcardinalitymatch(text,boolean)" +msgid "" +"`#2700 `__ " +"pgr_withPointsCost" msgstr "" -msgid "_pgr_prim(text,anyarray,text,bigint,double precision)" +msgid "" +"`#2700 `__ " +"pgr_withPointsCostMatrix" msgstr "" msgid "" -"_pgr_trsp(text,integer,double precision,integer,double " -"precision,boolean,boolean,text)" +"`#2700 `__ " +"pgr_withPointsDD" msgstr "" -msgid "_pgr_trsp(text,text,anyarray,anyarray,boolean)" +msgid "" +"`#2700 `__ " +"pgr_withPointsKSP" msgstr "" -msgid "_pgr_trsp(text,text,anyarray,bigint,boolean)" +msgid "" +"`#2700 `__ " +"pgr_withPointsVia" msgstr "" -msgid "_pgr_trsp(text,text,bigint,anyarray,boolean)" +msgid "Signatures promoted to official" msgstr "" -msgid "_pgr_trsp(text,text,bigint,bigint,boolean)" +msgid "" +"`#2718 `__ " +"pgr_aStar(Combinations)" msgstr "" -msgid "_pgr_trspviavertices(text,integer[],boolean,boolean,text)" +msgid "" +"`#2718 `__ " +"pgr_aStarCost(Combinations)" msgstr "" msgid "" -"_pgr_withpointsdd(text,text,anyarray,double " -"precision,boolean,character,boolean,boolean)" +"`#2718 `__ " +"pgr_bdAstar(Combinations)" msgstr "" -msgid "_pgr_withpointsksp(text,text,anyarray,anyarray,integer,character,boolean,boolean,boolean,boolean)" +msgid "" +"`#2718 `__ " +"pgr_bdAstarCost(Combinations)" msgstr "" -msgid "_pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean)" +msgid "" +"`#2718 `__ " +"pgr_bdDijkstra(Combinations)" msgstr "" -msgid "_pgr_withpointsksp(text,text,text,integer,character,boolean,boolean,boolean)" +msgid "" +"`#2718 `__ " +"pgr_bdDijkstraCost(Combinations)" msgstr "" -msgid "_pgr_withpointsvia(text,bigint[],double precision[],boolean)" +msgid "" +"`#2718 `__ " +"pgr_dijkstra(Combinations)" msgstr "" -msgid "_trsp(text,text,anyarray,anyarray,boolean)" +msgid "" +"`#2718 `__ " +"pgr_dijkstraCost(Combinations)" msgstr "" -msgid "_v4trsp(text,text,anyarray,anyarray,boolean)" +msgid "" +"`#2718 `__ " +"pgr_KSP(All signatures)" msgstr "" -msgid "_v4trsp(text,text,text,boolean)" +msgid "" +"`#2718 `__ " +"pgr_boykovKolmogorov(Combinations)" msgstr "" msgid "" -"_pgr_tspeuclidean(text,bigint,bigint,double " -"precision,integer,integer,integer,double precision,double " -"precision,double precision,boolean)" +"`#2718 `__ " +"pgr_edmondsKarp(Combinations)" msgstr "" msgid "" -"_pgr_tsp(text,bigint,bigint,double " -"precision,integer,integer,integer,double precision,double " -"precision,double precision,boolean)" +"`#2718 `__ " +"pgr_maxFlow(Combinations)" msgstr "" msgid "" -"`#2913 `__ " -"_pgr_dagshortestpath(text,text,boolean,boolean)" +"`#2718 `__ " +"pgr_pushRelabel(Combinations)" msgstr "" -msgid "" -"`#2913 `__ " -"_pgr_dagshortestpath(text,anyarray,anyarray,boolean,boolean)" +msgid "SQL signatures and output standardization" msgstr "" msgid "" -"`#2861 `__: Remove " -"unused internal functions" +"`#2904 `__ " +"Standardize output columns of functions with different output columns " +"within overloads" msgstr "" -msgid "_pgr_checkverttab(text,text[],integer,text)" +msgid "Standardized to |short-generic-result|" msgstr "" -msgid "_pgr_createindex(text,text,text,integer,text)" +msgid "" +"`#2905 `__ " +"pgr_withPoints" msgstr "" -msgid "_pgr_createindex(text,text,text,text,integer,text)" +msgid "" +"`#2906 `__ " +"pgr_bdDijkstra" msgstr "" -msgid "_pgr_endpoint(geometry)" +msgid "" +"`#2907 `__ " +"pgr_bellmanFord" msgstr "" -msgid "_pgr_getcolumnname(text,text,integer,text)" +msgid "" +"`#2908 `__ " +"pgr_binaryBreadthFirstSearch" msgstr "" -msgid "_pgr_getcolumnname(text,text,text,integer,text)" -msgstr "" +msgid "" +"`#2910 `__ " +"pgr_edwardMoore" +msgstr "" + +msgid "" +"`#2913 `__ " +"pgr_DAGshortestPath" +msgstr "" + +msgid "Standardized to |matrix-result|" +msgstr "" + +msgid "" +"`#2905 `__ " +"pgr_withPointsCost" +msgstr "" + +msgid "" +"`#2905 `__ " +"pgr_withPointsCostMatrix" +msgstr "" + +msgid "Standardized to |result_edge_color|" +msgstr "" + +msgid "" +"`#2924 `__ " +"pgr_edgeColoring" +msgstr "" + +msgid "Standardized to |result_node_color|" +msgstr "" + +msgid "" +"`#2924 `__ " +"pgr_bipartite" +msgstr "" + +msgid "" +"`#2927 `__ " +"pgr_sequentialVertexColoring" +msgstr "" + +msgid "Standardized to |result-spantree|" +msgstr "" + +msgid "" +"`#2931 `__ " +"pgr_breadthFirstSearch" +msgstr "" + +msgid "" +"`#2931 `__ " +"pgr_depthFirstSearch" +msgstr "" + +msgid "Standardized to |generic-result|" +msgstr "" + +msgid "" +"`#2909 `__ " +"pgr_edgeDisjointPaths" +msgstr "" + +msgid "" +"`#2909 `__ " +"pgr_turnRestrictedPaths" +msgstr "" + +msgid "Removal of SQL deprecated signatures" +msgstr "" + +msgid "" +"`#2798 `__: " +"pgr_contraction" +msgstr "" + +msgid "`#2683 `__: pgr_trsp" +msgstr "" + +msgid "" +"`#2683 `__: " +"pgr_trspVia" +msgstr "" + +msgid "" +"`#2700 `__: " +"pgr_withPointsVia" +msgstr "" + +msgid "" +"`#2888 `__: " +"pgr_findCloseEdges" +msgstr "" + +msgid "pgr_findcloseedges(text,geometry,double precision,integer,boolean,boolean)" +msgstr "" + +msgid "" +"pgr_findcloseedges(text,geometry[],double " +"precision,integer,boolean,boolean)" +msgstr "" + +msgid "" +"`#2890 `__: " +"pgr_withPointsDD" +msgstr "" + +msgid "" +"`#2895 `__: " +"pgr_withPointsKSP" +msgstr "" + +msgid "" +"`#2899 `__: " +"pgr_maxCardinalityMatch" +msgstr "" + +msgid "pgr_maxCardinalityMatch(text,boolean)" +msgstr "" + +msgid "`#2901 `__: pgr_TSP" +msgstr "" + +msgid "" +"pgr_tsp(text,bigint,bigint,double " +"precision,integer,integer,integer,double precision,double " +"precision,double precision,boolean)" +msgstr "" + +msgid "" +"`#2901 `__: " +"pgr_TSPeuclidean" +msgstr "" + +msgid "" +"pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer, " +"integer,double precision,double precision,double precision,boolean)" +msgstr "" + +msgid "Removal of SQL deprecated functions" +msgstr "" + +msgid "" +"`#2681 `__: " +"pgr_trspviaedges" +msgstr "" + +msgid "" +"`#2682 `__: " +"pgr_trspviavertices" +msgstr "" + +msgid "" +"`#2748 `__: " +"pgr_alphaShape" +msgstr "" + +msgid "" +"`#2751 `__: " +"pgr_createTopology" +msgstr "" + +msgid "" +"`#2752 `__: " +"pgr_analyzeGraph" +msgstr "" + +msgid "" +"`#2755 `__: " +"pgr_analyzeOneWay" +msgstr "" + +msgid "" +"`#2827 `__: " +"pgr_createVerticesTable" +msgstr "" + +msgid "" +"`#2886 `__: " +"pgr_nodeNetwork" +msgstr "" + +msgid "Removal of SQL deprecated internal functions" +msgstr "" + +msgid "#2748 _pgr_alphashape(text,double precision)" +msgstr "" + +msgid "#2861 _pgr_checkverttab(text,text[],integer,text)" +msgstr "" + +msgid "#2861 _pgr_createindex(text,text,text,integer,text)" +msgstr "" + +msgid "#2861 _pgr_createindex(text,text,text,text,integer,text)" +msgstr "" + +msgid "#2913 _pgr_dagshortestpath(text,anyarray,anyarray,boolean,boolean)" +msgstr "" + +msgid "#2913 _pgr_dagshortestpath(text,text,boolean,boolean)" +msgstr "" + +msgid "#2730 _pgr_dijkstranear(text,anyarray,anyarray,bigint,boolean)" +msgstr "" + +msgid "#2730 _pgr_dijkstranear(text,anyarray,bigint,bigint,boolean)" +msgstr "" + +msgid "#2730 _pgr_dijkstranear(text,bigint,anyarray,bigint,boolean)" +msgstr "" + +msgid "#2730 _pgr_dijkstra(text,anyarray,anyarray,boolean,boolean,boolean,bigint)" +msgstr "" + +msgid "" +"#2730 " +"_pgr_dijkstra(text,anyarray,anyarray,boolean,boolean,boolean,bigint,boolean)" +msgstr "" + +msgid "#2730 _pgr_dijkstra(text,text,boolean,boolean,bigint,boolean)" +msgstr "" + +msgid "#2730 _pgr_dijkstra(text,text,boolean,boolean,boolean)" +msgstr "" + +msgid "#2735 _pgr_drivingdistance(text,anyarray,double precision,boolean,boolean)" +msgstr "" + +msgid "#2861 _pgr_endpoint(geometry)" +msgstr "" + +msgid "#2861 _pgr_getcolumnname(text,text,integer,text)" +msgstr "" + +msgid "#2861 _pgr_getcolumnname(text,text,text,integer,text)" +msgstr "" + +msgid "#2861 _pgr_getcolumntype(text,text,integer,text)" +msgstr "" + +msgid "#2861 _pgr_getcolumntype(text,text,text,integer,text)" +msgstr "" + +msgid "#2861 _pgr_gettablename(text,integer,text)" +msgstr "" + +msgid "#2861 _pgr_iscolumnindexed(text,text,integer,text)" +msgstr "" + +msgid "#2861 _pgr_iscolumnindexed(text,text,text,integer,text)" +msgstr "" + +msgid "#2861 _pgr_iscolumnintable(text,text)" +msgstr "" + +msgid "#2745 _pgr_kruskal(text,anyarray,text,bigint,double precision)" +msgstr "" + +msgid "#2897 _pgr_ksp(text,anyarray,anyarray,integer,boolean,boolean,boolean)" +msgstr "" + +msgid "#2897 _pgr_ksp(text,bigint,bigint,integer,boolean,boolean)" +msgstr "" + +msgid "#2897 _pgr_ksp(text,text,integer,boolean,boolean)" +msgstr "" + +msgid "#2899 _pgr_maxcardinalitymatch(text,boolean)" +msgstr "" + +msgid "#2861 _pgr_msg(integer,text,text)" +msgstr "" + +msgid "#2861 _pgr_onerror(boolean,integer,text,text,text,text)" +msgstr "" + +msgid "#2861 _pgr_pointtoid(geometry,double precision,text,integer)" +msgstr "" + +msgid "#2743 _pgr_prim(text,anyarray,text,bigint,double precision)" +msgstr "" + +msgid "#2861 _pgr_quote_ident(text)" +msgstr "" + +msgid "#2861 _pgr_startpoint(geometry)" +msgstr "" + +msgid "" +"#2683 _pgr_trsp(text,integer,double precision,integer,double " +"precision,boolean,boolean,text)" +msgstr "" + +msgid "#2683 _pgr_trsp(text,text,anyarray,anyarray,boolean)" +msgstr "" + +msgid "#2683 _pgr_trsp(text,text,anyarray,bigint,boolean)" +msgstr "" + +msgid "#2683 _pgr_trsp(text,text,bigint,anyarray,boolean)" +msgstr "" + +msgid "#2683 _pgr_trsp(text,text,bigint,bigint,boolean)" +msgstr "" + +msgid "#2682 _pgr_trspviavertices(text,integer[],boolean,boolean,text)" +msgstr "" + +msgid "" +"#2919 " +"_pgr_trspvia_withpoints(text,text,text,anyarray,boolean,boolean,boolean,character,boolean)" +msgstr "" + +msgid "" +"#2919 " +"_pgr_trsp_withpoints(text,text,text,anyarray,anyarray,boolean,character,boolean)" +msgstr "" + +msgid "#2919 _pgr_trsp_withpoints(text,text,text,text,boolean,character,boolean)" +msgstr "" + +msgid "" +"#2901 _pgr_tspeuclidean(text,bigint,bigint,double " +"precision,integer,integer,integer,double precision,double " +"precision,double precision,boolean)" +msgstr "" + +msgid "" +"#2901 _pgr_tsp(text,bigint,bigint,double " +"precision,integer,integer,integer,double precision,double " +"precision,double precision,boolean)" +msgstr "" -msgid "_pgr_getcolumntype(text,text,integer,text)" +msgid "#2861 _pgr_versionless(text,text)" msgstr "" -msgid "_pgr_getcolumntype(text,text,text,integer,text)" +msgid "" +"#2890 _pgr_withpointsdd(text,text,anyarray,double " +"precision,boolean,character,boolean,boolean)" +msgstr "" + +msgid "" +"#2895 " +"_pgr_withpointsksp(text,text,anyarray,anyarray,integer,character,boolean,boolean,boolean,boolean)" +msgstr "" + +msgid "" +"#2895 " +"_pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean)" +msgstr "" + +msgid "" +"#2895 " +"_pgr_withpointsksp(text,text,text,integer,character,boolean,boolean,boolean)" +msgstr "" + +msgid "#2741 _pgr_withpointsvia(text,bigint[],double precision[],boolean)" +msgstr "" + +msgid "" +"#2741 " +"_pgr_withpointsvia(text,text,anyarray,boolean,boolean,boolean,character,boolean)" +msgstr "" + +msgid "#2683 _trsp(text,text,anyarray,anyarray,boolean)" +msgstr "" + +msgid "#2683 _v4trsp(text,text,anyarray,anyarray,boolean)" +msgstr "" + +msgid "#2683 _v4trsp(text,text,text,boolean)" +msgstr "" + +msgid "Summary of functions and signatures no longer on pgrouting" +msgstr "" + +msgid "#2748 pgr_alphashape(geometry,double precision)" +msgstr "" + +msgid "#2752 pgr_analyzegraph(text,double precision,text,text,text,text,text)" +msgstr "" + +msgid "" +"#2755 " +"pgr_analyzeoneway(text,text[],text[],text[],text[],boolean,text,text,text)" +msgstr "" + +msgid "#2798 pgr_contraction(text,bigint[],integer,bigint[],boolean)" +msgstr "" + +msgid "" +"#2751 pgr_createtopology(text,double " +"precision,text,text,text,text,text,boolean)" +msgstr "" + +msgid "#2827 pgr_createverticestable(text,text,text,text,text)" +msgstr "" + +msgid "" +"#2888 pgr_findcloseedges(text,geometry,double " +"precision,integer,boolean,boolean)" +msgstr "" + +msgid "" +"#2888 pgr_findcloseedges(text,geometry[],double " +"precision,integer,boolean,boolean)" +msgstr "" + +msgid "#2899 pgr_maxcardinalitymatch(text,boolean)" +msgstr "" + +msgid "#2886 pgr_nodenetwork(text,double precision,text,text,text,text,boolean)" +msgstr "" + +msgid "" +"#2683 pgr_trsp(text,integer,double precision,integer,double " +"precision,boolean,boolean,text)" +msgstr "" + +msgid "#2683 pgr_trsp(text,integer,integer,boolean,boolean,text)" +msgstr "" + +msgid "" +"#2681 pgr_trspviaedges(text,integer[],double " +"precision[],boolean,boolean,text)" +msgstr "" + +msgid "#2682 pgr_trspviavertices(text,anyarray,boolean,boolean,text)" +msgstr "" + +msgid "" +"#2919 " +"pgr_trspvia_withpoints(text,text,text,anyarray,boolean,boolean,boolean,character,boolean)" msgstr "" -msgid "_pgr_gettablename(text,integer,text)" +msgid "" +"#2919 " +"pgr_trsp_withpoints(text,text,text,anyarray,anyarray,boolean,character,boolean)" +msgstr "" + +msgid "" +"#2919 " +"pgr_trsp_withpoints(text,text,text,anyarray,bigint,boolean,character,boolean)" +msgstr "" + +msgid "" +"#2919 " +"pgr_trsp_withpoints(text,text,text,bigint,anyarray,boolean,character,boolean)" +msgstr "" + +msgid "" +"#2919 " +"pgr_trsp_withpoints(text,text,text,bigint,bigint,boolean,character,boolean)" +msgstr "" + +msgid "#2919 pgr_trsp_withpoints(text,text,text,text,boolean,character,boolean)" +msgstr "" + +msgid "" +"#2901 pgr_tspeuclidean(text,bigint,bigint,double " +"precision,integer,integer,integer,double precision,double " +"precision,double precision,boolean)" +msgstr "" + +msgid "" +"#2901 pgr_tsp(text,bigint,bigint,double " +"precision,integer,integer,integer,double precision,double " +"precision,double precision,boolean)" +msgstr "" + +msgid "#2919 pgr_withpointscostmatrix(text,text,anyarray,boolean,character)" +msgstr "" + +msgid "#2919 pgr_withpointscost(text,text,anyarray,anyarray,boolean,character)" +msgstr "" + +msgid "#2919 pgr_withpointscost(text,text,anyarray,bigint,boolean,character)" +msgstr "" + +msgid "#2919 pgr_withpointscost(text,text,bigint,anyarray,boolean,character)" +msgstr "" + +msgid "#2919 pgr_withpointscost(text,text,bigint,bigint,boolean,character)" msgstr "" -msgid "_pgr_iscolumnindexed(text,text,integer,text)" +msgid "#2919 pgr_withpointscost(text,text,text,boolean,character)" msgstr "" -msgid "_pgr_iscolumnindexed(text,text,text,integer,text)" +msgid "" +"#2890 pgr_withpointsdd(text,text,anyarray,double " +"precision,boolean,character,boolean,boolean)" +msgstr "" + +msgid "" +"#2890 pgr_withpointsdd(text,text,bigint,double " +"precision,boolean,character,boolean)" msgstr "" -msgid "_pgr_iscolumnintable(text,text)" +msgid "" +"#2895 " +"pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean)" msgstr "" -msgid "_pgr_msg(integer,text,text)" +msgid "" +"#2919 " +"pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean)" msgstr "" -msgid "_pgr_onerror(boolean,integer,text,text,text,text)" +msgid "#2919 pgr_withpoints(text,text,anyarray,bigint,boolean,character,boolean)" msgstr "" -msgid "_pgr_pointtoid(geometry,double precision,text,integer)" +msgid "#2919 pgr_withpoints(text,text,bigint,anyarray,boolean,character,boolean)" msgstr "" -msgid "_pgr_quote_ident(text)" +msgid "#2919 pgr_withpoints(text,text,bigint,bigint,boolean,character,boolean)" msgstr "" -msgid "_pgr_startpoint(geometry)" +msgid "#2919 pgr_withpoints(text,text,text,boolean,character,boolean)" msgstr "" -msgid "_pgr_versionless(text,text)" +msgid "" +"#2919 " +"pgr_withpointsvia(text,text,anyarray,boolean,boolean,boolean,character,boolean)" msgstr "" msgid "Code enhancements" @@ -4363,10 +4856,10 @@ msgstr "" msgid "Refactor the Script to build the update PostgreSQL file." msgstr "" -msgid "One driver for:" +msgid "One process & driver for:" msgstr "" -msgid "allpairs: johnson and Flowy-Warshall" +msgid "allpairs: johnson and Floyd-Warshall" msgstr "" msgid "Shortest path: Dijkstra and withPoints using Dijkstra" @@ -4375,12 +4868,49 @@ msgstr "" msgid "Deprecation of internal C/C++ functions" msgstr "" +msgid "Deprecated functions are substituted by new function." +msgstr "" + +msgid "_pgr_drivingdistance => _pgr_drivingdistancev4" +msgstr "" + +msgid "_pgr_withpointsdd => _pgr_withpointsddv4" +msgstr "" + +msgid "_pgr_kruskal => _pgr_kruskalv4" +msgstr "" + +msgid "_pgr_prim => _pgr_primv4" +msgstr "" + +msgid "_pgr_dijkstra => _pgr_dijkstra_v4" +msgstr "" + +msgid "_pgr_withpointsksp => _pgr_withpointsksp_v4" +msgstr "" + +msgid "_pgr_trspvia_withpoints => _pgr_trspvia_withpoints_v4" +msgstr "" + +msgid "_pgr_trsp_withpoints => _pgr_trsp_withpoints_v4" +msgstr "" + +msgid "_pgr_withpointsvia => _pgr_withpointsvia_v4" +msgstr "" + msgid "Internal C/C++ functions in legacy" msgstr "" -msgid "" -"`#2913 `__ " -"_pgr_dagshortestpath" +msgid "#2683 _trsp" +msgstr "" + +msgid "#2683 _v4trsp" +msgstr "" + +msgid "#2748 _pgr_alphashape" +msgstr "" + +msgid "#2913 _pgr_dagshortestpath" msgstr "" msgid "All releases" @@ -4450,81 +4980,60 @@ msgstr "" msgid "Function" msgstr "" -msgid ":doc:`pgr_dijkstra` [1]_" +msgid ":doc:`pgr_dijkstra`" msgstr "" msgid "`Migration of single path functions`_" msgstr "" -msgid ":doc:`pgr_aStar` [1]_" +msgid ":doc:`pgr_aStar`" msgstr "" -msgid ":doc:`pgr_bdAstar` [1]_" +msgid ":doc:`pgr_bdAstar`" msgstr "" -msgid ":doc:`pgr_drivingDistance` [1]_" +msgid ":doc:`pgr_drivingDistance`" msgstr "" msgid "`Migration of spanning tree functions`_" msgstr "" -msgid ":doc:`pgr_withPointsDD` [2]_" -msgstr "" - -msgid ":doc:`pgr_kruskalBFS` [1]_" -msgstr "" - -msgid ":doc:`pgr_kruskalDD` [1]_" -msgstr "" - -msgid ":doc:`pgr_kruskalDFS` [1]_" +msgid ":doc:`pgr_withPointsDD`" msgstr "" -msgid ":doc:`pgr_primBFS` [1]_" +msgid ":doc:`pgr_bdDijkstra`" msgstr "" -msgid ":doc:`pgr_primDD` [1]_" +msgid ":doc:`pgr_binaryBreadthFirstSearch`" msgstr "" -msgid ":doc:`pgr_primDFS` [1]_" +msgid ":doc:`pgr_bipartite`" msgstr "" -msgid ":doc:`pgr_bdDijkstra` [1]_" +msgid "`Migration of output column name change`_" msgstr "" -msgid ":doc:`pgr_bellmanFord` [3]_" +msgid ":doc:`pgr_breadthFirstSearch`" msgstr "" -msgid ":doc:`pgr_binaryBreadthFirstSearch` [3]_" +msgid ":doc:`pgr_depthFirstSearch`" msgstr "" -msgid ":doc:`pgr_dagShortestPath` [3]_" +msgid ":doc:`pgr_edgeColoring`" msgstr "" -msgid ":doc:`pgr_edwardMoore` [3]_" +msgid "`Migration of multiple paths functions`_" msgstr "" -msgid ":doc:`pgr_withPoints` [2]_" +msgid ":doc:`pgr_sequentialVertexColoring`" msgstr "" -msgid ":doc:`pgr_withPointsCost` [2]_" +msgid ":doc:`pgr_withPoints`" msgstr "" msgid "`Migration of cost functions`_" msgstr "" -msgid ":doc:`pgr_withPointsCostMatrix` [2]_" -msgstr "" - -msgid "Official function before v4.0.0" -msgstr "" - -msgid "Official function in v4.0.0" -msgstr "" - -msgid "Experimental or proposed in v4.0.0" -msgstr "" - msgid "Migration of cost functions" msgstr "" @@ -4653,11 +5162,75 @@ msgid "" " example." msgstr "" +msgid "Migration of multiple paths functions" +msgstr "" + +msgid "" +"The standardized :ref:`pgRouting-concepts:Result columns for single path " +"functions` are |nksp-result|" +msgstr "" + +msgid "``pgr_KSP``" +msgstr "" + +msgid "v < 3.6" +msgstr "" + +msgid ":ref:`from_ksp_result`" +msgstr "" + +msgid "``pgr_edgeDisjointPaths``" +msgstr "" + +msgid ":ref:`from_result_disjoint`" +msgstr "" + +msgid "Migration of |ksp-result|" +msgstr "" + +msgid "|nksp-result|" +msgstr "" + +msgid "Before updating pgRouting, enumerate the |ksp-result|" +msgstr "" + +msgid "One to One example using ``pgr_KSP``" +msgstr "" + +msgid "" +"Using `this " +"`__ example." +msgstr "" + +msgid "Migration of |result-disjoint|" +msgstr "" + +msgid "Before updating pgRouting, enumerate the |result-disjoint|" +msgstr "" + +msgid "Skip when applicable, ``start_vid``" +msgstr "" + +msgid "Skip when applicable, ``end_vid``" +msgstr "" + +msgid "One to One example using ``pgr_edgeDisjointPaths``" +msgstr "" + +msgid "" +"Migrating `this v3.8 " +"`__ example." +msgstr "" + +msgid "Before updating pgRouting enumerate the columns: |ksp-result|" +msgstr "" + msgid "Migration of single path functions" msgstr "" msgid "" -"THe standardized :ref:`pgRouting-concepts:Result columns for single path " +"The standardized :ref:`pgRouting-concepts:Result columns for single path " "functions` are |short-generic-result|" msgstr "" @@ -4673,9 +5246,6 @@ msgstr "" msgid "``pgr_aStar``" msgstr "" -msgid "v < 3.6" -msgstr "" - msgid "``pgr_bdDijkstra``" msgstr "" @@ -4705,12 +5275,6 @@ msgid "" "signature" msgstr "" -msgid "Skip when applicable, ``start_vid``" -msgstr "" - -msgid "Skip when applicable, ``end_vid``" -msgstr "" - msgid "Migration of |old-pid-result|" msgstr "" @@ -4858,13 +5422,25 @@ msgid "" "tree functions` are |result-spantree|" msgstr "" +msgid "``pgr_drivingDistance``" +msgstr "" + +msgid ":ref:`from_result_dij_dd`" +msgstr "" + +msgid "``pgr_withPointsDD``" +msgstr "" + +msgid ":ref:`from_result_generic_no_seq`" +msgstr "" + msgid "``pgr_kruskalDD``" msgstr "" msgid "v < 3.7" msgstr "" -msgid "|result-bfs|" +msgid ":ref:`from_result_bfs`" msgstr "" msgid "``pgr_kruskalBFS``" @@ -4882,22 +5458,19 @@ msgstr "" msgid "``pgr_primDFS``" msgstr "" -msgid "``pgr_drivingDistance``" -msgstr "" - -msgid "|result-dij-dd|" +msgid "``pgr_breadthFisrtSearch``" msgstr "" -msgid "``pgr_withPointsDD``" +msgid "v < 4.0.0" msgstr "" -msgid "|result-generic-no-seq|" +msgid "``pgr_depthFisrtSearch``" msgstr "" msgid "to |result-spantree|" msgstr "" -msgid "Migration of |result-bfs|" +msgid "Migration from |result-bfs|." msgstr "" msgid "Single vertex" @@ -4909,88 +5482,98 @@ msgstr "" msgid "Before updating pgRouting enumerate the columns: |result-bfs|" msgstr "" -msgid "Migration of |result-dij-dd|" +msgid "Single vertex example using ``pgr_kruskalDD``" msgstr "" -msgid "Migration depends on the signature." +msgid "" +"Migrating `this v3.6 " +"`__ " +"example." msgstr "" -msgid "For single vertex:" +msgid "Before updating pgRouting enumerate the columns: |result-bfs|." msgstr "" -msgid "Before updating pgRouting, enumerate |result-1-1| columns" +msgid "Multiple vertices example using ``pgr_kruskalDFS``" msgstr "" -msgid "For multiple vertices:" +msgid "" +"Migrating `this v3.6 " +"`__ example." msgstr "" -msgid "" -"If using ``pgr_drivingDistance`` with multiple vertices: column names " -"must be changed after updating pgRouting." +msgid "Migration from |result-dij-dd|" msgstr "" -msgid "To get the old version column names |result-dij-dd-m|" +msgid "Migration depends on the signature." msgstr "" -msgid "Enumerate |result-dij-dd-m|" +msgid "For single vertex:" msgstr "" -msgid "Rename ``start_vid`` to ``from_v``." +msgid "Before updating pgRouting, enumerate |result-1-1| columns" msgstr "" -msgid "Migration of |result-generic-no-seq|" +msgid "For multiple vertices:" msgstr "" -msgid "" -"If using ``pgr_withPointsDD``: function call must be changed after " -"updating pgRouting." +msgid "Changes must be done after updating pgRouting." msgstr "" -msgid "" -"``pgr_withPointsDD``'s parameter ``driving_side`` changed from named " -"optional to unnamed positional parameter (position 5 in the function " -"call) and its validity differ for directed and undirected graphs." +msgid "To get the old version column names |result-dij-dd-m|:" +msgstr "" + +msgid "filter out the column ``pred`` and ``depth`` and" +msgstr "" + +msgid "rename ``start_vid`` to ``from_v``." msgstr "" -msgid "For ``pgr_withPointsDD`` Single vertex" +msgid "Single vertex example using ``pgr_drivingDistance``" msgstr "" msgid "" -"To get the * Output columns were |result-1-1-no-seq| * Does not have " -"``start_vid``, ``pred`` and ``depth`` result columns. * ``driving_side`` " -"parameter was named optional now it is compulsory unnamed." +"Migrating `this v3.5 " +"`__ example." msgstr "" -msgid "For ``pgr_withPointsDD`` (Multiple vertices)" +msgid "Before updating pgRouting, enumerate |result-1-1-no-seq| columns" msgstr "" -msgid "Output columns were |result-m-1-no-seq|" +msgid "Multiple vertices example using ``pgr_drivingDistance``" msgstr "" -msgid "Does not have ``depth`` and ``pred`` result columns." +msgid "" +"Migrating `this v3.5 " +"`__ example." msgstr "" msgid "" -"``driving_side`` parameter was named optional now it is compulsory " -"unnamed." +"To get the old version column names |result-dij-dd-m|: filter out the " +"column ``pred`` and ``depth`` and rename ``start_vid`` to ``from_v``." msgstr "" -msgid "Validity of driving_side:" +msgid "Migration of |result-generic-no-seq|" msgstr "" -msgid "On directed graph ``b`` could be used as **driving side**" +msgid "After updating pgRouting:" msgstr "" -msgid "On undirected graph ``r``, ``l`` could be used as **driving side**" +msgid "Enumerate |result-1-1-no-seq| columns" msgstr "" -msgid "After Migration" +msgid "" +"Use an unnamed valid value for **driving side** after the **distance** " +"parameter." msgstr "" -msgid "Be aware of the existence of the additional result Columns." +msgid "Enumerate |result-m-1-no-seq| columns" msgstr "" -msgid "Output columns are |result-spantree|" +msgid "Validity of **driving side** parameter" msgstr "" msgid "" @@ -5010,89 +5593,70 @@ msgstr "" msgid "Using an invalid value throws an ``ERROR``." msgstr "" -msgid "Examples for single vertex" +msgid "Single vertex example using ``pgr_withPointsDD``" msgstr "" -msgid "Using ``pgr_kruskalDD``" +msgid "" +"Migrating `this v3.5 " +"`__ example." msgstr "" -msgid "" -"Migrating `this v3.6 " -"`__ " -"example." +msgid "Multiple vertices example using ``pgr_withPointsDD``" msgstr "" -msgid "Before updating pgRouting enumerate the columns: |result-bfs|." +msgid "" +"Migrating `this v3.5 " +"`__ example." msgstr "" -msgid "Using ``pgr_primBFS``" +msgid "Migration of output column name change" msgstr "" -msgid "" -"Migrating `this v3.6 `__ example." +msgid "The standardized result columns for color functions are" msgstr "" -msgid "Using ``pgr_drivingDistance``" +msgid "|result_edge_color|" msgstr "" -msgid "" -"Migrating `this v3.5 " -"`__ example." +msgid "|result_node_color|" msgstr "" -msgid "Before updating pgRouting, enumerate |result-1-1-no-seq| columns" +msgid "``pgr_edgeColoring``" msgstr "" -msgid "Using ``pgr_withPointsDD``" +msgid ":ref:`from_old_edge_color`" msgstr "" -msgid "" -"Migrating `this v3.5 " -"`__ example." +msgid "``pgr_bipartite``" msgstr "" -msgid "" -"After updating pgROuting use an unnamed valid value for **driving side** " -"after the **distance** parameter." +msgid ":ref:`from_old_node_color`" msgstr "" -msgid "Examples for multiple vertices" +msgid "``pgr_sequentialVertexColoring``" msgstr "" -msgid "Using ``pgr_kruskalDFS``" +msgid "Migration from |old-edge-color|" msgstr "" -msgid "" -"Migrating `this v3.6 " -"`__ example." +msgid "Migration to: |result_edge_color|" msgstr "" -msgid "Using ``pgr_primDD``" +msgid "After update:" msgstr "" -msgid "" -"Migrating `this v3.6 `__ example." +msgid "Rename ``edge_id`` to ``edge`` and ``color_id`` to ``color``." msgstr "" -msgid "" -"Migrating `this v3.5 " -"`__ example." +msgid "Migration from |old-node-color|" msgstr "" -msgid "" -"If using ``pgr_drivingDistance`` with multiple vertices: column names " -"must be changed after updating pgRouting" +msgid "Migration to: |result_node_color|" msgstr "" -msgid "" -"To get the old version column names |result-dij-dd-m|: filter out the " -"column ``pred`` and ``depth`` and rename ``start_vid`` to ``from_v``." +msgid "Rename ``vertex_id`` to ``node`` and ``color_id`` to ``color``." msgstr "" msgid "Migration of deleted functions" @@ -5375,9 +5939,6 @@ msgstr "" msgid "`v3.4.0 `__" msgstr "" -msgid ":doc:`pgr_dijkstra`" -msgstr "" - msgid ":doc:`pgr_trsp`" msgstr "" @@ -5408,9 +5969,6 @@ msgstr "" msgid "Migration of ``pgr_trsp`` (Edges)" msgstr "" -msgid ":doc:`pgr_withPoints`" -msgstr "" - msgid ":doc:`pgr_trsp_withPoints`" msgstr "" @@ -5468,13 +6026,13 @@ msgstr "" msgid "Not yet classified migrations" msgstr "" -msgid "Migration of ``pgr_KSP``" +msgid "Migration of ``pgr_withPointsKSP``" msgstr "" msgid "" "Starting from `v3.6.0 " -"`__ :doc:`pgr_KSP` " -"result columns are being standardized." +"`__ " +":doc:`pgr_withPointsKSP` result columns are being standardized." msgstr "" msgid "|ksp-result|" @@ -5483,35 +6041,37 @@ msgstr "" msgid "|generic-result|" msgstr "" -msgid "``pgr_KSP`` (One to One)" +msgid "" +"And ``driving side`` parameter changed from named optional to unnamed " +"compulsory **driving side** and its validity differ for directed and " +"undirected graphs." +msgstr "" + +msgid "``pgr_withPointsKSP`` (`One to One`)" msgstr "" msgid "Before Migration" msgstr "" -msgid "Output columns were |ksp-result|" +msgid "Output columns were |old-pid-result|" msgstr "" msgid "the columns ``start_vid`` and ``end_vid`` do not exist." msgstr "" -msgid "``pgr_KSP`` (One to One) does not have ``start_vid`` and ``end_vid``." -msgstr "" - msgid "Migration" msgstr "" -msgid "Be aware of the existence of the additional columns." +msgid "Be aware of the existence of the additional result Columns." msgstr "" -msgid "" -"If needed filter out the added columns, for example, to return the " -"original columns." +msgid "New output columns are |generic-result|" msgstr "" msgid "" "Using `this " -"`__ example." +"`__ " +"example." msgstr "" msgid "``start_vid`` contains the **start vid** parameter value." @@ -5520,41 +6080,6 @@ msgstr "" msgid "``end_vid`` contains the **end vid** parameter value." msgstr "" -msgid "" -"If needed filter out the added columns, for example, to return the " -"original columns:" -msgstr "" - -msgid "Migration of ``pgr_withPointsKSP``" -msgstr "" - -msgid "" -"Starting from `v3.6.0 " -"`__ " -":doc:`pgr_withPointsKSP` result columns are being standardized." -msgstr "" - -msgid "" -"And ``driving side`` parameter changed from named optional to unnamed " -"compulsory **driving side** and its validity differ for directed and " -"undirected graphs." -msgstr "" - -msgid "``pgr_withPointsKSP`` (`One to One`)" -msgstr "" - -msgid "Output columns were |old-pid-result|" -msgstr "" - -msgid "New output columns are |generic-result|" -msgstr "" - -msgid "" -"Using `this " -"`__ " -"example." -msgstr "" - msgid "" "If needed filter out the additional columns, for example, to return the " "original columns:" @@ -6814,9 +7339,6 @@ msgstr "" msgid "Edges SQL for" msgstr "" -msgid ":doc:`withPoints-family`" -msgstr "" - msgid "Some uncategorised functions" msgstr "" @@ -6945,18 +7467,6 @@ msgid "" "destination." msgstr "" -msgid ":doc:`pgr_aStar`" -msgstr "" - -msgid ":doc:`pgr_bdAstar`" -msgstr "" - -msgid ":doc:`pgr_bdDijkstra`" -msgstr "" - -msgid ":doc:`pgr_binaryBreadthFirstSearch`" -msgstr "" - msgid ":doc:`pgr_dijkstraNear`" msgstr "" @@ -6995,16 +7505,21 @@ msgid "" "identifier is for a Point." msgstr "" -msgid "Multiple paths" +msgid "Result columns for multiple paths functions" +msgstr "" + +msgid "" +"Used in functions that return many paths solutions per departure and " +"destination." msgstr "" -msgid "Selective for multiple paths." +msgid ":doc:`pgr_KSP`" msgstr "" -msgid "The columns depend on the function call." +msgid ":doc:`pgr_withPointsKSP`" msgstr "" -msgid "Set of |result-disjoint|" +msgid "Returns set of |generic-result|" msgstr "" msgid "``path_id``" @@ -7016,29 +7531,10 @@ msgstr "" msgid "Has value **1** for the first of a path from ``start_vid`` to ``end_vid``." msgstr "" -msgid "" -"Identifier of the starting vertex. Returned when multiple starting " -"vetrices are in the query." -msgstr "" - -msgid "" -"Identifier of the ending vertex. Returned when multiple ending vertices " -"are in the query." -msgstr "" - -msgid "Non selective for multiple paths" -msgstr "" - -msgid "Regardless of the call, al the columns are returned." -msgstr "" - -msgid "Returns set of |generic-result|" -msgstr "" - msgid "Result columns for cost functions" msgstr "" -msgid "Used in the following" +msgid "Used by:" msgstr "" msgid "" @@ -7049,10 +7545,10 @@ msgstr "" msgid "Result columns for flow functions" msgstr "" -msgid "Edges SQL for the following" +msgid "Result columns for spanning tree functions" msgstr "" -msgid "Result columns for spanning tree functions" +msgid "Used in functions that return a tree solution per departure." msgstr "" msgid "Result columns for simple spanning tree functions" @@ -7119,10 +7615,7 @@ msgid "" "`__" msgstr "" -msgid "Others" -msgstr "" - -msgid "Returns set of |old-generic-result|" +msgid "See also" msgstr "" msgid "Installation" @@ -7688,9 +8181,6 @@ msgstr "" msgid ":doc:`migration`" msgstr "" -msgid "``pgr_KSP``" -msgstr "" - msgid "``pgr_KSP`` — Yen's algorithm for K shortest paths using Dijkstra." msgstr "" @@ -7700,9 +8190,6 @@ msgstr "" msgid "Version 4.0.0" msgstr "" -msgid "All signatures promoted to official." -msgstr "" - msgid "Version 3.6.0" msgstr "" @@ -7845,18 +8332,6 @@ msgid "" "about than ``N * K`` paths for small value of ``K`` and ``K > 5``." msgstr "" -msgid "Has value **1** for the first of a path from ``start_vid`` to ``end_vid``" -msgstr "" - -msgid "Identifier of the node in the path from ``start_vid`` to ``end_vid``" -msgstr "" - -msgid ":math:`0` for the last ``node`` of the path." -msgstr "" - -msgid "Aggregate cost from **start vid** to ``node``." -msgstr "" - msgid "Additional Examples" msgstr "" @@ -7887,9 +8362,6 @@ msgstr "" msgid "Availability:" msgstr "" -msgid "Simulated Annealing signature removed" -msgstr "" - msgid "Results change depending on input order" msgstr "" @@ -8253,6 +8725,9 @@ msgstr "" msgid "New proposed signature:" msgstr "" +msgid "pgr_aStar(Combinations)" +msgstr "" + msgid "Version 2.4.0" msgstr "" @@ -8351,6 +8826,9 @@ msgid "" "algorithm." msgstr "" +msgid "pgr_aStarCost(Combinations)" +msgstr "" + msgid "New proposed function." msgstr "" @@ -8490,6 +8968,9 @@ msgstr "" msgid "Nodes in red are the articulation points." msgstr "" +msgid "Identifier of the vertex." +msgstr "" + msgid "" "`Boost: Biconnected components & articulation points " "`__" @@ -8515,6 +8996,9 @@ msgstr "" msgid "pgr_bdAstar(Many to One) added ``start_vid`` column." msgstr "" +msgid "pgr_bdAstar(Combinations)" +msgstr "" + msgid "pgr_bdAstar(One to Many)" msgstr "" @@ -8555,6 +9039,9 @@ msgid "" "bidirectional A* algorithm." msgstr "" +msgid "pgr_bdAstarCost(Combinations)" +msgstr "" + msgid "" "The ``pgr_bdAstarCost`` function summarizes of the cost of the shortest " "path using the bidirectional A* algorithm." @@ -8594,6 +9081,9 @@ msgid "" "Dijkstra algorithm." msgstr "" +msgid "pgr_bdDijkstra(Combinations)" +msgstr "" + msgid "pgr_bdDijkstra(One to Many)" msgstr "" @@ -8656,6 +9146,9 @@ msgid "" "Bidirectional Dijkstra algorithm." msgstr "" +msgid "pgr_bdDijkstraCost(Combinations)" +msgstr "" + msgid "" "The ``pgr_bdDijkstraCost`` function summarizes of the cost of the " "shortest path using the bidirectional Dijkstra Algorithm." @@ -9060,9 +9553,6 @@ msgstr "" msgid "pgr_bipartite(`Edges SQL`_)" msgstr "" -msgid "Returns set of |result-node-color|" -msgstr "" - msgid "When the graph is bipartite" msgstr "" @@ -9101,6 +9591,9 @@ msgid "" "Kolmogorov algorithm." msgstr "" +msgid "pgr_boykovKolmogorov(Combinations)" +msgstr "" + msgid "Renamed from ``pgr_maxFlowBoykovKolmogorov``" msgstr "" @@ -9162,6 +9655,9 @@ msgid "" " First Search algorithm." msgstr "" +msgid "Version 4.0.0:" +msgstr "" + msgid "" "Provides the Breadth First Search traversal order from a root vertex to a" " particular depth." @@ -9187,9 +9683,6 @@ msgstr "" msgid "**options:** ``[max_depth, directed]``" msgstr "" -msgid "Returns set of |result-bfs|" -msgstr "" - msgid "" "From root vertex :math:`6` on a **directed** graph with edges in " "ascending order of ``id``" @@ -10865,6 +11358,9 @@ msgstr "" msgid "Version 3.1.0" msgstr "" +msgid "pgr_dijkstra(Combinations)" +msgstr "" + msgid "Version 2.2.0" msgstr "" @@ -11078,6 +11574,9 @@ msgid "" "algorithm." msgstr "" +msgid "pgr_dijkstraCost(Combinations)" +msgstr "" + msgid "" "The ``pgr_dijkstraCost`` function summarizes of the cost of the shortest " "path using Dijkstra Algorithm." @@ -11540,9 +12039,6 @@ msgstr "" msgid "``pgr_drivingDistance`` - Returns the driving distance from a start node." msgstr "" -msgid "Standardizing output columns to |result-spantree|" -msgstr "" - msgid "pgr_drivingDistance(Single vertex)" msgstr "" @@ -11620,6 +12116,9 @@ msgid "" "signature." msgstr "" +msgid "end-before" +msgstr "" + #, python-brace-format msgid "" "From vertices :math:`\\{11, 16\\}` for a distance of :math:`3.0` on an " @@ -11692,9 +12191,6 @@ msgstr "" msgid "pgr_edgeColoring(`Edges SQL`_)" msgstr "" -msgid "Returns set of |result-edge-color|" -msgstr "" - msgid "Graph coloring of pgRouting :doc:`sampledata`" msgstr "" @@ -11708,9 +12204,6 @@ msgid "" "`__" msgstr "" -msgid "``pgr_edgeDisjointPaths``" -msgstr "" - msgid "" "``pgr_edgeDisjointPaths`` — Calculates edge disjoint paths between two " "groups of vertices." @@ -11764,21 +12257,6 @@ msgstr "" msgid "pgr_edgeDisjointPaths(`Edges SQL`_, `Combinations SQL`_, [``directed``])" msgstr "" -msgid "Returns set of |result-disjoint|" -msgstr "" - -msgid "Returns set of |result-disjoint-1-1|" -msgstr "" - -msgid "Returns set of |result-disjoint-1-m|" -msgstr "" - -msgid "Returns set of |result-disjoint-m-1|" -msgstr "" - -msgid "Returns set of |result-disjoint-m-m|" -msgstr "" - #, python-brace-format msgid "" "Using a combinations table, equivalent to calculating result from " @@ -11798,6 +12276,9 @@ msgid "" "Algorithm." msgstr "" +msgid "pgr_edmondsKarp(Combinations)" +msgstr "" + msgid "Renamed from ``pgr_maxFlowEdmondsKarp``" msgstr "" @@ -12306,9 +12787,6 @@ msgstr "" msgid "The points of interest:" msgstr "" -msgid ":doc:`withPoints-category`" -msgstr "" - msgid "``pgr_floydWarshall``" msgstr "" @@ -12719,6 +13197,9 @@ msgstr "" msgid "Returns set of ``(seq, vertex_id, idom)``" msgstr "" +msgid "``vertex_id``" +msgstr "" + msgid "Identifier of vertex ." msgstr "" @@ -13256,9 +13737,6 @@ msgstr "" msgid "Deprecated signature" msgstr "" -msgid "pgr_maxCardinalityMatch(text,boolean)" -msgstr "" - msgid "directed => ``false`` when used." msgstr "" @@ -13329,6 +13807,9 @@ msgid "" "the source(s) to the targets(s) using the Push Relabel algorithm." msgstr "" +msgid "pgr_maxFlow(Combinations)" +msgstr "" + msgid "Calculates the maximum flow from the sources to the targets." msgstr "" @@ -13758,6 +14239,9 @@ msgid "" "Algorithm." msgstr "" +msgid "pgr_pushRelabel(Combinations)" +msgstr "" + msgid "Renamed from ``pgr_maxFlowPushRelabel``" msgstr "" @@ -14170,15 +14654,9 @@ msgstr "" msgid "Deprecated signatures" msgstr "" -msgid "pgr_trsp(text,integer,float,integer,float,boolean,boolean,text)" -msgstr "" - msgid "pgr_trspViaVertices(text,anyarray,boolean,boolean,text)" msgstr "" -msgid "pgr_trspviaedges(text,integer[],double precision[],boolean,boolean,text)" -msgstr "" - msgid "New prototypes" msgstr "" @@ -14400,7 +14878,10 @@ msgstr "" msgid "" "pgr_trspVia_withPoints(`Edges SQL`_, `Restrictions SQL`_, `Points SQL`_, " -"**via vertices**, [**options**])" +"**via vertices**, **driving side** [**options**])" +msgstr "" + +msgid "**options:** ``[directed, strict, U_turn_on_edge, details]``" msgstr "" #, python-brace-format @@ -14415,28 +14896,30 @@ msgstr "" msgid "When negative it is considered a point identifier" msgstr "" -msgid "With points optional parameters" +msgid "**driving side**" msgstr "" -msgid "``driving_side``" +msgid "" +"Value in [``r``, ``R``, ``l``, ``L``, ``b``, ``B``] indicating if the " +"driving side is:" msgstr "" -msgid "``r``" +msgid "[``r``, ``R``] for right driving side (for directed graph only)" msgstr "" -msgid "Value in [``r``, ``l``] indicating if the driving side is:" +msgid "[``l``, ``L``] for left driving side (for directed graph only)" msgstr "" -msgid "``r`` for right driving side" +msgid "[``b``, ``B``] for both (only for undirected graph)" msgstr "" -msgid "``l`` for left driving side" +msgid "With points optional parameters" msgstr "" -msgid "Any other value will be considered as ``r``" +msgid "``details``" msgstr "" -msgid "``details``" +msgid "For showing points stops." msgstr "" msgid "When ``true`` the results will include the points that are in the path." @@ -14535,11 +15018,9 @@ msgid "``pgr_trsp_withPoints`` Routing Vertex/Point with restrictions." msgstr "" msgid "" -"Modify the graph to include points defined by points_sql. Using Dijkstra " -"algorithm, find the shortest path" -msgstr "" - -msgid "Characteristics:" +"Modify the graph to include points defined by `Points SQL`_. Consider the" +" invalid paths on `Restrictions SQL`_. Using Dijkstra algorithm, find the" +" shortest path." msgstr "" msgid "Vertices of the graph are:" @@ -14551,21 +15032,15 @@ msgstr "" msgid "**negative** when it belongs to the `Points SQL`_" msgstr "" -msgid "Driving side can not be ``b``" -msgstr "" - -msgid "The agg_cost the non included values (v, v) is 0" +msgid "The `agg_cost` in the non included values `(v, v)` is `0`" msgstr "" -msgid "The agg_cost the non included values (u, v) is ∞" +msgid "The `agg_cost` in the non included values `(u, v)` is :math:`\\infty`" msgstr "" msgid "" -"For optimization purposes, any duplicated value in the start_vids or " -"end_vids are ignored." -msgstr "" - -msgid "The returned values are ordered: - start_vid ascending - end_vid ascending" +"For optimization purposes, any duplicated value in the input arrays of " +"**start vids** or **end vids** or are ignored." msgstr "" msgid "Running time: :math:`O(|start\\_vids|\\times(V \\log V + E))`" @@ -14600,24 +15075,42 @@ msgid "**options:** ``[directed, driving_side, details]``" msgstr "" msgid "" -"From point :math:`1` to vertex :math:`10` with details on a left driving " -"side configuration on a directed graph with details." +"From point :math:`1` to vertex :math:`10` with right driving side in " +"directed graph. (with details)" +msgstr "" + +msgid "" +"pgr_trsp_withPoints(`Edges SQL`_, `Restrictions SQL`_, `Points SQL`_, " +"**start vid**, **end vids**, **driving side** [**options**])" msgstr "" -msgid "From point :math:`1` to point :math:`3` and vertex :math:`7`." +msgid "**options:** ``[directed, details]``" +msgstr "" + +msgid "" +"From point :math:`1` to point :math:`3` and vertex :math:`7` on an " +"undirected graph" msgstr "" -msgid "From point :math:`1` and vertex :math:`6` to point :math:`3`." +msgid "" +"From point :math:`1` and vertex :math:`6` to point :math:`3` with right " +"driving side in directed graph. (without details)" msgstr "" msgid "" "From point :math:`1` and vertex :math:`6` to point :math:`3` and vertex " -":math:`1`." +":math:`1` with left side driving." +msgstr "" + +msgid "Two combinations" msgstr "" msgid "" -"From point :math:`1` to vertex :math:`10` and from vertex :math:`6` to " -"point :math:`3` with right side driving configuration." +"From point :math:`1` to vertex :math:`10`, and from vertex :math:`6` to " +"point :math:`3` with right side driving. (with details)" +msgstr "" + +msgid "Use :doc:`pgr_findCloseEdges` in the `Points SQL`_." msgstr "" msgid "" @@ -14625,20 +15118,20 @@ msgid "" " graph of point `(2.9, 1.8)`." msgstr "" -msgid "Pass in front or visits." +#, python-brace-format +msgid "" +"All the examples are about traveling from point :math:`1` and vertex " +":math:`5` to points :math:`\\{2, 3, 6\\}` and vertices :math:`\\{10, " +"11\\}` with restrictions" msgstr "" -msgid "" -"Which path (if any) passes in front of point :math:`6` or vertex " -":math:`11` with right side driving topology." +msgid "Passes in front or visits with right side driving." msgstr "" -msgid "Show details on undirected graph." +msgid "For point :math:`6` and vertex :math:`11`." msgstr "" -msgid "" -"From point :math:`1` and vertex :math:`6` to point :math:`3` to vertex " -":math:`1` on an undirected graph, with details." +msgid "Passes in front or visits with left side driving." msgstr "" msgid "``pgr_turnRestrictedPath`` - Experimental" @@ -14662,9 +15155,6 @@ msgstr "" msgid "**options:** ``[directed, heap_paths, stop_on_first, strict]``" msgstr "" -msgid "Returns set of |ksp-result|" -msgstr "" - msgid "From vertex :math:`3` to vertex :math:`8` on a directed graph" msgstr "" @@ -14743,38 +15233,8 @@ msgid "pgr_withPoints(Combinations)" msgstr "" msgid "" -"Modify the graph to include points defined by points_sql. Using Dijkstra " -"algorithm, find the shortest path." -msgstr "" - -msgid "**positive** when it belongs to the edges_sql" -msgstr "" - -msgid "**negative** when it belongs to the points_sql" -msgstr "" - -msgid "The `agg_cost` in the non included values `(v, v)` is `0`" -msgstr "" - -msgid "The `agg_cost` in the non included values `(u, v)` is :math:`\\infty`" -msgstr "" - -msgid "" -"If the values returned are stored in a table, the unique index would be " -"the pair: `(start_vid, end_vid)`." -msgstr "" - -msgid "For **undirected** graphs, the results are **symmetric**." -msgstr "" - -msgid "" -"The sequence of nodes from `u` to `v` is the reverse sequence of nodes " -"from `v` to `u`" -msgstr "" - -msgid "" -"For optimization purposes, any duplicated value in the input arrays of " -"`start vids` or `end vids` or are ignored." +"Modify the graph to include points defined by `Points SQL`_. Using " +"Dijkstra algorithm, find the shortest path." msgstr "" msgid "" @@ -14797,44 +15257,17 @@ msgid "" " **driving side** [**options**])" msgstr "" -msgid "" -"pgr_withPoints(`Edges SQL`_, `Points SQL`_, `Combinations SQL`_, " -"[**options**])" -msgstr "" - -msgid "**options:** ``[directed, details]``" -msgstr "" - -msgid "From point :math:`1` to vertex :math:`10` with details" -msgstr "" - -msgid "\\ \\ :class: signatures" -msgstr "" - -msgid "" -"From point :math:`1` to point :math:`3` and vertex :math:`7` on an " -"undirected graph" -msgstr "" - -msgid "From point :math:`1` and vertex :math:`6` to point :math:`3`" -msgstr "" - -msgid "" -"From point :math:`1` and vertex :math:`6` to point :math:`3` and vertex " -":math:`1`" -msgstr "" - msgid "" "pgr_withPoints(`Edges SQL`_, `Points SQL`_, `Combinations SQL`_, " "**driving side** [**options**])" msgstr "" -msgid "Two combinations" +msgid "**options:** ``[directed, details])``" msgstr "" msgid "" -"From point :math:`1` to vertex :math:`10`, and from vertex :math:`6` to " -"point :math:`3` with **right** side driving." +"From point :math:`1` to vertex :math:`10` with right driving side in " +"directed graph. (without details)" msgstr "" msgid "" @@ -14857,21 +15290,6 @@ msgid "" "identifiers." msgstr "" -msgid "Value in [``r``, ``l``, ``b``] indicating if the driving side is:" -msgstr "" - -msgid "``r`` for right driving side." -msgstr "" - -msgid "``l`` for left driving side." -msgstr "" - -msgid "``b`` for both." -msgstr "" - -msgid "Use :doc:`pgr_findCloseEdges` in the `Points SQL`_." -msgstr "" - #, python-brace-format msgid "" "All the examples are about traveling from point :math:`1` and vertex " @@ -14879,15 +15297,6 @@ msgid "" "11\\}`" msgstr "" -msgid "Passes in front or visits with right side driving." -msgstr "" - -msgid "For point :math:`6` and vertex :math:`11`." -msgstr "" - -msgid "Passes in front or visits with left side driving." -msgstr "" - msgid "" "``pgr_withPointsCost`` - Calculates the shortest path and returns only " "the aggregate cost of the shortest path found, for the combination of " @@ -14910,15 +15319,18 @@ msgstr "" msgid "The returned values are in the form of a set of |matrix-result|." msgstr "" -msgid "**positive** when it belongs to the edges sql" +msgid "**positive** when it belongs to the edges_sql" msgstr "" -msgid "**negative** when it belongs to the points sql" +msgid "**negative** when it belongs to the points_sql" msgstr "" msgid "" -"For optimization purposes, any duplicated value in the input arrays of " -"**start vids** or **end vids** or are ignored." +"If the values returned are stored in a table, the unique index would be " +"the pair: `(start_vid, end_vid)`." +msgstr "" + +msgid "For **undirected** graphs, the results are **symmetric**." msgstr "" msgid "" @@ -14943,7 +15355,7 @@ msgstr "" msgid "" "pgr_withPointsCost(`Edges SQL`_, `Points SQL`_, `Combinations SQL`_, " -"[**options**])" +"**driving side** [**options**])" msgstr "" msgid "**options:** ``[directed]``" @@ -14954,12 +15366,19 @@ msgid "" "family of functions." msgstr "" -msgid "From point :math:`1` to vertex :math:`10` with default options." +msgid "" +"From point :math:`1` to vertex :math:`10` with right driving side in " +"directed graph." msgstr "" msgid "" -"pgr_withPointsCost(`Edges SQL`_, `Points SQL`_, `Combinations SQL`_, " -"**driving side** [**options**])" +"From point :math:`1` and vertex :math:`6` to point :math:`3` with right " +"driving side in directed graph." +msgstr "" + +msgid "" +"From point :math:`1` to vertex :math:`10`, and from vertex :math:`6` to " +"point :math:`3` with right side driving." msgstr "" msgid "" @@ -14990,14 +15409,9 @@ msgid "" ":doc:`pgr_withPoints`." msgstr "" -msgid "" -"Modify the graph to include points defined by points_sql. Using Dijkstra " -"algorithm, return calculate and return a cost matrix." -msgstr "" - msgid "" "pgr_withPointsCostMatrix(`Edges SQL`_, `Points SQL`_, **start vids**, " -"**driving side** [**options**])" +"**driving side** [**options**])" msgstr "" #, python-brace-format @@ -15025,29 +15439,16 @@ msgid "" "point." msgstr "" -msgid "" -"Signature change: ``driving_side`` parameter changed from named optional " -"to unnamed compulsory **driving side**." -msgstr "" - -msgid "pgr_withPointsDD(Single vertex)" -msgstr "" - -msgid "pgr_withPointsDD(Multiple vertices)" -msgstr "" - -msgid "Added ``depth``, ``pred`` and ``start_vid`` column." +msgid "Output columns standardized to |result-spantree|" msgstr "" -msgid "Added ``depth``, ``pred`` columns." +msgid "When ``details`` is ``false``:" msgstr "" -msgid "When ``details`` is ``false``:" +msgid "Points reached within the distance are not included." msgstr "" -msgid "" -"Only points that are visited are removed, that is, points reached within " -"the distance are included" +msgid "Deprecated signatures:" msgstr "" msgid "" @@ -15099,14 +15500,6 @@ msgstr "" msgid "Negative values represent a point" msgstr "" -msgid "**driving side**" -msgstr "" - -msgid "" -"Value in [``r``, ``R``, ``l``, ``L``, ``b``, ``B``] indicating if the " -"driving side is:" -msgstr "" - msgid "``r``, ``R`` for right driving side," msgstr "" @@ -15148,9 +15541,6 @@ msgid "" "driving side, with details." msgstr "" -msgid ":doc:`pgr_drivingDistance`" -msgstr "" - msgid "``pgr_withPointsKSP``" msgstr "" @@ -15159,9 +15549,6 @@ msgid "" "Dijkstra." msgstr "" -msgid "pgr_withPointsKSP(One to One)" -msgstr "" - msgid "pgr_withPointsKSP(One to Many)" msgstr "" @@ -15174,9 +15561,6 @@ msgstr "" msgid "pgr_withPointsKSP(Combinations)" msgstr "" -msgid "pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,char,boolean)``" -msgstr "" - msgid "" "Modifies the graph to include the points defined in the `Points SQL`_ and" " using Yen algorithm, finds the :math:`K` shortest paths." @@ -15244,27 +15628,9 @@ msgstr "" msgid "Using a combinations table on an **directed** graph" msgstr "" -msgid "`Points SQL`_ query as described." -msgstr "" - msgid "Number of required paths" msgstr "" -msgid "**driving_side**" -msgstr "" - -msgid "**CHAR**" -msgstr "" - -msgid "[``r``, ``R``] for right driving side (for directed graph only)" -msgstr "" - -msgid "[``l``, ``L``] for left driving side (for directed graph only)" -msgstr "" - -msgid "[``b``, ``B``] for both (only for undirected graph)" -msgstr "" - msgid "withPointsKSP optional parameters" msgstr "" @@ -15308,13 +15674,13 @@ msgstr "" msgid "" "pgr_withPointsVia(`Edges SQL`_, `Points SQL`_, **via vertices**, " -"[**options**])" +"**driving side** [**options**])" msgstr "" #, python-brace-format msgid "" "Find the route that visits the vertices :math:`\\{ -6, 15, -1\\}` in that" -" order on a **directed** graph." +" order with right driving side in directed graph.." msgstr "" msgid "Use :doc:`pgr_findCloseEdges` in the `Points SQL`_" @@ -15367,35 +15733,11 @@ msgstr "" msgid "Proposed Functions" msgstr "" -msgid ":doc:`pgr_withPoints` - Route from/to points anywhere on the graph." -msgstr "" - -msgid ":doc:`pgr_withPointsCost` - Costs of the shortest paths." -msgstr "" - -msgid ":doc:`pgr_withPointsCostMatrix` - Costs of the shortest paths." -msgstr "" - -msgid ":doc:`pgr_withPointsKSP` - K shortest paths." -msgstr "" - -msgid ":doc:`pgr_withPointsDD` - Driving distance." -msgstr "" - -msgid ":doc:`pgr_withPointsVia` - Via routing" -msgstr "" - msgid "" ":doc:`pgr_lineGraph` - Transformation algorithm for generating a Line " "Graph." msgstr "" -msgid ":doc:`withPoints-family` - Functions based on Dijkstra algorithm." -msgstr "" - -msgid "From the :doc:`TRSP-family`:" -msgstr "" - msgid "Reference" msgstr "" @@ -15769,9 +16111,6 @@ msgstr "" msgid "Results of documentation queries adujsted to boost 1.83.0 version:" msgstr "" -msgid "pgr_edgeDisjointPaths" -msgstr "" - msgid "pgr_stoerWagner" msgstr "" @@ -15800,6 +16139,9 @@ msgstr "" msgid "Fix warnings from cpplint" msgstr "" +msgid "Others" +msgstr "" + msgid "Adjust NEWS generator" msgstr "" @@ -15940,9 +16282,6 @@ msgstr "" msgid "pgr_degree" msgstr "" -msgid "pgr_dijkstra" -msgstr "" - msgid "pgr_ksp" msgstr "" @@ -16283,9 +16622,6 @@ msgstr "" msgid "Coloring" msgstr "" -msgid "pgr_edgeColoring" -msgstr "" - msgid "Experimental promoted to Proposed" msgstr "" @@ -16319,9 +16655,6 @@ msgstr "" msgid "pgr_dijkstraNearCost(One to Many)" msgstr "" -msgid "pgr_sequentialVertexColoring" -msgstr "" - msgid "pgr_extractVertices" msgstr "" @@ -16404,12 +16737,6 @@ msgstr "" msgid "Removing support for Boost v1.53, v1.54 & v1.55" msgstr "" -msgid "pgr_bipartite" -msgstr "" - -msgid "pgr_depthFirstSearch" -msgstr "" - msgid "Dijkstra Near" msgstr "" @@ -16820,9 +17147,6 @@ msgstr "" msgid "pgr_maxCardinalityMatching" msgstr "" -msgid "pgr_maxFlow" -msgstr "" - msgid "pgr_edgeDisjointPaths(One to One)" msgstr "" @@ -16868,9 +17192,6 @@ msgstr "" msgid "pgr_maxFlowMinCost_Cost" msgstr "" -msgid "pgr_turnRestrictedPath" -msgstr "" - msgid "pgr_dagShortestpath" msgstr "" @@ -16901,21 +17222,9 @@ msgstr "" msgid "Breadth First Search family" msgstr "" -msgid "pgr_breadthFirstSearch" -msgstr "" - -msgid "pgr_binaryBreadthFirstSearch" -msgstr "" - msgid "Bellman Ford family" msgstr "" -msgid "pgr_bellmanFord" -msgstr "" - -msgid "pgr_edwardMoore" -msgstr "" - msgid "Moved to legacy" msgstr "" @@ -17033,12 +17342,6 @@ msgstr "" msgid "pgr_johnson" msgstr "" -msgid "pgr_aStar" -msgstr "" - -msgid "pgr_bdAstar" -msgstr "" - msgid "pgr_bdDijstra" msgstr "" @@ -17048,15 +17351,9 @@ msgstr "" msgid "pgr_dijkstraCostMatrix" msgstr "" -msgid "pgr_dijkstraCost" -msgstr "" - msgid "pgr_drivingDistance" msgstr "" -msgid "pgr_KSP" -msgstr "" - msgid "pgr_dijkstraVia (proposed)" msgstr "" @@ -17357,9 +17654,6 @@ msgid "" " on Github." msgstr "" -msgid "pgr_bdDijkstra" -msgstr "" - msgid "Deprecated signatures." msgstr "" @@ -17438,9 +17732,6 @@ msgstr "" msgid "pgr_eucledianTSP" msgstr "" -msgid "pgr_withPointsCostMatrix" -msgstr "" - msgid "pgr_maxFlowPushRelabel(One to One)" msgstr "" @@ -18252,6 +18543,9 @@ msgid "" "forest, consisting of a spanning tree of each connected component." msgstr "" +msgid "Characteristics:" +msgstr "" + msgid "" "pgRouting community support is available through the `pgRouting website " "`_, `documentation " diff --git a/locale/pot/pgrouting_doc_strings.pot b/locale/pot/pgrouting_doc_strings.pot index 148341765bf..3c3f84d9670 100644 --- a/locale/pot/pgrouting_doc_strings.pot +++ b/locale/pot/pgrouting_doc_strings.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pgRouting v4.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-16 16:56+0000\n" +"POT-Creation-Date: 2025-06-29 15:49+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -2494,31 +2494,25 @@ msgstr "" msgid ":doc:`pgr_edgeColoring` - Edge Coloring algorithm using Vizing's theorem." msgstr "" -msgid "Returns set of ``(vertex_id, color_id)``" +msgid "Returns set of |result_edge_color|" msgstr "" -msgid "``vertex_id``" -msgstr "" - -msgid "Identifier of the vertex." +msgid "``color``" msgstr "" -msgid "``color_id``" -msgstr "" - -msgid "Identifier of the color of the vertex." +msgid "Color of the edge." msgstr "" msgid "The minimum value of color is 1." msgstr "" -msgid "Returns set of ``(edge_id, color_id)``" +msgid "Returns set of |result_node_color|" msgstr "" -msgid "``edge_id``" +msgid "Identifier of the node." msgstr "" -msgid "Identifier of the color of the edge." +msgid "Color of the node." msgstr "" msgid "`Boost: `__" @@ -2605,10 +2599,10 @@ msgstr "" msgid ":doc:`pgr_bdDijkstraCost`" msgstr "" -msgid ":doc:`pgr_dijkstraNearCost`" +msgid ":doc:`pgr_withPointsCost`" msgstr "" -msgid ":doc:`pgr_withPointsCost`" +msgid ":doc:`pgr_dijkstraNearCost`" msgstr "" msgid "Each function works as part of the family it belongs to." @@ -2755,6 +2749,9 @@ msgstr "" msgid "If column is not present, a sequential negative **value** will be given automatically." msgstr "" +msgid "``edge_id``" +msgstr "" + msgid "Identifier of the \"closest\" edge to the point." msgstr "" @@ -3463,6 +3460,27 @@ msgstr "" msgid ":doc:`pgr_separateTouching` - Breaks geometries that (almost) touch each other." msgstr "" +msgid ":doc:`withPoints-family`" +msgstr "" + +msgid ":doc:`pgr_withPoints` - Route from/to points anywhere on the graph." +msgstr "" + +msgid ":doc:`pgr_withPointsCost` - Costs of the shortest paths." +msgstr "" + +msgid ":doc:`pgr_withPointsCostMatrix` - Costs of the shortest paths." +msgstr "" + +msgid ":doc:`pgr_withPointsKSP` - K shortest paths." +msgstr "" + +msgid ":doc:`pgr_withPointsDD` - Driving distance." +msgstr "" + +msgid ":doc:`pgr_withPointsVia` - Via routing" +msgstr "" + msgid "Functions by categories" msgstr "" @@ -3487,6 +3505,15 @@ msgstr "" msgid ":doc:`DFS-category`" msgstr "" +msgid ":doc:`withPoints-category`" +msgstr "" + +msgid ":doc:`withPoints-family` - Functions based on Dijkstra algorithm." +msgstr "" + +msgid "From the :doc:`TRSP-family`:" +msgstr "" + msgid "Available Functions but not official pgRouting functions" msgstr "" @@ -3505,124 +3532,325 @@ msgstr "" msgid "To see all issues & pull requests closed by this release see the `Git closed milestone for 4.0.0 `__" msgstr "" -msgid "Functions promoted to official" +msgid "Summary of changes by function" +msgstr "" + +msgid "pgr_aStar" +msgstr "" + +msgid "Combinations signature promoted to official." +msgstr "" + +msgid "pgr_aStarCost" +msgstr "" + +msgid "pgr_bdAstar" +msgstr "" + +msgid "pgr_bdAstarCost" +msgstr "" + +msgid "pgr_bdDijkstra" +msgstr "" + +msgid "Output columns standardized to |short-generic-result|" +msgstr "" + +msgid "pgr_bdDijkstraCost" +msgstr "" + +msgid "pgr_bellmanFord" +msgstr "" + +msgid "pgr_binaryBreadthFirstSearch" +msgstr "" + +msgid "pgr_bipartite" +msgstr "" + +msgid "Output columns standardized to |result_node_color|" +msgstr "" + +msgid "pgr_boykovKolmogorov" +msgstr "" + +msgid "pgr_breadthFirstSearch" +msgstr "" + +msgid ":" +msgstr "" + +msgid "Standardizing output columns to |result-spantree|" +msgstr "" + +msgid "pgr_contraction" +msgstr "" + +msgid "Breaking change, signatures no longer available:" +msgstr "" + +msgid "pgr_contraction(text,bigint[],integer,bigint[],boolean)" +msgstr "" + +msgid "pgr_dagShortestPath" +msgstr "" + +msgid "pgr_depthFirstSearch" +msgstr "" + +msgid "pgr_dijkstra" +msgstr "" + +msgid "pgr_dijkstraCost" +msgstr "" + +msgid "pgr_edgeColoring" +msgstr "" + +msgid "Output columns standardized to |result_edge_color|" +msgstr "" + +msgid "pgr_edgeDisjointPaths" +msgstr "" + +msgid "Output columns standardized to |generic-result|" +msgstr "" + +msgid "pgr_edmondsKarp" +msgstr "" + +msgid "pgr_edwardMoore" +msgstr "" + +msgid "pgr_KSP" +msgstr "" + +msgid "All signatures promoted to official." +msgstr "" + +msgid "pgr_maxFlow" +msgstr "" + +msgid "pgr_pushRelabel" +msgstr "" + +msgid "pgr_sequentialVertexColoring" msgstr "" msgid "pgr_trsp" msgstr "" +msgid "Function promoted to official." +msgstr "" + +msgid "pgr_trsp(text,integer,integer,boolean,boolean,text)" +msgstr "" + +msgid "pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text)" +msgstr "" + msgid "pgr_trspVia" msgstr "" +msgid "pgr_trspviavertices(text,anyarray,boolean,boolean,text)" +msgstr "" + msgid "pgr_trspVia_withPoints" msgstr "" +msgid "**Driving side** parameter is positional unnamed and compulsory." +msgstr "" + +msgid "Valid values depend on kind of graph" +msgstr "" + +msgid "pgr_trspvia_withpoints(text,text,text,anyarray,boolean,boolean,boolean,character,boolean)" +msgstr "" + +msgid "pgr_trspviaedges(text,integer[],double precision[],boolean,boolean,text)" +msgstr "" + msgid "pgr_trsp_withPoints" msgstr "" -msgid "`#2905 `__ pgr_withPoints" +msgid "pgr_trsp_withpoints(text,text,text,anyarray,anyarray,boolean,character,boolean)" msgstr "" -msgid "Output columns standardized to |short-generic-result|" +msgid "pgr_trsp_withpoints(text,text,text,anyarray,bigint,boolean,character,boolean)" msgstr "" -msgid "Function promoted to official." +msgid "pgr_trsp_withpoints(text,text,text,bigint,anyarray,boolean,character,boolean)" msgstr "" -msgid "Signature change: ``driving_side`` parameter changed from named optional to unnamed positional." +msgid "pgr_trsp_withpoints(text,text,text,bigint,bigint,boolean,character,boolean)" msgstr "" -msgid "Directed graph valid values: ``l`` or ``L`` and ``r``, ``R``" +msgid "pgr_trsp_withpoints(text,text,text,text,boolean,character,boolean)" msgstr "" -msgid "Undirected graph valid values: ``b`` or ``B``" +msgid "pgr_turnRestrictedPath" msgstr "" -msgid "`#2905 `__ pgr_withPointsCost" +msgid "Output columns standardized to |nksp-result|" +msgstr "" + +msgid "pgr_withPoints" +msgstr "" + +msgid "pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean)" +msgstr "" + +msgid "pgr_withpoints(text,text,anyarray,bigint,boolean,character,boolean)" +msgstr "" + +msgid "pgr_withpoints(text,text,bigint,anyarray,boolean,character,boolean)" +msgstr "" + +msgid "pgr_withpoints(text,text,bigint,bigint,boolean,character,boolean)" +msgstr "" + +msgid "pgr_withpoints(text,text,text,boolean,character,boolean)" +msgstr "" + +msgid "pgr_withPointsCost" +msgstr "" + +msgid "**Driving side** parameter is unnamed and compulsory." msgstr "" msgid "Output columns standardized to |matrix-result|" msgstr "" -msgid "`#2905 `__ pgr_withPointsCostMatrix" +msgid "pgr_withpointscost(text,text,anyarray,anyarray,boolean,character)" +msgstr "" + +msgid "pgr_withpointscost(text,text,anyarray,bigint,boolean,character)" +msgstr "" + +msgid "pgr_withpointscost(text,text,bigint,anyarray,boolean,character)" +msgstr "" + +msgid "pgr_withpointscost(text,text,bigint,bigint,boolean,character)" +msgstr "" + +msgid "pgr_withpointscost(text,text,text,boolean,character)" +msgstr "" + +msgid "pgr_withPointsCostMatrix" +msgstr "" + +msgid "pgr_withpointscostmatrix(text,text,anyarray,boolean,character)" msgstr "" msgid "pgr_withPointsDD" msgstr "" +msgid "pgr_withpointsdd(text,text,bigint,double precision,boolean,character,boolean)" +msgstr "" + +msgid "pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean)" +msgstr "" + msgid "pgr_withPointsKSP" msgstr "" +msgid "pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean)" +msgstr "" + msgid "pgr_withPointsVia" msgstr "" -msgid "Signatures promoted to official" +msgid "pgr_withpointsvia(text,text,anyarray,boolean,boolean,boolean,character,boolean)" msgstr "" -msgid "`#2718 `__" +msgid "Functions promoted to official" msgstr "" -msgid "Make official the Combinations signature on the official functions" +msgid "`#2701 `__ pgr_trsp" msgstr "" -msgid "pgr_aStar(Combinations)" +msgid "`#2701 `__ pgr_trspVia" msgstr "" -msgid "pgr_aStarCost(Combinations)" +msgid "`#2701 `__ pgr_trspVia_withPoints" msgstr "" -msgid "pgr_bdAstar(Combinations)" +msgid "`#2701 `__ pgr_trsp_withPoints" msgstr "" -msgid "pgr_bdAstarCost(Combinations)" +msgid "`#2700 `__ pgr_withPoints" msgstr "" -msgid "pgr_bdDijkstra(Combinations)" +msgid "`#2700 `__ pgr_withPointsCost" msgstr "" -msgid "pgr_bdDijkstraCost(Combinations)" +msgid "`#2700 `__ pgr_withPointsCostMatrix" msgstr "" -msgid "pgr_dijkstra(Combinations)" +msgid "`#2700 `__ pgr_withPointsDD" msgstr "" -msgid "pgr_dijkstraCost(Combinations)" +msgid "`#2700 `__ pgr_withPointsKSP" msgstr "" -msgid "pgr_KSP(All signatures)" +msgid "`#2700 `__ pgr_withPointsVia" msgstr "" -msgid "pgr_boykovKolmogorov(Combinations)" +msgid "Signatures promoted to official" msgstr "" -msgid "pgr_edmondsKarp(Combinations)" +msgid "`#2718 `__ pgr_aStar(Combinations)" msgstr "" -msgid "pgr_maxFlow(Combinations)" +msgid "`#2718 `__ pgr_aStarCost(Combinations)" msgstr "" -msgid "pgr_pushRelabel(Combinations)" +msgid "`#2718 `__ pgr_bdAstar(Combinations)" msgstr "" -msgid "SQL signatures and output standardization" +msgid "`#2718 `__ pgr_bdAstarCost(Combinations)" msgstr "" -msgid "`#2904 `__ Standardize output columns of functions with different output columns within overloads" +msgid "`#2718 `__ pgr_bdDijkstra(Combinations)" msgstr "" -msgid "Official functions" +msgid "`#2718 `__ pgr_bdDijkstraCost(Combinations)" msgstr "" -msgid "`#2905 `__" +msgid "`#2718 `__ pgr_dijkstra(Combinations)" msgstr "" -msgid "pgr_withPoints" +msgid "`#2718 `__ pgr_dijkstraCost(Combinations)" msgstr "" -msgid "`#2906 `__ pgr_bdDijkstra" +msgid "`#2718 `__ pgr_KSP(All signatures)" msgstr "" -msgid "Combinations signature promoted to official." +msgid "`#2718 `__ pgr_boykovKolmogorov(Combinations)" +msgstr "" + +msgid "`#2718 `__ pgr_edmondsKarp(Combinations)" +msgstr "" + +msgid "`#2718 `__ pgr_maxFlow(Combinations)" +msgstr "" + +msgid "`#2718 `__ pgr_pushRelabel(Combinations)" +msgstr "" + +msgid "SQL signatures and output standardization" +msgstr "" + +msgid "`#2904 `__ Standardize output columns of functions with different output columns within overloads" +msgstr "" + +msgid "Standardized to |short-generic-result|" +msgstr "" + +msgid "`#2905 `__ pgr_withPoints" +msgstr "" + +msgid "`#2906 `__ pgr_bdDijkstra" msgstr "" msgid "`#2907 `__ pgr_bellmanFord" @@ -3637,61 +3865,94 @@ msgstr "" msgid "`#2913 `__ pgr_DAGshortestPath" msgstr "" -msgid "Removal of SQL deprecated signatures" +msgid "Standardized to |matrix-result|" msgstr "" -msgid "`#2798 `__: pgr_contraction" +msgid "`#2905 `__ pgr_withPointsCost" msgstr "" -msgid "pgr_contraction(text,bigint[],integer,bigint[],boolean)" +msgid "`#2905 `__ pgr_withPointsCostMatrix" msgstr "" -msgid "`#2683 `__: pgr_trsp" +msgid "Standardized to |result_edge_color|" msgstr "" -msgid "pgr_trsp(text,integer,integer,boolean,boolean,text)" +msgid "`#2924 `__ pgr_edgeColoring" msgstr "" -msgid "pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text)" +msgid "Standardized to |result_node_color|" msgstr "" -msgid "`#2888 `__: pgr_findCloseEdges" +msgid "`#2924 `__ pgr_bipartite" msgstr "" -msgid "pgr_findcloseedges(text,geometry,double precision,integer,boolean,boolean)" +msgid "`#2927 `__ pgr_sequentialVertexColoring" msgstr "" -msgid "pgr_findcloseedges(text,geometry[],double precision,integer,boolean,boolean)" +msgid "Standardized to |result-spantree|" msgstr "" -msgid "`#2890 `__: pgr_withPointsDD" +msgid "`#2931 `__ pgr_breadthFirstSearch" msgstr "" -msgid "pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean)" +msgid "`#2931 `__ pgr_depthFirstSearch" msgstr "" -msgid "pgr_withpointsdd(text,text,bigint,double precision,boolean,character,boolean)" +msgid "Standardized to |generic-result|" msgstr "" -msgid "`#2895 `__: pgr_withPointsKSP" +msgid "`#2909 `__ pgr_edgeDisjointPaths" msgstr "" -msgid "pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean)" +msgid "`#2909 `__ pgr_turnRestrictedPaths" +msgstr "" + +msgid "Removal of SQL deprecated signatures" +msgstr "" + +msgid "`#2798 `__: pgr_contraction" +msgstr "" + +msgid "`#2683 `__: pgr_trsp" +msgstr "" + +msgid "`#2683 `__: pgr_trspVia" +msgstr "" + +msgid "`#2700 `__: pgr_withPointsVia" +msgstr "" + +msgid "`#2888 `__: pgr_findCloseEdges" +msgstr "" + +msgid "pgr_findcloseedges(text,geometry,double precision,integer,boolean,boolean)" +msgstr "" + +msgid "pgr_findcloseedges(text,geometry[],double precision,integer,boolean,boolean)" +msgstr "" + +msgid "`#2890 `__: pgr_withPointsDD" +msgstr "" + +msgid "`#2895 `__: pgr_withPointsKSP" msgstr "" msgid "`#2899 `__: pgr_maxCardinalityMatch" msgstr "" -msgid "pgr_maxcardinalitymatch(text,boolean)" +msgid "pgr_maxCardinalityMatch(text,boolean)" msgstr "" -msgid "`#2901 `__: TSP family" +msgid "`#2901 `__: pgr_TSP" msgstr "" msgid "pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean)" msgstr "" -msgid "pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean)" +msgid "`#2901 `__: pgr_TSPeuclidean" +msgstr "" + +msgid "pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer, integer,double precision,double precision,double precision,boolean)" msgstr "" msgid "Removal of SQL deprecated functions" @@ -3721,157 +3982,286 @@ msgstr "" msgid "`#2886 `__: pgr_nodeNetwork" msgstr "" -msgid "rubric:: Removal of SQL deprecated internal functions" +msgid "Removal of SQL deprecated internal functions" +msgstr "" + +msgid "#2748 _pgr_alphashape(text,double precision)" +msgstr "" + +msgid "#2861 _pgr_checkverttab(text,text[],integer,text)" +msgstr "" + +msgid "#2861 _pgr_createindex(text,text,text,integer,text)" +msgstr "" + +msgid "#2861 _pgr_createindex(text,text,text,text,integer,text)" +msgstr "" + +msgid "#2913 _pgr_dagshortestpath(text,anyarray,anyarray,boolean,boolean)" +msgstr "" + +msgid "#2913 _pgr_dagshortestpath(text,text,boolean,boolean)" msgstr "" -msgid "Related issues: `#2897 `__" +msgid "#2730 _pgr_dijkstranear(text,anyarray,anyarray,bigint,boolean)" msgstr "" -msgid "_pgr_dijkstranear(text,anyarray,anyarray,bigint,boolean)" +msgid "#2730 _pgr_dijkstranear(text,anyarray,bigint,bigint,boolean)" msgstr "" -msgid "_pgr_dijkstranear(text,anyarray,bigint,bigint,boolean)" +msgid "#2730 _pgr_dijkstranear(text,bigint,anyarray,bigint,boolean)" msgstr "" -msgid "_pgr_dijkstranear(text,bigint,anyarray,bigint,boolean)" +msgid "#2730 _pgr_dijkstra(text,anyarray,anyarray,boolean,boolean,boolean,bigint)" msgstr "" -msgid "_pgr_dijkstra(text,anyarray,anyarray,boolean,boolean,boolean,bigint)" +msgid "#2730 _pgr_dijkstra(text,anyarray,anyarray,boolean,boolean,boolean,bigint,boolean)" msgstr "" -msgid "_pgr_dijkstra(text,text,boolean,boolean,boolean)" +msgid "#2730 _pgr_dijkstra(text,text,boolean,boolean,bigint,boolean)" msgstr "" -msgid "_pgr_drivingdistance(text,anyarray,double precision,boolean,boolean)" +msgid "#2730 _pgr_dijkstra(text,text,boolean,boolean,boolean)" msgstr "" -msgid "_pgr_ksp(text,anyarray,anyarray,integer,boolean,boolean,boolean)" +msgid "#2735 _pgr_drivingdistance(text,anyarray,double precision,boolean,boolean)" msgstr "" -msgid "_pgr_ksp(text,bigint,bigint,integer,boolean,boolean)" +msgid "#2861 _pgr_endpoint(geometry)" msgstr "" -msgid "_pgr_ksp(text,text,integer,boolean,boolean)" +msgid "#2861 _pgr_getcolumnname(text,text,integer,text)" msgstr "" -msgid "_pgr_kruskal(text,anyarray,text,bigint,double precision)" +msgid "#2861 _pgr_getcolumnname(text,text,text,integer,text)" msgstr "" -msgid "_pgr_maxcardinalitymatch(text,boolean)" +msgid "#2861 _pgr_getcolumntype(text,text,integer,text)" msgstr "" -msgid "_pgr_prim(text,anyarray,text,bigint,double precision)" +msgid "#2861 _pgr_getcolumntype(text,text,text,integer,text)" msgstr "" -msgid "_pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text)" +msgid "#2861 _pgr_gettablename(text,integer,text)" msgstr "" -msgid "_pgr_trsp(text,text,anyarray,anyarray,boolean)" +msgid "#2861 _pgr_iscolumnindexed(text,text,integer,text)" msgstr "" -msgid "_pgr_trsp(text,text,anyarray,bigint,boolean)" +msgid "#2861 _pgr_iscolumnindexed(text,text,text,integer,text)" msgstr "" -msgid "_pgr_trsp(text,text,bigint,anyarray,boolean)" +msgid "#2861 _pgr_iscolumnintable(text,text)" msgstr "" -msgid "_pgr_trsp(text,text,bigint,bigint,boolean)" +msgid "#2745 _pgr_kruskal(text,anyarray,text,bigint,double precision)" msgstr "" -msgid "_pgr_trspviavertices(text,integer[],boolean,boolean,text)" +msgid "#2897 _pgr_ksp(text,anyarray,anyarray,integer,boolean,boolean,boolean)" msgstr "" -msgid "_pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean)" +msgid "#2897 _pgr_ksp(text,bigint,bigint,integer,boolean,boolean)" msgstr "" -msgid "_pgr_withpointsksp(text,text,anyarray,anyarray,integer,character,boolean,boolean,boolean,boolean)" +msgid "#2897 _pgr_ksp(text,text,integer,boolean,boolean)" msgstr "" -msgid "_pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean)" +msgid "#2899 _pgr_maxcardinalitymatch(text,boolean)" msgstr "" -msgid "_pgr_withpointsksp(text,text,text,integer,character,boolean,boolean,boolean)" +msgid "#2861 _pgr_msg(integer,text,text)" msgstr "" -msgid "_pgr_withpointsvia(text,bigint[],double precision[],boolean)" +msgid "#2861 _pgr_onerror(boolean,integer,text,text,text,text)" msgstr "" -msgid "_trsp(text,text,anyarray,anyarray,boolean)" +msgid "#2861 _pgr_pointtoid(geometry,double precision,text,integer)" msgstr "" -msgid "_v4trsp(text,text,anyarray,anyarray,boolean)" +msgid "#2743 _pgr_prim(text,anyarray,text,bigint,double precision)" msgstr "" -msgid "_v4trsp(text,text,text,boolean)" +msgid "#2861 _pgr_quote_ident(text)" msgstr "" -msgid "_pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean)" +msgid "#2861 _pgr_startpoint(geometry)" msgstr "" -msgid "_pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean)" +msgid "#2683 _pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text)" msgstr "" -msgid "`#2913 `__ _pgr_dagshortestpath(text,text,boolean,boolean)" +msgid "#2683 _pgr_trsp(text,text,anyarray,anyarray,boolean)" msgstr "" -msgid "`#2913 `__ _pgr_dagshortestpath(text,anyarray,anyarray,boolean,boolean)" +msgid "#2683 _pgr_trsp(text,text,anyarray,bigint,boolean)" msgstr "" -msgid "`#2861 `__: Remove unused internal functions" +msgid "#2683 _pgr_trsp(text,text,bigint,anyarray,boolean)" msgstr "" -msgid "_pgr_checkverttab(text,text[],integer,text)" +msgid "#2683 _pgr_trsp(text,text,bigint,bigint,boolean)" msgstr "" -msgid "_pgr_createindex(text,text,text,integer,text)" +msgid "#2682 _pgr_trspviavertices(text,integer[],boolean,boolean,text)" msgstr "" -msgid "_pgr_createindex(text,text,text,text,integer,text)" +msgid "#2919 _pgr_trspvia_withpoints(text,text,text,anyarray,boolean,boolean,boolean,character,boolean)" msgstr "" -msgid "_pgr_endpoint(geometry)" +msgid "#2919 _pgr_trsp_withpoints(text,text,text,anyarray,anyarray,boolean,character,boolean)" msgstr "" -msgid "_pgr_getcolumnname(text,text,integer,text)" +msgid "#2919 _pgr_trsp_withpoints(text,text,text,text,boolean,character,boolean)" msgstr "" -msgid "_pgr_getcolumnname(text,text,text,integer,text)" +msgid "#2901 _pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean)" msgstr "" -msgid "_pgr_getcolumntype(text,text,integer,text)" +msgid "#2901 _pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean)" msgstr "" -msgid "_pgr_getcolumntype(text,text,text,integer,text)" +msgid "#2861 _pgr_versionless(text,text)" msgstr "" -msgid "_pgr_gettablename(text,integer,text)" +msgid "#2890 _pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean)" msgstr "" -msgid "_pgr_iscolumnindexed(text,text,integer,text)" +msgid "#2895 _pgr_withpointsksp(text,text,anyarray,anyarray,integer,character,boolean,boolean,boolean,boolean)" msgstr "" -msgid "_pgr_iscolumnindexed(text,text,text,integer,text)" +msgid "#2895 _pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean)" msgstr "" -msgid "_pgr_iscolumnintable(text,text)" +msgid "#2895 _pgr_withpointsksp(text,text,text,integer,character,boolean,boolean,boolean)" msgstr "" -msgid "_pgr_msg(integer,text,text)" +msgid "#2741 _pgr_withpointsvia(text,bigint[],double precision[],boolean)" msgstr "" -msgid "_pgr_onerror(boolean,integer,text,text,text,text)" +msgid "#2741 _pgr_withpointsvia(text,text,anyarray,boolean,boolean,boolean,character,boolean)" msgstr "" -msgid "_pgr_pointtoid(geometry,double precision,text,integer)" +msgid "#2683 _trsp(text,text,anyarray,anyarray,boolean)" msgstr "" -msgid "_pgr_quote_ident(text)" +msgid "#2683 _v4trsp(text,text,anyarray,anyarray,boolean)" msgstr "" -msgid "_pgr_startpoint(geometry)" +msgid "#2683 _v4trsp(text,text,text,boolean)" msgstr "" -msgid "_pgr_versionless(text,text)" +msgid "Summary of functions and signatures no longer on pgrouting" +msgstr "" + +msgid "#2748 pgr_alphashape(geometry,double precision)" +msgstr "" + +msgid "#2752 pgr_analyzegraph(text,double precision,text,text,text,text,text)" +msgstr "" + +msgid "#2755 pgr_analyzeoneway(text,text[],text[],text[],text[],boolean,text,text,text)" +msgstr "" + +msgid "#2798 pgr_contraction(text,bigint[],integer,bigint[],boolean)" +msgstr "" + +msgid "#2751 pgr_createtopology(text,double precision,text,text,text,text,text,boolean)" +msgstr "" + +msgid "#2827 pgr_createverticestable(text,text,text,text,text)" +msgstr "" + +msgid "#2888 pgr_findcloseedges(text,geometry,double precision,integer,boolean,boolean)" +msgstr "" + +msgid "#2888 pgr_findcloseedges(text,geometry[],double precision,integer,boolean,boolean)" +msgstr "" + +msgid "#2899 pgr_maxcardinalitymatch(text,boolean)" +msgstr "" + +msgid "#2886 pgr_nodenetwork(text,double precision,text,text,text,text,boolean)" +msgstr "" + +msgid "#2683 pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text)" +msgstr "" + +msgid "#2683 pgr_trsp(text,integer,integer,boolean,boolean,text)" +msgstr "" + +msgid "#2681 pgr_trspviaedges(text,integer[],double precision[],boolean,boolean,text)" +msgstr "" + +msgid "#2682 pgr_trspviavertices(text,anyarray,boolean,boolean,text)" +msgstr "" + +msgid "#2919 pgr_trspvia_withpoints(text,text,text,anyarray,boolean,boolean,boolean,character,boolean)" +msgstr "" + +msgid "#2919 pgr_trsp_withpoints(text,text,text,anyarray,anyarray,boolean,character,boolean)" +msgstr "" + +msgid "#2919 pgr_trsp_withpoints(text,text,text,anyarray,bigint,boolean,character,boolean)" +msgstr "" + +msgid "#2919 pgr_trsp_withpoints(text,text,text,bigint,anyarray,boolean,character,boolean)" +msgstr "" + +msgid "#2919 pgr_trsp_withpoints(text,text,text,bigint,bigint,boolean,character,boolean)" +msgstr "" + +msgid "#2919 pgr_trsp_withpoints(text,text,text,text,boolean,character,boolean)" +msgstr "" + +msgid "#2901 pgr_tspeuclidean(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean)" +msgstr "" + +msgid "#2901 pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean)" +msgstr "" + +msgid "#2919 pgr_withpointscostmatrix(text,text,anyarray,boolean,character)" +msgstr "" + +msgid "#2919 pgr_withpointscost(text,text,anyarray,anyarray,boolean,character)" +msgstr "" + +msgid "#2919 pgr_withpointscost(text,text,anyarray,bigint,boolean,character)" +msgstr "" + +msgid "#2919 pgr_withpointscost(text,text,bigint,anyarray,boolean,character)" +msgstr "" + +msgid "#2919 pgr_withpointscost(text,text,bigint,bigint,boolean,character)" +msgstr "" + +msgid "#2919 pgr_withpointscost(text,text,text,boolean,character)" +msgstr "" + +msgid "#2890 pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean)" +msgstr "" + +msgid "#2890 pgr_withpointsdd(text,text,bigint,double precision,boolean,character,boolean)" +msgstr "" + +msgid "#2895 pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean)" +msgstr "" + +msgid "#2919 pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean)" +msgstr "" + +msgid "#2919 pgr_withpoints(text,text,anyarray,bigint,boolean,character,boolean)" +msgstr "" + +msgid "#2919 pgr_withpoints(text,text,bigint,anyarray,boolean,character,boolean)" +msgstr "" + +msgid "#2919 pgr_withpoints(text,text,bigint,bigint,boolean,character,boolean)" +msgstr "" + +msgid "#2919 pgr_withpoints(text,text,text,boolean,character,boolean)" +msgstr "" + +msgid "#2919 pgr_withpointsvia(text,text,anyarray,boolean,boolean,boolean,character,boolean)" msgstr "" msgid "Code enhancements" @@ -3883,10 +4273,10 @@ msgstr "" msgid "Refactor the Script to build the update PostgreSQL file." msgstr "" -msgid "One driver for:" +msgid "One process & driver for:" msgstr "" -msgid "allpairs: johnson and Flowy-Warshall" +msgid "allpairs: johnson and Floyd-Warshall" msgstr "" msgid "Shortest path: Dijkstra and withPoints using Dijkstra" @@ -3895,10 +4285,49 @@ msgstr "" msgid "Deprecation of internal C/C++ functions" msgstr "" +msgid "Deprecated functions are substituted by new function." +msgstr "" + +msgid "_pgr_drivingdistance => _pgr_drivingdistancev4" +msgstr "" + +msgid "_pgr_withpointsdd => _pgr_withpointsddv4" +msgstr "" + +msgid "_pgr_kruskal => _pgr_kruskalv4" +msgstr "" + +msgid "_pgr_prim => _pgr_primv4" +msgstr "" + +msgid "_pgr_dijkstra => _pgr_dijkstra_v4" +msgstr "" + +msgid "_pgr_withpointsksp => _pgr_withpointsksp_v4" +msgstr "" + +msgid "_pgr_trspvia_withpoints => _pgr_trspvia_withpoints_v4" +msgstr "" + +msgid "_pgr_trsp_withpoints => _pgr_trsp_withpoints_v4" +msgstr "" + +msgid "_pgr_withpointsvia => _pgr_withpointsvia_v4" +msgstr "" + msgid "Internal C/C++ functions in legacy" msgstr "" -msgid "`#2913 `__ _pgr_dagshortestpath" +msgid "#2683 _trsp" +msgstr "" + +msgid "#2683 _v4trsp" +msgstr "" + +msgid "#2748 _pgr_alphashape" +msgstr "" + +msgid "#2913 _pgr_dagshortestpath" msgstr "" msgid "All releases" @@ -3961,79 +4390,58 @@ msgstr "" msgid "Function" msgstr "" -msgid ":doc:`pgr_dijkstra` [1]_" +msgid ":doc:`pgr_dijkstra`" msgstr "" msgid "`Migration of single path functions`_" msgstr "" -msgid ":doc:`pgr_aStar` [1]_" -msgstr "" - -msgid ":doc:`pgr_bdAstar` [1]_" -msgstr "" - -msgid ":doc:`pgr_drivingDistance` [1]_" -msgstr "" - -msgid "`Migration of spanning tree functions`_" -msgstr "" - -msgid ":doc:`pgr_withPointsDD` [2]_" -msgstr "" - -msgid ":doc:`pgr_kruskalBFS` [1]_" -msgstr "" - -msgid ":doc:`pgr_kruskalDD` [1]_" -msgstr "" - -msgid ":doc:`pgr_kruskalDFS` [1]_" +msgid ":doc:`pgr_aStar`" msgstr "" -msgid ":doc:`pgr_primBFS` [1]_" +msgid ":doc:`pgr_bdAstar`" msgstr "" -msgid ":doc:`pgr_primDD` [1]_" +msgid ":doc:`pgr_drivingDistance`" msgstr "" -msgid ":doc:`pgr_primDFS` [1]_" +msgid "`Migration of spanning tree functions`_" msgstr "" -msgid ":doc:`pgr_bdDijkstra` [1]_" +msgid ":doc:`pgr_withPointsDD`" msgstr "" -msgid ":doc:`pgr_bellmanFord` [3]_" +msgid ":doc:`pgr_bdDijkstra`" msgstr "" -msgid ":doc:`pgr_binaryBreadthFirstSearch` [3]_" +msgid ":doc:`pgr_binaryBreadthFirstSearch`" msgstr "" -msgid ":doc:`pgr_dagShortestPath` [3]_" +msgid ":doc:`pgr_bipartite`" msgstr "" -msgid ":doc:`pgr_edwardMoore` [3]_" +msgid "`Migration of output column name change`_" msgstr "" -msgid ":doc:`pgr_withPoints` [2]_" +msgid ":doc:`pgr_breadthFirstSearch`" msgstr "" -msgid ":doc:`pgr_withPointsCost` [2]_" +msgid ":doc:`pgr_depthFirstSearch`" msgstr "" -msgid "`Migration of cost functions`_" +msgid ":doc:`pgr_edgeColoring`" msgstr "" -msgid ":doc:`pgr_withPointsCostMatrix` [2]_" +msgid "`Migration of multiple paths functions`_" msgstr "" -msgid "Official function before v4.0.0" +msgid ":doc:`pgr_sequentialVertexColoring`" msgstr "" -msgid "Official function in v4.0.0" +msgid ":doc:`pgr_withPoints`" msgstr "" -msgid "Experimental or proposed in v4.0.0" +msgid "`Migration of cost functions`_" msgstr "" msgid "Migration of cost functions" @@ -4141,10 +4549,67 @@ msgstr "" msgid "Migrating `this v3.8 `__ example." msgstr "" +msgid "Migration of multiple paths functions" +msgstr "" + +msgid "The standardized :ref:`pgRouting-concepts:Result columns for single path functions` are |nksp-result|" +msgstr "" + +msgid "``pgr_KSP``" +msgstr "" + +msgid "v < 3.6" +msgstr "" + +msgid ":ref:`from_ksp_result`" +msgstr "" + +msgid "``pgr_edgeDisjointPaths``" +msgstr "" + +msgid ":ref:`from_result_disjoint`" +msgstr "" + +msgid "Migration of |ksp-result|" +msgstr "" + +msgid "|nksp-result|" +msgstr "" + +msgid "Before updating pgRouting, enumerate the |ksp-result|" +msgstr "" + +msgid "One to One example using ``pgr_KSP``" +msgstr "" + +msgid "Using `this `__ example." +msgstr "" + +msgid "Migration of |result-disjoint|" +msgstr "" + +msgid "Before updating pgRouting, enumerate the |result-disjoint|" +msgstr "" + +msgid "Skip when applicable, ``start_vid``" +msgstr "" + +msgid "Skip when applicable, ``end_vid``" +msgstr "" + +msgid "One to One example using ``pgr_edgeDisjointPaths``" +msgstr "" + +msgid "Migrating `this v3.8 `__ example." +msgstr "" + +msgid "Before updating pgRouting enumerate the columns: |ksp-result|" +msgstr "" + msgid "Migration of single path functions" msgstr "" -msgid "THe standardized :ref:`pgRouting-concepts:Result columns for single path functions` are |short-generic-result|" +msgid "The standardized :ref:`pgRouting-concepts:Result columns for single path functions` are |short-generic-result|" msgstr "" msgid "``pgr_dijkstra``" @@ -4159,9 +4624,6 @@ msgstr "" msgid "``pgr_aStar``" msgstr "" -msgid "v < 3.6" -msgstr "" - msgid "``pgr_bdDijkstra``" msgstr "" @@ -4189,12 +4651,6 @@ msgstr "" msgid "Before updating pgRouting, enumerate the corresponding columns of the signature" msgstr "" -msgid "Skip when applicable, ``start_vid``" -msgstr "" - -msgid "Skip when applicable, ``end_vid``" -msgstr "" - msgid "Migration of |old-pid-result|" msgstr "" @@ -4312,13 +4768,25 @@ msgstr "" msgid "The standardized :ref:`pgRouting-concepts:Result columns for spanning tree functions` are |result-spantree|" msgstr "" +msgid "``pgr_drivingDistance``" +msgstr "" + +msgid ":ref:`from_result_dij_dd`" +msgstr "" + +msgid "``pgr_withPointsDD``" +msgstr "" + +msgid ":ref:`from_result_generic_no_seq`" +msgstr "" + msgid "``pgr_kruskalDD``" msgstr "" msgid "v < 3.7" msgstr "" -msgid "|result-bfs|" +msgid ":ref:`from_result_bfs`" msgstr "" msgid "``pgr_kruskalBFS``" @@ -4336,22 +4804,19 @@ msgstr "" msgid "``pgr_primDFS``" msgstr "" -msgid "``pgr_drivingDistance``" -msgstr "" - -msgid "|result-dij-dd|" +msgid "``pgr_breadthFisrtSearch``" msgstr "" -msgid "``pgr_withPointsDD``" +msgid "v < 4.0.0" msgstr "" -msgid "|result-generic-no-seq|" +msgid "``pgr_depthFisrtSearch``" msgstr "" msgid "to |result-spantree|" msgstr "" -msgid "Migration of |result-bfs|" +msgid "Migration from |result-bfs|." msgstr "" msgid "Single vertex" @@ -4363,76 +4828,82 @@ msgstr "" msgid "Before updating pgRouting enumerate the columns: |result-bfs|" msgstr "" -msgid "Migration of |result-dij-dd|" +msgid "Single vertex example using ``pgr_kruskalDD``" msgstr "" -msgid "Migration depends on the signature." +msgid "Migrating `this v3.6 `__ example." msgstr "" -msgid "For single vertex:" +msgid "Before updating pgRouting enumerate the columns: |result-bfs|." msgstr "" -msgid "Before updating pgRouting, enumerate |result-1-1| columns" +msgid "Multiple vertices example using ``pgr_kruskalDFS``" msgstr "" -msgid "For multiple vertices:" +msgid "Migrating `this v3.6 `__ example." msgstr "" -msgid "If using ``pgr_drivingDistance`` with multiple vertices: column names must be changed after updating pgRouting." +msgid "Migration from |result-dij-dd|" msgstr "" -msgid "To get the old version column names |result-dij-dd-m|" +msgid "Migration depends on the signature." msgstr "" -msgid "Enumerate |result-dij-dd-m|" +msgid "For single vertex:" msgstr "" -msgid "Rename ``start_vid`` to ``from_v``." +msgid "Before updating pgRouting, enumerate |result-1-1| columns" msgstr "" -msgid "Migration of |result-generic-no-seq|" +msgid "For multiple vertices:" +msgstr "" + +msgid "Changes must be done after updating pgRouting." msgstr "" -msgid "If using ``pgr_withPointsDD``: function call must be changed after updating pgRouting." +msgid "To get the old version column names |result-dij-dd-m|:" msgstr "" -msgid "``pgr_withPointsDD``'s parameter ``driving_side`` changed from named optional to unnamed positional parameter (position 5 in the function call) and its validity differ for directed and undirected graphs." +msgid "filter out the column ``pred`` and ``depth`` and" msgstr "" -msgid "For ``pgr_withPointsDD`` Single vertex" +msgid "rename ``start_vid`` to ``from_v``." msgstr "" -msgid "To get the * Output columns were |result-1-1-no-seq| * Does not have ``start_vid``, ``pred`` and ``depth`` result columns. * ``driving_side`` parameter was named optional now it is compulsory unnamed." +msgid "Single vertex example using ``pgr_drivingDistance``" msgstr "" -msgid "For ``pgr_withPointsDD`` (Multiple vertices)" +msgid "Migrating `this v3.5 `__ example." msgstr "" -msgid "Output columns were |result-m-1-no-seq|" +msgid "Before updating pgRouting, enumerate |result-1-1-no-seq| columns" msgstr "" -msgid "Does not have ``depth`` and ``pred`` result columns." +msgid "Multiple vertices example using ``pgr_drivingDistance``" msgstr "" -msgid "``driving_side`` parameter was named optional now it is compulsory unnamed." +msgid "Migrating `this v3.5 `__ example." msgstr "" -msgid "Validity of driving_side:" +msgid "To get the old version column names |result-dij-dd-m|: filter out the column ``pred`` and ``depth`` and rename ``start_vid`` to ``from_v``." msgstr "" -msgid "On directed graph ``b`` could be used as **driving side**" +msgid "Migration of |result-generic-no-seq|" msgstr "" -msgid "On undirected graph ``r``, ``l`` could be used as **driving side**" +msgid "After updating pgRouting:" msgstr "" -msgid "After Migration" +msgid "Enumerate |result-1-1-no-seq| columns" msgstr "" -msgid "Be aware of the existence of the additional result Columns." +msgid "Use an unnamed valid value for **driving side** after the **distance** parameter." +msgstr "" + +msgid "Enumerate |result-m-1-no-seq| columns" msgstr "" -msgid "Output columns are |result-spantree|" +msgid "Validity of **driving side** parameter" msgstr "" msgid "**driving side** parameter is unnamed compulsory, and valid values differ for directed and undirected graphs." @@ -4450,64 +4921,64 @@ msgstr "" msgid "Using an invalid value throws an ``ERROR``." msgstr "" -msgid "Examples for single vertex" +msgid "Single vertex example using ``pgr_withPointsDD``" msgstr "" -msgid "Using ``pgr_kruskalDD``" +msgid "Migrating `this v3.5 `__ example." msgstr "" -msgid "Migrating `this v3.6 `__ example." +msgid "Multiple vertices example using ``pgr_withPointsDD``" msgstr "" -msgid "Before updating pgRouting enumerate the columns: |result-bfs|." +msgid "Migrating `this v3.5 `__ example." msgstr "" -msgid "Using ``pgr_primBFS``" +msgid "Migration of output column name change" msgstr "" -msgid "Migrating `this v3.6 `__ example." +msgid "The standardized result columns for color functions are" msgstr "" -msgid "Using ``pgr_drivingDistance``" +msgid "|result_edge_color|" msgstr "" -msgid "Migrating `this v3.5 `__ example." +msgid "|result_node_color|" msgstr "" -msgid "Before updating pgRouting, enumerate |result-1-1-no-seq| columns" +msgid "``pgr_edgeColoring``" msgstr "" -msgid "Using ``pgr_withPointsDD``" +msgid ":ref:`from_old_edge_color`" msgstr "" -msgid "Migrating `this v3.5 `__ example." +msgid "``pgr_bipartite``" msgstr "" -msgid "After updating pgROuting use an unnamed valid value for **driving side** after the **distance** parameter." +msgid ":ref:`from_old_node_color`" msgstr "" -msgid "Examples for multiple vertices" +msgid "``pgr_sequentialVertexColoring``" msgstr "" -msgid "Using ``pgr_kruskalDFS``" +msgid "Migration from |old-edge-color|" msgstr "" -msgid "Migrating `this v3.6 `__ example." +msgid "Migration to: |result_edge_color|" msgstr "" -msgid "Using ``pgr_primDD``" +msgid "After update:" msgstr "" -msgid "Migrating `this v3.6 `__ example." +msgid "Rename ``edge_id`` to ``edge`` and ``color_id`` to ``color``." msgstr "" -msgid "Migrating `this v3.5 `__ example." +msgid "Migration from |old-node-color|" msgstr "" -msgid "If using ``pgr_drivingDistance`` with multiple vertices: column names must be changed after updating pgRouting" +msgid "Migration to: |result_node_color|" msgstr "" -msgid "To get the old version column names |result-dij-dd-m|: filter out the column ``pred`` and ``depth`` and rename ``start_vid`` to ``from_v``." +msgid "Rename ``vertex_id`` to ``node`` and ``color_id`` to ``color``." msgstr "" msgid "Migration of deleted functions" @@ -4741,9 +5212,6 @@ msgstr "" msgid "`v3.4.0 `__" msgstr "" -msgid ":doc:`pgr_dijkstra`" -msgstr "" - msgid ":doc:`pgr_trsp`" msgstr "" @@ -4774,9 +5242,6 @@ msgstr "" msgid "Migration of ``pgr_trsp`` (Edges)" msgstr "" -msgid ":doc:`pgr_withPoints`" -msgstr "" - msgid ":doc:`pgr_trsp_withPoints`" msgstr "" @@ -4834,10 +5299,10 @@ msgstr "" msgid "Not yet classified migrations" msgstr "" -msgid "Migration of ``pgr_KSP``" +msgid "Migration of ``pgr_withPointsKSP``" msgstr "" -msgid "Starting from `v3.6.0 `__ :doc:`pgr_KSP` result columns are being standardized." +msgid "Starting from `v3.6.0 `__ :doc:`pgr_withPointsKSP` result columns are being standardized." msgstr "" msgid "|ksp-result|" @@ -4846,31 +5311,31 @@ msgstr "" msgid "|generic-result|" msgstr "" -msgid "``pgr_KSP`` (One to One)" +msgid "And ``driving side`` parameter changed from named optional to unnamed compulsory **driving side** and its validity differ for directed and undirected graphs." msgstr "" -msgid "Before Migration" +msgid "``pgr_withPointsKSP`` (`One to One`)" msgstr "" -msgid "Output columns were |ksp-result|" +msgid "Before Migration" msgstr "" -msgid "the columns ``start_vid`` and ``end_vid`` do not exist." +msgid "Output columns were |old-pid-result|" msgstr "" -msgid "``pgr_KSP`` (One to One) does not have ``start_vid`` and ``end_vid``." +msgid "the columns ``start_vid`` and ``end_vid`` do not exist." msgstr "" msgid "Migration" msgstr "" -msgid "Be aware of the existence of the additional columns." +msgid "Be aware of the existence of the additional result Columns." msgstr "" -msgid "If needed filter out the added columns, for example, to return the original columns." +msgid "New output columns are |generic-result|" msgstr "" -msgid "Using `this `__ example." +msgid "Using `this `__ example." msgstr "" msgid "``start_vid`` contains the **start vid** parameter value." @@ -4879,30 +5344,6 @@ msgstr "" msgid "``end_vid`` contains the **end vid** parameter value." msgstr "" -msgid "If needed filter out the added columns, for example, to return the original columns:" -msgstr "" - -msgid "Migration of ``pgr_withPointsKSP``" -msgstr "" - -msgid "Starting from `v3.6.0 `__ :doc:`pgr_withPointsKSP` result columns are being standardized." -msgstr "" - -msgid "And ``driving side`` parameter changed from named optional to unnamed compulsory **driving side** and its validity differ for directed and undirected graphs." -msgstr "" - -msgid "``pgr_withPointsKSP`` (`One to One`)" -msgstr "" - -msgid "Output columns were |old-pid-result|" -msgstr "" - -msgid "New output columns are |generic-result|" -msgstr "" - -msgid "Using `this `__ example." -msgstr "" - msgid "If needed filter out the additional columns, for example, to return the original columns:" msgstr "" @@ -5956,9 +6397,6 @@ msgstr "" msgid "Edges SQL for" msgstr "" -msgid ":doc:`withPoints-family`" -msgstr "" - msgid "Some uncategorised functions" msgstr "" @@ -6070,18 +6508,6 @@ msgstr "" msgid "Used in functions that return one path solution per departure and destination." msgstr "" -msgid ":doc:`pgr_aStar`" -msgstr "" - -msgid ":doc:`pgr_bdAstar`" -msgstr "" - -msgid ":doc:`pgr_bdDijkstra`" -msgstr "" - -msgid ":doc:`pgr_binaryBreadthFirstSearch`" -msgstr "" - msgid ":doc:`pgr_dijkstraNear`" msgstr "" @@ -6112,16 +6538,19 @@ msgstr "" msgid "When ``start_vid`` or ``end_vid`` columns have negative values, the identifier is for a Point." msgstr "" -msgid "Multiple paths" +msgid "Result columns for multiple paths functions" +msgstr "" + +msgid "Used in functions that return many paths solutions per departure and destination." msgstr "" -msgid "Selective for multiple paths." +msgid ":doc:`pgr_KSP`" msgstr "" -msgid "The columns depend on the function call." +msgid ":doc:`pgr_withPointsKSP`" msgstr "" -msgid "Set of |result-disjoint|" +msgid "Returns set of |generic-result|" msgstr "" msgid "``path_id``" @@ -6133,25 +6562,10 @@ msgstr "" msgid "Has value **1** for the first of a path from ``start_vid`` to ``end_vid``." msgstr "" -msgid "Identifier of the starting vertex. Returned when multiple starting vetrices are in the query." -msgstr "" - -msgid "Identifier of the ending vertex. Returned when multiple ending vertices are in the query." -msgstr "" - -msgid "Non selective for multiple paths" -msgstr "" - -msgid "Regardless of the call, al the columns are returned." -msgstr "" - -msgid "Returns set of |generic-result|" -msgstr "" - msgid "Result columns for cost functions" msgstr "" -msgid "Used in the following" +msgid "Used by:" msgstr "" msgid "When start_vid or end_vid columns have negative values, the identifier is for a Point." @@ -6160,10 +6574,10 @@ msgstr "" msgid "Result columns for flow functions" msgstr "" -msgid "Edges SQL for the following" +msgid "Result columns for spanning tree functions" msgstr "" -msgid "Result columns for spanning tree functions" +msgid "Used in functions that return a tree solution per departure." msgstr "" msgid "Result columns for simple spanning tree functions" @@ -6220,10 +6634,7 @@ msgstr "" msgid "Consult the `developer's documentation `__" msgstr "" -msgid "Others" -msgstr "" - -msgid "Returns set of |old-generic-result|" +msgid "See also" msgstr "" msgid "Installation" @@ -6697,9 +7108,6 @@ msgstr "" msgid ":doc:`migration`" msgstr "" -msgid "``pgr_KSP``" -msgstr "" - msgid "``pgr_KSP`` — Yen's algorithm for K shortest paths using Dijkstra." msgstr "" @@ -6709,9 +7117,6 @@ msgstr "" msgid "Version 4.0.0" msgstr "" -msgid "All signatures promoted to official." -msgstr "" - msgid "Version 3.6.0" msgstr "" @@ -6841,18 +7246,6 @@ msgstr "" msgid "Roughly, when the shortest path has ``N`` edges, the heap will contain about than ``N * K`` paths for small value of ``K`` and ``K > 5``." msgstr "" -msgid "Has value **1** for the first of a path from ``start_vid`` to ``end_vid``" -msgstr "" - -msgid "Identifier of the node in the path from ``start_vid`` to ``end_vid``" -msgstr "" - -msgid ":math:`0` for the last ``node`` of the path." -msgstr "" - -msgid "Aggregate cost from **start vid** to ``node``." -msgstr "" - msgid "Additional Examples" msgstr "" @@ -6880,9 +7273,6 @@ msgstr "" msgid "Availability:" msgstr "" -msgid "Simulated Annealing signature removed" -msgstr "" - msgid "Results change depending on input order" msgstr "" @@ -7180,6 +7570,9 @@ msgstr "" msgid "New proposed signature:" msgstr "" +msgid "pgr_aStar(Combinations)" +msgstr "" + msgid "Version 2.4.0" msgstr "" @@ -7261,6 +7654,9 @@ msgstr "" msgid "``pgr_aStarCost`` - Total cost of the shortest path using the A* algorithm." msgstr "" +msgid "pgr_aStarCost(Combinations)" +msgstr "" + msgid "New proposed function." msgstr "" @@ -7384,6 +7780,9 @@ msgstr "" msgid "Nodes in red are the articulation points." msgstr "" +msgid "Identifier of the vertex." +msgstr "" + msgid "`Boost: Biconnected components & articulation points `__" msgstr "" @@ -7405,6 +7804,9 @@ msgstr "" msgid "pgr_bdAstar(Many to One) added ``start_vid`` column." msgstr "" +msgid "pgr_bdAstar(Combinations)" +msgstr "" + msgid "pgr_bdAstar(One to Many)" msgstr "" @@ -7441,6 +7843,9 @@ msgstr "" msgid "``pgr_bdAstarCost`` - Total cost of the shortest path using the bidirectional A* algorithm." msgstr "" +msgid "pgr_bdAstarCost(Combinations)" +msgstr "" + msgid "The ``pgr_bdAstarCost`` function summarizes of the cost of the shortest path using the bidirectional A* algorithm." msgstr "" @@ -7474,6 +7879,9 @@ msgstr "" msgid "``pgr_bdDijkstra`` — Returns the shortest path using Bidirectional Dijkstra algorithm." msgstr "" +msgid "pgr_bdDijkstra(Combinations)" +msgstr "" + msgid "pgr_bdDijkstra(One to Many)" msgstr "" @@ -7525,6 +7933,9 @@ msgstr "" msgid "``pgr_bdDijkstraCost`` — Returns the shortest path's cost using Bidirectional Dijkstra algorithm." msgstr "" +msgid "pgr_bdDijkstraCost(Combinations)" +msgstr "" + msgid "The ``pgr_bdDijkstraCost`` function summarizes of the cost of the shortest path using the bidirectional Dijkstra Algorithm." msgstr "" @@ -7813,9 +8224,6 @@ msgstr "" msgid "pgr_bipartite(`Edges SQL`_)" msgstr "" -msgid "Returns set of |result-node-color|" -msgstr "" - msgid "When the graph is bipartite" msgstr "" @@ -7843,6 +8251,9 @@ msgstr "" msgid "``pgr_boykovKolmogorov`` — Calculates the flow on the graph edges that maximizes the flow from the sources to the targets using Boykov Kolmogorov algorithm." msgstr "" +msgid "pgr_boykovKolmogorov(Combinations)" +msgstr "" + msgid "Renamed from ``pgr_maxFlowBoykovKolmogorov``" msgstr "" @@ -7894,6 +8305,9 @@ msgstr "" msgid "``pgr_breadthFirstSearch`` — Returns the traversal order(s) using Breadth First Search algorithm." msgstr "" +msgid "Version 4.0.0:" +msgstr "" + msgid "Provides the Breadth First Search traversal order from a root vertex to a particular depth." msgstr "" @@ -7915,9 +8329,6 @@ msgstr "" msgid "**options:** ``[max_depth, directed]``" msgstr "" -msgid "Returns set of |result-bfs|" -msgstr "" - msgid "From root vertex :math:`6` on a **directed** graph with edges in ascending order of ``id``" msgstr "" @@ -9280,6 +9691,9 @@ msgstr "" msgid "Version 3.1.0" msgstr "" +msgid "pgr_dijkstra(Combinations)" +msgstr "" + msgid "Version 2.2.0" msgstr "" @@ -9478,6 +9892,9 @@ msgstr "" msgid "``pgr_dijkstraCost`` - Total cost of the shortest path using Dijkstra algorithm." msgstr "" +msgid "pgr_dijkstraCost(Combinations)" +msgstr "" + msgid "The ``pgr_dijkstraCost`` function summarizes of the cost of the shortest path using Dijkstra Algorithm." msgstr "" @@ -9850,9 +10267,6 @@ msgstr "" msgid "``pgr_drivingDistance`` - Returns the driving distance from a start node." msgstr "" -msgid "Standardizing output columns to |result-spantree|" -msgstr "" - msgid "pgr_drivingDistance(Single vertex)" msgstr "" @@ -9916,6 +10330,9 @@ msgstr "" msgid "When ``false`` which resembles several calls using the single vertex signature." msgstr "" +msgid "end-before" +msgstr "" + msgid "From vertices :math:`\\{11, 16\\}` for a distance of :math:`3.0` on an undirected graph" msgstr "" @@ -9973,9 +10390,6 @@ msgstr "" msgid "pgr_edgeColoring(`Edges SQL`_)" msgstr "" -msgid "Returns set of |result-edge-color|" -msgstr "" - msgid "Graph coloring of pgRouting :doc:`sampledata`" msgstr "" @@ -9985,9 +10399,6 @@ msgstr "" msgid "`Wikipedia: Graph coloring `__" msgstr "" -msgid "``pgr_edgeDisjointPaths``" -msgstr "" - msgid "``pgr_edgeDisjointPaths`` — Calculates edge disjoint paths between two groups of vertices." msgstr "" @@ -10018,28 +10429,13 @@ msgstr "" msgid "pgr_edgeDisjointPaths(`Edges SQL`_, **start vid**, **end vids**, [``directed``])" msgstr "" -msgid "pgr_edgeDisjointPaths(`Edges SQL`_, **start vids**, **end vid**, [``directed``])" -msgstr "" - -msgid "pgr_edgeDisjointPaths(`Edges SQL`_, **start vids**, **end vids**, [``directed``])" -msgstr "" - -msgid "pgr_edgeDisjointPaths(`Edges SQL`_, `Combinations SQL`_, [``directed``])" -msgstr "" - -msgid "Returns set of |result-disjoint|" -msgstr "" - -msgid "Returns set of |result-disjoint-1-1|" -msgstr "" - -msgid "Returns set of |result-disjoint-1-m|" +msgid "pgr_edgeDisjointPaths(`Edges SQL`_, **start vids**, **end vid**, [``directed``])" msgstr "" -msgid "Returns set of |result-disjoint-m-1|" +msgid "pgr_edgeDisjointPaths(`Edges SQL`_, **start vids**, **end vids**, [``directed``])" msgstr "" -msgid "Returns set of |result-disjoint-m-m|" +msgid "pgr_edgeDisjointPaths(`Edges SQL`_, `Combinations SQL`_, [``directed``])" msgstr "" msgid "Using a combinations table, equivalent to calculating result from vertices :math:`\\{5, 6\\}` to vertices :math:`\\{10, 15, 14\\}` on an undirected graph." @@ -10054,6 +10450,9 @@ msgstr "" msgid "``pgr_edmondsKarp`` — Calculates the flow on the graph edges that maximizes the flow from the sources to the targets using Edmonds Karp Algorithm." msgstr "" +msgid "pgr_edmondsKarp(Combinations)" +msgstr "" + msgid "Renamed from ``pgr_maxFlowEdmondsKarp``" msgstr "" @@ -10492,9 +10891,6 @@ msgstr "" msgid "The points of interest:" msgstr "" -msgid ":doc:`withPoints-category`" -msgstr "" - msgid "``pgr_floydWarshall``" msgstr "" @@ -10828,6 +11224,9 @@ msgstr "" msgid "Returns set of ``(seq, vertex_id, idom)``" msgstr "" +msgid "``vertex_id``" +msgstr "" + msgid "Identifier of vertex ." msgstr "" @@ -11254,9 +11653,6 @@ msgstr "" msgid "Deprecated signature" msgstr "" -msgid "pgr_maxCardinalityMatch(text,boolean)" -msgstr "" - msgid "directed => ``false`` when used." msgstr "" @@ -11314,6 +11710,9 @@ msgstr "" msgid "``pgr_maxFlow`` — Calculates the maximum flow in a directed graph from the source(s) to the targets(s) using the Push Relabel algorithm." msgstr "" +msgid "pgr_maxFlow(Combinations)" +msgstr "" + msgid "Calculates the maximum flow from the sources to the targets." msgstr "" @@ -11701,6 +12100,9 @@ msgstr "" msgid "``pgr_pushRelabel`` — Calculates the flow on the graph edges that maximizes the flow from the sources to the targets using Push Relabel Algorithm." msgstr "" +msgid "pgr_pushRelabel(Combinations)" +msgstr "" + msgid "Renamed from ``pgr_maxFlowPushRelabel``" msgstr "" @@ -12043,15 +12445,9 @@ msgstr "" msgid "Deprecated signatures" msgstr "" -msgid "pgr_trsp(text,integer,float,integer,float,boolean,boolean,text)" -msgstr "" - msgid "pgr_trspViaVertices(text,anyarray,boolean,boolean,text)" msgstr "" -msgid "pgr_trspviaedges(text,integer[],double precision[],boolean,boolean,text)" -msgstr "" - msgid "New prototypes" msgstr "" @@ -12211,7 +12607,10 @@ msgstr "" msgid "Do not use negative values on identifiers of the inner queries." msgstr "" -msgid "pgr_trspVia_withPoints(`Edges SQL`_, `Restrictions SQL`_, `Points SQL`_, **via vertices**, [**options**])" +msgid "pgr_trspVia_withPoints(`Edges SQL`_, `Restrictions SQL`_, `Points SQL`_, **via vertices**, **driving side** [**options**])" +msgstr "" + +msgid "**options:** ``[directed, strict, U_turn_on_edge, details]``" msgstr "" msgid "Find the route that visits the vertices :math:`\\{-6, 15, -5\\}` in that order on an directed graph." @@ -12223,28 +12622,28 @@ msgstr "" msgid "When negative it is considered a point identifier" msgstr "" -msgid "With points optional parameters" +msgid "**driving side**" msgstr "" -msgid "``driving_side``" +msgid "Value in [``r``, ``R``, ``l``, ``L``, ``b``, ``B``] indicating if the driving side is:" msgstr "" -msgid "``r``" +msgid "[``r``, ``R``] for right driving side (for directed graph only)" msgstr "" -msgid "Value in [``r``, ``l``] indicating if the driving side is:" +msgid "[``l``, ``L``] for left driving side (for directed graph only)" msgstr "" -msgid "``r`` for right driving side" +msgid "[``b``, ``B``] for both (only for undirected graph)" msgstr "" -msgid "``l`` for left driving side" +msgid "With points optional parameters" msgstr "" -msgid "Any other value will be considered as ``r``" +msgid "``details``" msgstr "" -msgid "``details``" +msgid "For showing points stops." msgstr "" msgid "When ``true`` the results will include the points that are in the path." @@ -12313,10 +12712,7 @@ msgstr "" msgid "``pgr_trsp_withPoints`` Routing Vertex/Point with restrictions." msgstr "" -msgid "Modify the graph to include points defined by points_sql. Using Dijkstra algorithm, find the shortest path" -msgstr "" - -msgid "Characteristics:" +msgid "Modify the graph to include points defined by `Points SQL`_. Consider the invalid paths on `Restrictions SQL`_. Using Dijkstra algorithm, find the shortest path." msgstr "" msgid "Vertices of the graph are:" @@ -12328,19 +12724,13 @@ msgstr "" msgid "**negative** when it belongs to the `Points SQL`_" msgstr "" -msgid "Driving side can not be ``b``" -msgstr "" - -msgid "The agg_cost the non included values (v, v) is 0" -msgstr "" - -msgid "The agg_cost the non included values (u, v) is ∞" +msgid "The `agg_cost` in the non included values `(v, v)` is `0`" msgstr "" -msgid "For optimization purposes, any duplicated value in the start_vids or end_vids are ignored." +msgid "The `agg_cost` in the non included values `(u, v)` is :math:`\\infty`" msgstr "" -msgid "The returned values are ordered: - start_vid ascending - end_vid ascending" +msgid "For optimization purposes, any duplicated value in the input arrays of **start vids** or **end vids** or are ignored." msgstr "" msgid "Running time: :math:`O(|start\\_vids|\\times(V \\log V + E))`" @@ -12364,34 +12754,46 @@ msgstr "" msgid "**options:** ``[directed, driving_side, details]``" msgstr "" -msgid "From point :math:`1` to vertex :math:`10` with details on a left driving side configuration on a directed graph with details." +msgid "From point :math:`1` to vertex :math:`10` with right driving side in directed graph. (with details)" +msgstr "" + +msgid "pgr_trsp_withPoints(`Edges SQL`_, `Restrictions SQL`_, `Points SQL`_, **start vid**, **end vids**, **driving side** [**options**])" +msgstr "" + +msgid "**options:** ``[directed, details]``" +msgstr "" + +msgid "From point :math:`1` to point :math:`3` and vertex :math:`7` on an undirected graph" +msgstr "" + +msgid "From point :math:`1` and vertex :math:`6` to point :math:`3` with right driving side in directed graph. (without details)" msgstr "" -msgid "From point :math:`1` to point :math:`3` and vertex :math:`7`." +msgid "From point :math:`1` and vertex :math:`6` to point :math:`3` and vertex :math:`1` with left side driving." msgstr "" -msgid "From point :math:`1` and vertex :math:`6` to point :math:`3`." +msgid "Two combinations" msgstr "" -msgid "From point :math:`1` and vertex :math:`6` to point :math:`3` and vertex :math:`1`." +msgid "From point :math:`1` to vertex :math:`10`, and from vertex :math:`6` to point :math:`3` with right side driving. (with details)" msgstr "" -msgid "From point :math:`1` to vertex :math:`10` and from vertex :math:`6` to point :math:`3` with right side driving configuration." +msgid "Use :doc:`pgr_findCloseEdges` in the `Points SQL`_." msgstr "" msgid "Find the routes from vertex :math:`1` to the two closest locations on the graph of point `(2.9, 1.8)`." msgstr "" -msgid "Pass in front or visits." +msgid "All the examples are about traveling from point :math:`1` and vertex :math:`5` to points :math:`\\{2, 3, 6\\}` and vertices :math:`\\{10, 11\\}` with restrictions" msgstr "" -msgid "Which path (if any) passes in front of point :math:`6` or vertex :math:`11` with right side driving topology." +msgid "Passes in front or visits with right side driving." msgstr "" -msgid "Show details on undirected graph." +msgid "For point :math:`6` and vertex :math:`11`." msgstr "" -msgid "From point :math:`1` and vertex :math:`6` to point :math:`3` to vertex :math:`1` on an undirected graph, with details." +msgid "Passes in front or visits with left side driving." msgstr "" msgid "``pgr_turnRestrictedPath`` - Experimental" @@ -12409,9 +12811,6 @@ msgstr "" msgid "**options:** ``[directed, heap_paths, stop_on_first, strict]``" msgstr "" -msgid "Returns set of |ksp-result|" -msgstr "" - msgid "From vertex :math:`3` to vertex :math:`8` on a directed graph" msgstr "" @@ -12487,31 +12886,7 @@ msgstr "" msgid "pgr_withPoints(Combinations)" msgstr "" -msgid "Modify the graph to include points defined by points_sql. Using Dijkstra algorithm, find the shortest path." -msgstr "" - -msgid "**positive** when it belongs to the edges_sql" -msgstr "" - -msgid "**negative** when it belongs to the points_sql" -msgstr "" - -msgid "The `agg_cost` in the non included values `(v, v)` is `0`" -msgstr "" - -msgid "The `agg_cost` in the non included values `(u, v)` is :math:`\\infty`" -msgstr "" - -msgid "If the values returned are stored in a table, the unique index would be the pair: `(start_vid, end_vid)`." -msgstr "" - -msgid "For **undirected** graphs, the results are **symmetric**." -msgstr "" - -msgid "The sequence of nodes from `u` to `v` is the reverse sequence of nodes from `v` to `u`" -msgstr "" - -msgid "For optimization purposes, any duplicated value in the input arrays of `start vids` or `end vids` or are ignored." +msgid "Modify the graph to include points defined by `Points SQL`_. Using Dijkstra algorithm, find the shortest path." msgstr "" msgid "pgr_withPoints(`Edges SQL`_, `Points SQL`_, **start vid**, **end vid**, **driving side** [**options**])" @@ -12526,34 +12901,13 @@ msgstr "" msgid "pgr_withPoints(`Edges SQL`_, `Points SQL`_, **start vids**, **end vids**, **driving side** [**options**])" msgstr "" -msgid "pgr_withPoints(`Edges SQL`_, `Points SQL`_, `Combinations SQL`_, [**options**])" -msgstr "" - -msgid "**options:** ``[directed, details]``" -msgstr "" - -msgid "From point :math:`1` to vertex :math:`10` with details" -msgstr "" - -msgid "\\ \\ :class: signatures" -msgstr "" - -msgid "From point :math:`1` to point :math:`3` and vertex :math:`7` on an undirected graph" -msgstr "" - -msgid "From point :math:`1` and vertex :math:`6` to point :math:`3`" -msgstr "" - -msgid "From point :math:`1` and vertex :math:`6` to point :math:`3` and vertex :math:`1`" -msgstr "" - msgid "pgr_withPoints(`Edges SQL`_, `Points SQL`_, `Combinations SQL`_, **driving side** [**options**])" msgstr "" -msgid "Two combinations" +msgid "**options:** ``[directed, details])``" msgstr "" -msgid "From point :math:`1` to vertex :math:`10`, and from vertex :math:`6` to point :math:`3` with **right** side driving." +msgid "From point :math:`1` to vertex :math:`10` with right driving side in directed graph. (without details)" msgstr "" msgid "Identifier of the starting vertex of the path. Negative value is for point’s identifier." @@ -12568,33 +12922,9 @@ msgstr "" msgid "Array of identifiers of ending vertices. Negative values are for point’s identifiers." msgstr "" -msgid "Value in [``r``, ``l``, ``b``] indicating if the driving side is:" -msgstr "" - -msgid "``r`` for right driving side." -msgstr "" - -msgid "``l`` for left driving side." -msgstr "" - -msgid "``b`` for both." -msgstr "" - -msgid "Use :doc:`pgr_findCloseEdges` in the `Points SQL`_." -msgstr "" - msgid "All the examples are about traveling from point :math:`1` and vertex :math:`5` to points :math:`\\{2, 3, 6\\}` and vertices :math:`\\{10, 11\\}`" msgstr "" -msgid "Passes in front or visits with right side driving." -msgstr "" - -msgid "For point :math:`6` and vertex :math:`11`." -msgstr "" - -msgid "Passes in front or visits with left side driving." -msgstr "" - msgid "``pgr_withPointsCost`` - Calculates the shortest path and returns only the aggregate cost of the shortest path found, for the combination of points given." msgstr "" @@ -12610,13 +12940,16 @@ msgstr "" msgid "The returned values are in the form of a set of |matrix-result|." msgstr "" -msgid "**positive** when it belongs to the edges sql" +msgid "**positive** when it belongs to the edges_sql" msgstr "" -msgid "**negative** when it belongs to the points sql" +msgid "**negative** when it belongs to the points_sql" msgstr "" -msgid "For optimization purposes, any duplicated value in the input arrays of **start vids** or **end vids** or are ignored." +msgid "If the values returned are stored in a table, the unique index would be the pair: `(start_vid, end_vid)`." +msgstr "" + +msgid "For **undirected** graphs, the results are **symmetric**." msgstr "" msgid "pgr_withPointsCost(`Edges SQL`_, `Points SQL`_, **start vid**, **end vid**, **driving side** [**options**])" @@ -12631,7 +12964,7 @@ msgstr "" msgid "pgr_withPointsCost(`Edges SQL`_, `Points SQL`_, **start vids**, **end vids**, **driving side** [**options**])" msgstr "" -msgid "pgr_withPointsCost(`Edges SQL`_, `Points SQL`_, `Combinations SQL`_, [**options**])" +msgid "pgr_withPointsCost(`Edges SQL`_, `Points SQL`_, `Combinations SQL`_, **driving side** [**options**])" msgstr "" msgid "**options:** ``[directed]``" @@ -12640,10 +12973,13 @@ msgstr "" msgid "There is no **details** flag, unlike the other members of the withPoints family of functions." msgstr "" -msgid "From point :math:`1` to vertex :math:`10` with default options." +msgid "From point :math:`1` to vertex :math:`10` with right driving side in directed graph." msgstr "" -msgid "pgr_withPointsCost(`Edges SQL`_, `Points SQL`_, `Combinations SQL`_, **driving side** [**options**])" +msgid "From point :math:`1` and vertex :math:`6` to point :math:`3` with right driving side in directed graph." +msgstr "" + +msgid "From point :math:`1` to vertex :math:`10`, and from vertex :math:`6` to point :math:`3` with right side driving." msgstr "" msgid "Find the cost of the routes from vertex :math:`1` to the two closest locations on the graph of point `(2.9, 1.8)`." @@ -12667,10 +13003,7 @@ msgstr "" msgid "``pgr_withPointsCostMatrix`` - Calculates a cost matrix using :doc:`pgr_withPoints`." msgstr "" -msgid "Modify the graph to include points defined by points_sql. Using Dijkstra algorithm, return calculate and return a cost matrix." -msgstr "" - -msgid "pgr_withPointsCostMatrix(`Edges SQL`_, `Points SQL`_, **start vids**, **driving side** [**options**])" +msgid "pgr_withPointsCostMatrix(`Edges SQL`_, `Points SQL`_, **start vids**, **driving side** [**options**])" msgstr "" msgid "Cost matrix for points :math:`\\{1, 6\\}` and vertices :math:`\\{10, 11\\}` on an **undirected** graph" @@ -12691,25 +13024,16 @@ msgstr "" msgid "``pgr_withPointsDD`` - Returns the driving **distance** from a starting point." msgstr "" -msgid "Signature change: ``driving_side`` parameter changed from named optional to unnamed compulsory **driving side**." +msgid "Output columns standardized to |result-spantree|" msgstr "" -msgid "pgr_withPointsDD(Single vertex)" -msgstr "" - -msgid "pgr_withPointsDD(Multiple vertices)" -msgstr "" - -msgid "Added ``depth``, ``pred`` and ``start_vid`` column." -msgstr "" - -msgid "Added ``depth``, ``pred`` columns." +msgid "When ``details`` is ``false``:" msgstr "" -msgid "When ``details`` is ``false``:" +msgid "Points reached within the distance are not included." msgstr "" -msgid "Only points that are visited are removed, that is, points reached within the distance are included" +msgid "Deprecated signatures:" msgstr "" msgid "Modify the graph to include points and using Dijkstra algorithm, extracts all the nodes and points that have costs less than or equal to the value ``**distance**`` from the starting point. The edges extracted will conform the corresponding spanning tree." @@ -12745,12 +13069,6 @@ msgstr "" msgid "Negative values represent a point" msgstr "" -msgid "**driving side**" -msgstr "" - -msgid "Value in [``r``, ``R``, ``l``, ``L``, ``b``, ``B``] indicating if the driving side is:" -msgstr "" - msgid "``r``, ``R`` for right driving side," msgstr "" @@ -12784,18 +13102,12 @@ msgstr "" msgid "From point :math:`1` within a distance of :math:`3.3`, does not matter driving side, with details." msgstr "" -msgid ":doc:`pgr_drivingDistance`" -msgstr "" - msgid "``pgr_withPointsKSP``" msgstr "" msgid "``pgr_withPointsKSP`` — Yen's algorithm for K shortest paths using Dijkstra." msgstr "" -msgid "pgr_withPointsKSP(One to One)" -msgstr "" - msgid "pgr_withPointsKSP(One to Many)" msgstr "" @@ -12808,9 +13120,6 @@ msgstr "" msgid "pgr_withPointsKSP(Combinations)" msgstr "" -msgid "pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,char,boolean)``" -msgstr "" - msgid "Modifies the graph to include the points defined in the `Points SQL`_ and using Yen algorithm, finds the :math:`K` shortest paths." msgstr "" @@ -12856,27 +13165,9 @@ msgstr "" msgid "Using a combinations table on an **directed** graph" msgstr "" -msgid "`Points SQL`_ query as described." -msgstr "" - msgid "Number of required paths" msgstr "" -msgid "**driving_side**" -msgstr "" - -msgid "**CHAR**" -msgstr "" - -msgid "[``r``, ``R``] for right driving side (for directed graph only)" -msgstr "" - -msgid "[``l``, ``L``] for left driving side (for directed graph only)" -msgstr "" - -msgid "[``b``, ``B``] for both (only for undirected graph)" -msgstr "" - msgid "withPointsKSP optional parameters" msgstr "" @@ -12904,10 +13195,10 @@ msgstr "" msgid "Given a graph, a set of points on the graphs edges and a list of vertices, this function is equivalent to finding the shortest path between :math:`vertex_i` and :math:`vertex_{i+1}` (where :math:`vertex` can be a vertex or a point on the graph) for all :math:`i < size\\_of(via\\;vertices)`." msgstr "" -msgid "pgr_withPointsVia(`Edges SQL`_, `Points SQL`_, **via vertices**, [**options**])" +msgid "pgr_withPointsVia(`Edges SQL`_, `Points SQL`_, **via vertices**, **driving side** [**options**])" msgstr "" -msgid "Find the route that visits the vertices :math:`\\{ -6, 15, -1\\}` in that order on a **directed** graph." +msgid "Find the route that visits the vertices :math:`\\{ -6, 15, -1\\}` in that order with right driving side in directed graph.." msgstr "" msgid "Use :doc:`pgr_findCloseEdges` in the `Points SQL`_" @@ -12937,33 +13228,9 @@ msgstr "" msgid "Proposed Functions" msgstr "" -msgid ":doc:`pgr_withPoints` - Route from/to points anywhere on the graph." -msgstr "" - -msgid ":doc:`pgr_withPointsCost` - Costs of the shortest paths." -msgstr "" - -msgid ":doc:`pgr_withPointsCostMatrix` - Costs of the shortest paths." -msgstr "" - -msgid ":doc:`pgr_withPointsKSP` - K shortest paths." -msgstr "" - -msgid ":doc:`pgr_withPointsDD` - Driving distance." -msgstr "" - -msgid ":doc:`pgr_withPointsVia` - Via routing" -msgstr "" - msgid ":doc:`pgr_lineGraph` - Transformation algorithm for generating a Line Graph." msgstr "" -msgid ":doc:`withPoints-family` - Functions based on Dijkstra algorithm." -msgstr "" - -msgid "From the :doc:`TRSP-family`:" -msgstr "" - msgid "Reference" msgstr "" @@ -13246,9 +13513,6 @@ msgstr "" msgid "Results of documentation queries adujsted to boost 1.83.0 version:" msgstr "" -msgid "pgr_edgeDisjointPaths" -msgstr "" - msgid "pgr_stoerWagner" msgstr "" @@ -13273,6 +13537,9 @@ msgstr "" msgid "Fix warnings from cpplint" msgstr "" +msgid "Others" +msgstr "" + msgid "Adjust NEWS generator" msgstr "" @@ -13369,9 +13636,6 @@ msgstr "" msgid "pgr_degree" msgstr "" -msgid "pgr_dijkstra" -msgstr "" - msgid "pgr_ksp" msgstr "" @@ -13633,9 +13897,6 @@ msgstr "" msgid "Coloring" msgstr "" -msgid "pgr_edgeColoring" -msgstr "" - msgid "Experimental promoted to Proposed" msgstr "" @@ -13669,9 +13930,6 @@ msgstr "" msgid "pgr_dijkstraNearCost(One to Many)" msgstr "" -msgid "pgr_sequentialVertexColoring" -msgstr "" - msgid "pgr_extractVertices" msgstr "" @@ -13729,12 +13987,6 @@ msgstr "" msgid "Removing support for Boost v1.53, v1.54 & v1.55" msgstr "" -msgid "pgr_bipartite" -msgstr "" - -msgid "pgr_depthFirstSearch" -msgstr "" - msgid "Dijkstra Near" msgstr "" @@ -14047,9 +14299,6 @@ msgstr "" msgid "pgr_maxCardinalityMatching" msgstr "" -msgid "pgr_maxFlow" -msgstr "" - msgid "pgr_edgeDisjointPaths(One to One)" msgstr "" @@ -14095,9 +14344,6 @@ msgstr "" msgid "pgr_maxFlowMinCost_Cost" msgstr "" -msgid "pgr_turnRestrictedPath" -msgstr "" - msgid "pgr_dagShortestpath" msgstr "" @@ -14128,21 +14374,9 @@ msgstr "" msgid "Breadth First Search family" msgstr "" -msgid "pgr_breadthFirstSearch" -msgstr "" - -msgid "pgr_binaryBreadthFirstSearch" -msgstr "" - msgid "Bellman Ford family" msgstr "" -msgid "pgr_bellmanFord" -msgstr "" - -msgid "pgr_edwardMoore" -msgstr "" - msgid "Moved to legacy" msgstr "" @@ -14233,12 +14467,6 @@ msgstr "" msgid "pgr_johnson" msgstr "" -msgid "pgr_aStar" -msgstr "" - -msgid "pgr_bdAstar" -msgstr "" - msgid "pgr_bdDijstra" msgstr "" @@ -14248,15 +14476,9 @@ msgstr "" msgid "pgr_dijkstraCostMatrix" msgstr "" -msgid "pgr_dijkstraCost" -msgstr "" - msgid "pgr_drivingDistance" msgstr "" -msgid "pgr_KSP" -msgstr "" - msgid "pgr_dijkstraVia (proposed)" msgstr "" @@ -14503,9 +14725,6 @@ msgstr "" msgid "To see the issues closed by this release see the `Git closed issues for 2.4.0 `_ on Github." msgstr "" -msgid "pgr_bdDijkstra" -msgstr "" - msgid "Deprecated signatures." msgstr "" @@ -14572,9 +14791,6 @@ msgstr "" msgid "pgr_eucledianTSP" msgstr "" -msgid "pgr_withPointsCostMatrix" -msgstr "" - msgid "pgr_maxFlowPushRelabel(One to One)" msgstr "" @@ -15280,6 +15496,9 @@ msgstr "" msgid "For a disconnected graph, there there is no single tree, but a spanning forest, consisting of a spanning tree of each connected component." msgstr "" +msgid "Characteristics:" +msgstr "" + msgid "pgRouting community support is available through the `pgRouting website `_, `documentation `_, tutorials, mailing lists and others. If you’re looking for :ref:`commercial support `, find below a list of companies providing pgRouting development and consulting services." msgstr "" diff --git a/pgtap/ksp/turnRestrictedPath/compare_dijkstra.pg b/pgtap/ksp/turnRestrictedPath/compare_dijkstra.pg index 260020d175e..ac78bfe40df 100644 --- a/pgtap/ksp/turnRestrictedPath/compare_dijkstra.pg +++ b/pgtap/ksp/turnRestrictedPath/compare_dijkstra.pg @@ -19,22 +19,25 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ BEGIN; -SELECT plan(1156); +SELECT CASE WHEN min_version('4.0.0') THEN plan(1156) ELSE plan(1) END; -UPDATE edges SET cost = sign(cost) + 0.001 * id * id, reverse_cost = sign(reverse_cost) + 0.001 * id * id; - -CREATE or REPLACE FUNCTION turnrestricted_compare_dijkstra() +CREATE or REPLACE FUNCTION compare_dijkstra() RETURNS SETOF TEXT AS $BODY$ BEGIN + + IF NOT min_version('4.0.0') THEN + RETURN QUERY SELECT skip(1, 'pgr_turnrestrictedpath: testing only signatures standardaized in v4.0.0.'); + RETURN; + END IF; + RETURN QUERY SELECT compare_dijkstra_one_one('pgr_turnrestrictedpath', true, 'seq, path_seq, node, edge, cost, agg_cost', restricted => true); RETURN QUERY SELECT compare_dijkstra_one_one('pgr_turnrestrictedpath', false, 'seq, path_seq, node, edge, cost, agg_cost', restricted => true); + END; $BODY$ language plpgsql; - -SELECT * from turnrestricted_compare_dijkstra(); - -SELECT * FROM finish(); +SELECT compare_dijkstra(); +SELECT finish(); ROLLBACK; diff --git a/pgtap/ksp/turnRestrictedPath/edge_cases/custom.pg b/pgtap/ksp/turnRestrictedPath/edge_cases/custom.pg index eb8520f199e..a2ade33cf46 100644 --- a/pgtap/ksp/turnRestrictedPath/edge_cases/custom.pg +++ b/pgtap/ksp/turnRestrictedPath/edge_cases/custom.pg @@ -20,10 +20,19 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. BEGIN; UPDATE edges SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(9); +SELECT CASE WHEN min_version('4.0.0') THEN plan(9) ELSE plan(1) END; -SET client_min_messages TO WARNING; +CREATE or REPLACE FUNCTION custom_tap() +RETURNS SETOF TEXT AS +$BODY$ +BEGIN + + IF NOT min_version('4.0.0') THEN + RETURN QUERY + SELECT skip(1, 'pgr_turnrestrictedpath: testing only signatures standardaized in v4.0.0.'); + RETURN; + END IF; ------------------------------------------------------------- -- queries that return r1 @@ -57,8 +66,8 @@ FROM pgr_turnRestrictedPath( stop_on_first:=false ); -SELECT set_eq('q1', 'r1', 'Should return r1 result (one cycle)'); -SELECT set_eq('q2', 'r1', 'Should return r1 result (one cycle, Dont stop_on_first)'); +RETURN QUERY SELECT set_eq('q1', 'r1', 'Should return r1 result (one cycle)'); +RETURN QUERY SELECT set_eq('q2', 'r1', 'Should return r1 result (one cycle, Dont stop_on_first)'); ------------------------------------------------------------- -- queries that return r2 @@ -87,7 +96,7 @@ FROM pgr_turnRestrictedPath( stop_on_first:=false ); -SELECT set_eq('q3', 'r2', 'Should return r2 result (3 cycle, Dont stop_on_first)'); +RETURN QUERY SELECT set_eq('q3', 'r2', 'Should return r2 result (3 cycle, Dont stop_on_first)'); ------------------------------------------------------------- -- queries that return r3 @@ -117,8 +126,8 @@ FROM pgr_turnRestrictedPath( heap_paths:=true ) WHERE agg_cost = FLOAT8 '+infinity'; -SELECT set_eq('q4', 'r3', 'Should return r3 result (1 cycle)'); -SELECT set_eq('q7', 'r3', 'Should return r3 result (1 cycle, Heap paths)'); +RETURN QUERY SELECT set_eq('q4', 'r3', 'Should return r3 result (1 cycle)'); +RETURN QUERY SELECT set_eq('q7', 'r3', 'Should return r3 result (1 cycle, Heap paths)'); ------------------------------------------------------------- -- queries that return r4 @@ -150,8 +159,8 @@ FROM pgr_turnRestrictedPath( stop_on_first:=false ) WHERE agg_cost = FLOAT8 '+infinity'; -SELECT set_eq('q5', 'r4', 'q5 Should return r4 result (2 cycle, Dont stop_on_first)'); -SELECT set_eq('q6', 'r4', 'q6 Should return r4 result (2 cycle, Dont stop_on_first)'); +RETURN QUERY SELECT set_eq('q5', 'r4', 'q5 Should return r4 result (2 cycle, Dont stop_on_first)'); +RETURN QUERY SELECT set_eq('q6', 'r4', 'q6 Should return r4 result (2 cycle, Dont stop_on_first)'); ---------------------------------------- @@ -184,9 +193,14 @@ FROM pgr_turnRestrictedPath( stop_on_first:=false ) WHERE agg_cost = FLOAT8 '+infinity'; -SELECT set_eq('q8', 'r5', 'Should return r5 result (2 cycle, Dont stop_on_first, heap paths)'); -SELECT set_eq('q9', 'r5', 'Should return r5 result (3 cycle, Dont stop_on_first, heap paths)'); +RETURN QUERY SELECT set_eq('q8', 'r5', 'Should return r5 result (2 cycle, Dont stop_on_first, heap paths)'); +RETURN QUERY SELECT set_eq('q9', 'r5', 'Should return r5 result (3 cycle, Dont stop_on_first, heap paths)'); + +END; +$BODY$ +language plpgsql; +SELECT custom_tap(); SELECT finish(); ROLLBACK; diff --git a/pgtap/ksp/turnRestrictedPath/edge_cases/empty_set_default_strict.pg b/pgtap/ksp/turnRestrictedPath/edge_cases/empty_set_default_strict.pg index 3d4f1204b3c..a5d1998cd36 100644 --- a/pgtap/ksp/turnRestrictedPath/edge_cases/empty_set_default_strict.pg +++ b/pgtap/ksp/turnRestrictedPath/edge_cases/empty_set_default_strict.pg @@ -20,12 +20,22 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. BEGIN; UPDATE edges SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(20); +SELECT CASE WHEN min_version('4.0.0') THEN plan(20) ELSE plan(1) END; ---------------------------------------------------------------------------------------------------------------- -- testing from an existing starting vertex to a non-existing destination ---------------------------------------------------------------------------------------------------------------- +CREATE or REPLACE FUNCTION custom_tap() +RETURNS SETOF TEXT AS +$BODY$ +BEGIN + + IF NOT min_version('4.0.0') THEN + RETURN QUERY SELECT skip(1, 'pgr_turnrestrictedpath: testing only signatures standardaized in v4.0.0.'); + RETURN; + END IF; + -- in directed graph -- with restrictions PREPARE q1 AS @@ -68,10 +78,10 @@ SELECT * FROM pgr_turnRestrictedPath( FALSE ); -SELECT is_empty('q1'); -SELECT is_empty('q2'); -SELECT is_empty('q3'); -SELECT is_empty('q4'); +RETURN QUERY SELECT is_empty('q1'); +RETURN QUERY SELECT is_empty('q2'); +RETURN QUERY SELECT is_empty('q3'); +RETURN QUERY SELECT is_empty('q4'); ---------------------------------------------------------------------------------------------------------------- -- testing from an non-existing starting vertex to an existing destination ---------------------------------------------------------------------------------------------------------------- @@ -118,10 +128,10 @@ SELECT * FROM pgr_turnRestrictedPath( FALSE ); -SELECT is_empty('q5'); -SELECT is_empty('q6'); -SELECT is_empty('q7'); -SELECT is_empty('q8'); +RETURN QUERY SELECT is_empty('q5'); +RETURN QUERY SELECT is_empty('q6'); +RETURN QUERY SELECT is_empty('q7'); +RETURN QUERY SELECT is_empty('q8'); ---------------------------------------------------------------------------------------------------------------- -- testing from a non-existing starting vertex to a non-existing destination ---------------------------------------------------------------------------------------------------------------- @@ -168,10 +178,10 @@ SELECT * FROM pgr_turnRestrictedPath( FALSE ); -SELECT is_empty('q9'); -SELECT is_empty('q10'); -SELECT is_empty('q11'); -SELECT is_empty('q12'); +RETURN QUERY SELECT is_empty('q9'); +RETURN QUERY SELECT is_empty('q10'); +RETURN QUERY SELECT is_empty('q11'); +RETURN QUERY SELECT is_empty('q12'); ---------------------------------------------------------------------------------------------------------------- -- testing from an existing starting vertex to the same destination ---------------------------------------------------------------------------------------------------------------- @@ -218,10 +228,10 @@ SELECT * FROM pgr_turnRestrictedPath( FALSE ); -SELECT is_empty('q13'); -SELECT is_empty('q14'); -SELECT is_empty('q15'); -SELECT is_empty('q16'); +RETURN QUERY SELECT is_empty('q13'); +RETURN QUERY SELECT is_empty('q14'); +RETURN QUERY SELECT is_empty('q15'); +RETURN QUERY SELECT is_empty('q16'); ---------------------------------------------------------------------------------------------------------------- -- testing from an existing starting vertex in one component to an existing destination in another component ---------------------------------------------------------------------------------------------------------------- @@ -267,11 +277,15 @@ SELECT * FROM pgr_turnRestrictedPath( FALSE ); -SELECT is_empty('q17'); -SELECT is_empty('q18'); -SELECT is_empty('q19'); -SELECT is_empty('q20'); ----------------------------------------------------------------------------------------------------------------- +RETURN QUERY SELECT is_empty('q17'); +RETURN QUERY SELECT is_empty('q18'); +RETURN QUERY SELECT is_empty('q19'); +RETURN QUERY SELECT is_empty('q20'); + +END; +$BODY$ +language plpgsql; -SELECT * FROM finish(); +SELECT custom_tap(); +SELECT finish(); ROLLBACK; diff --git a/pgtap/ksp/turnRestrictedPath/edge_cases/empty_set_no_default_strict.pg b/pgtap/ksp/turnRestrictedPath/edge_cases/empty_set_no_default_strict.pg index d27e5822288..34d692bcb05 100644 --- a/pgtap/ksp/turnRestrictedPath/edge_cases/empty_set_no_default_strict.pg +++ b/pgtap/ksp/turnRestrictedPath/edge_cases/empty_set_no_default_strict.pg @@ -20,12 +20,23 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. BEGIN; UPDATE edges SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(20); +SELECT CASE WHEN min_version('4.0.0') THEN plan(20) ELSE plan(1) END; ---------------------------------------------------------------------------------------------------------------- -- testing from an existing starting vertex to a non-existing destination ---------------------------------------------------------------------------------------------------------------- +CREATE or REPLACE FUNCTION custom_tap() +RETURNS SETOF TEXT AS +$BODY$ +BEGIN + + IF NOT min_version('4.0.0') THEN + RETURN QUERY + SELECT skip(1, 'pgr_turnrestrictedpath: testing only signatures standardaized in v4.0.0.'); + RETURN; + END IF; + -- in directed graph -- with restrictions PREPARE q1 AS @@ -73,10 +84,10 @@ SELECT * FROM pgr_turnRestrictedPath( strict := false ); -SELECT is_empty('q1'); -SELECT is_empty('q2'); -SELECT is_empty('q3'); -SELECT is_empty('q4'); +RETURN QUERY SELECT is_empty('q1'); +RETURN QUERY SELECT is_empty('q2'); +RETURN QUERY SELECT is_empty('q3'); +RETURN QUERY SELECT is_empty('q4'); ---------------------------------------------------------------------------------------------------------------- -- testing from an non-existing starting vertex to an existing destination @@ -128,10 +139,10 @@ SELECT * FROM pgr_turnRestrictedPath( strict := false ); -SELECT is_empty('q5'); -SELECT is_empty('q6'); -SELECT is_empty('q7'); -SELECT is_empty('q8'); +RETURN QUERY SELECT is_empty('q5'); +RETURN QUERY SELECT is_empty('q6'); +RETURN QUERY SELECT is_empty('q7'); +RETURN QUERY SELECT is_empty('q8'); ---------------------------------------------------------------------------------------------------------------- -- testing from a non-existing starting vertex to a non-existing destination @@ -183,10 +194,10 @@ SELECT * FROM pgr_turnRestrictedPath( strict := false ); -SELECT is_empty('q9'); -SELECT is_empty('q10'); -SELECT is_empty('q11'); -SELECT is_empty('q12'); +RETURN QUERY SELECT is_empty('q9'); +RETURN QUERY SELECT is_empty('q10'); +RETURN QUERY SELECT is_empty('q11'); +RETURN QUERY SELECT is_empty('q12'); ---------------------------------------------------------------------------------------------------------------- -- testing from an existing starting vertex to the same destination @@ -238,10 +249,10 @@ SELECT * FROM pgr_turnRestrictedPath( strict := false ); -SELECT is_empty('q13'); -SELECT is_empty('q14'); -SELECT is_empty('q15'); -SELECT is_empty('q16'); +RETURN QUERY SELECT is_empty('q13'); +RETURN QUERY SELECT is_empty('q14'); +RETURN QUERY SELECT is_empty('q15'); +RETURN QUERY SELECT is_empty('q16'); ---------------------------------------------------------------------------------------------------------------- -- testing from an existing starting vertex in one component to an existing destination in another component @@ -293,10 +304,15 @@ SELECT * FROM pgr_turnRestrictedPath( ); -SELECT is_empty('q17'); -SELECT is_empty('q18'); -SELECT is_empty('q19'); -SELECT is_empty('q20'); +RETURN QUERY SELECT is_empty('q17'); +RETURN QUERY SELECT is_empty('q18'); +RETURN QUERY SELECT is_empty('q19'); +RETURN QUERY SELECT is_empty('q20'); + +END; +$BODY$ +language plpgsql; +SELECT * FROM custom_tap(); SELECT * FROM finish(); ROLLBACK; diff --git a/pgtap/ksp/turnRestrictedPath/inner_query.pg b/pgtap/ksp/turnRestrictedPath/inner_query.pg index 31a8b90da24..1390d2ed582 100644 --- a/pgtap/ksp/turnRestrictedPath/inner_query.pg +++ b/pgtap/ksp/turnRestrictedPath/inner_query.pg @@ -20,11 +20,26 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. BEGIN; UPDATE edges SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(66); +SELECT CASE WHEN min_version('4.0.0') THEN plan(66) ELSE plan(1) END; --- ONE TO ONE -SELECT style_dijkstra('pgr_turnRestrictedPath(', ', $$SELECT * FROM restrictions$$, 6, 10, 2, true)'); -SELECT innerquery_restrictions('pgr_turnRestrictedPath($$SELECT * FROM edges$$, ', ', 6, 10, 2, true)'); +CREATE or REPLACE FUNCTION inner_query() +RETURNS SETOF TEXT AS +$BODY$ +BEGIN + IF NOT min_version('4.0.0') THEN + RETURN QUERY SELECT skip(1, 'pgr_turnrestrictedpath: testing only signatures standardaized in v4.0.0.'); + RETURN; + END IF; + + -- ONE TO ONE + RETURN QUERY SELECT style_dijkstra('pgr_turnRestrictedPath(', ', $$SELECT * FROM restrictions$$, 6, 10, 2, true)'); + RETURN QUERY SELECT innerquery_restrictions('pgr_turnRestrictedPath($$SELECT * FROM edges$$, ', ', 6, 10, 2, true)'); + +END; +$BODY$ +language plpgsql; + +SELECT inner_query(); SELECT finish(); ROLLBACK; diff --git a/pgtap/ksp/turnRestrictedPath/types_check.pg b/pgtap/ksp/turnRestrictedPath/types_check.pg index 8ae93903036..d156cce1545 100644 --- a/pgtap/ksp/turnRestrictedPath/types_check.pg +++ b/pgtap/ksp/turnRestrictedPath/types_check.pg @@ -19,19 +19,35 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ BEGIN; -UPDATE edges SET cost = sign(cost), reverse_cost = sign(reverse_cost); -SELECT plan(5); -SELECT has_function('pgr_turnrestrictedpath'); -SELECT has_function('pgr_turnrestrictedpath',ARRAY['text','text','bigint','bigint','integer','boolean','boolean','boolean','boolean']); -SELECT function_returns('pgr_turnrestrictedpath',ARRAY['text','text','bigint','bigint','integer','boolean','boolean','boolean','boolean'],'setof record'); +SELECT CASE WHEN min_version('4.0.0') THEN plan(5) ELSE plan(4) END; -SELECT function_args_eq('pgr_turnrestrictedpath', - $$SELECT '{"","","","","","directed","heap_paths","stop_on_first","strict","seq","path_id","path_seq","node","edge","cost","agg_cost"}'::TEXT[] $$ -); +CREATE or REPLACE FUNCTION types_check() +RETURNS SETOF TEXT AS +$BODY$ +BEGIN -SELECT function_types_eq('pgr_turnrestrictedpath', - $$VALUES ('{text,text,int8,int8,int4,bool,bool,bool,bool,int4,int4,int4,int8,int8,float8,float8}'::TEXT[])$$ -); + RETURN QUERY SELECT has_function('pgr_turnrestrictedpath'); + RETURN QUERY SELECT has_function('pgr_turnrestrictedpath',ARRAY['text','text','bigint','bigint','integer','boolean','boolean','boolean','boolean']); + RETURN QUERY SELECT function_returns('pgr_turnrestrictedpath',ARRAY['text','text','bigint','bigint','integer','boolean','boolean','boolean','boolean'],'setof record'); + + IF NOT min_version('4.0.0') THEN + RETURN QUERY SELECT skip(1, 'pgr_turnrestrictedpath: testing only signatures standardaized in v4.0.0.'); + RETURN; + END IF; + + RETURN QUERY SELECT function_args_eq('pgr_turnrestrictedpath', + $$SELECT '{"","","","","",directed,heap_paths,stop_on_first,strict,seq,path_id,path_seq,start_vid,end_vid,node,edge,cost,agg_cost}'::TEXT[] $$ + ); + + RETURN QUERY SELECT function_types_eq('pgr_turnrestrictedpath', + $$VALUES ('{text,text,int8,int8,int4,bool,bool,bool,bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[])$$ + ); + +END; +$BODY$ +language plpgsql; + +SELECT types_check(); SELECT finish(); ROLLBACK; diff --git a/pgtap/max_flow/edgedisjointpaths/types_check.pg b/pgtap/max_flow/edgedisjointpaths/types_check.pg index 647fd159a43..915db887b70 100644 --- a/pgtap/max_flow/edgedisjointpaths/types_check.pg +++ b/pgtap/max_flow/edgedisjointpaths/types_check.pg @@ -19,73 +19,56 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ BEGIN; -SELECT plan(13); +SELECT CASE WHEN min_version('4.0.0') THEN plan(13) ELSE plan(12) END; -SELECT has_function('pgr_edgedisjointpaths'); +CREATE or REPLACE FUNCTION types_check() +RETURNS SETOF TEXT AS +$BODY$ +BEGIN + RETURN QUERY SELECT has_function('pgr_edgedisjointpaths'); -SELECT has_function('pgr_edgedisjointpaths', ARRAY['text','bigint','bigint','boolean']); -SELECT has_function('pgr_edgedisjointpaths', ARRAY['text','bigint','anyarray','boolean']); -SELECT has_function('pgr_edgedisjointpaths', ARRAY['text','anyarray','bigint','boolean']); -SELECT has_function('pgr_edgedisjointpaths', ARRAY['text','anyarray','anyarray','boolean']); + RETURN QUERY SELECT has_function('pgr_edgedisjointpaths', ARRAY['text','bigint','bigint','boolean']); + RETURN QUERY SELECT has_function('pgr_edgedisjointpaths', ARRAY['text','bigint','anyarray','boolean']); + RETURN QUERY SELECT has_function('pgr_edgedisjointpaths', ARRAY['text','anyarray','bigint','boolean']); + RETURN QUERY SELECT has_function('pgr_edgedisjointpaths', ARRAY['text','anyarray','anyarray','boolean']); -SELECT function_returns('pgr_edgedisjointpaths', ARRAY['text','bigint','bigint','boolean'],'setof record'); -SELECT function_returns('pgr_edgedisjointpaths', ARRAY['text','bigint','anyarray','boolean'],'setof record'); -SELECT function_returns('pgr_edgedisjointpaths', ARRAY['text','anyarray','bigint','boolean'],'setof record'); -SELECT function_returns('pgr_edgedisjointpaths', ARRAY['text','anyarray','anyarray','boolean'],'setof record'); + RETURN QUERY SELECT function_returns('pgr_edgedisjointpaths', ARRAY['text','bigint','bigint','boolean'],'setof record'); + RETURN QUERY SELECT function_returns('pgr_edgedisjointpaths', ARRAY['text','bigint','anyarray','boolean'],'setof record'); + RETURN QUERY SELECT function_returns('pgr_edgedisjointpaths', ARRAY['text','anyarray','bigint','boolean'],'setof record'); + RETURN QUERY SELECT function_returns('pgr_edgedisjointpaths', ARRAY['text','anyarray','anyarray','boolean'],'setof record'); -SELECT CASE -WHEN min_version('3.2.0') THEN - collect_tap( - has_function('pgr_edgedisjointpaths', ARRAY['text','text','boolean']), - function_returns('pgr_edgedisjointpaths', ARRAY['text','text','boolean'],'setof record') - ) -ELSE - skip(2, 'Combinations signature added on 3.2.0') -END; - -SELECT CASE -WHEN min_version('3.2.0') THEN - collect_tap( + IF min_version('3.2.0') THEN + RETURN QUERY SELECT has_function('pgr_edgedisjointpaths', ARRAY['text','text','boolean']); + RETURN QUERY SELECT function_returns('pgr_edgedisjointpaths', ARRAY['text','text','boolean'],'setof record'); + ELSE + RETURN QUERY SELECT skip(2, 'Combinations signature added on 3.2.0'); + END IF; - function_args_eq('pgr_edgedisjointpaths', - $$VALUES - ('{"","","","directed","seq","path_id","path_seq","node","edge","cost","agg_cost"}'::TEXT[]), - ('{"","","","directed","seq","path_id","path_seq","end_vid","node","edge","cost","agg_cost"}'::TEXT[]), - ('{"","","","directed","seq","path_id","path_seq","start_vid","node","edge","cost","agg_cost"}'::TEXT[]), - ('{"","","","directed","seq","path_id","path_seq","start_vid","end_vid","node","edge","cost","agg_cost"}'::TEXT[]), - ('{"","","directed","seq","path_id","path_seq","start_vid","end_vid","node","edge","cost","agg_cost"}'::TEXT[]) - $$), + IF NOT min_version('4.0.0') THEN + RETURN QUERY SELECT skip(1, 'pgr_edgedisjointpaths: testing only signatures standardaized in v4.0.0.'); + RETURN; + END IF; - function_types_eq('pgr_edgedisjointpaths', - $$VALUES - ('{text,int8,int8,bool,int4,int4,int4,int8,int8,float8,float8}'::TEXT[]), - ('{text,int8,anyarray,bool,int4,int4,int4,int8,int8,int8,float8,float8}'::TEXT[]), - ('{text,anyarray,int8,bool,int4,int4,int4,int8,int8,int8,float8,float8}'::TEXT[]), - ('{text,anyarray,anyarray,bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[]), - ('{text,text,bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[]) - $$) - ) -ELSE - collect_tap( + RETURN QUERY SELECT function_args_eq('pgr_edgedisjointpaths', + $$VALUES + ('{"","","",directed,seq,path_id,path_seq,start_vid,end_vid,node,edge,cost,agg_cost}'::TEXT[]), + ('{"","", directed,seq,path_id,path_seq,start_vid,end_vid,node,edge,cost,agg_cost}'::TEXT[]) + $$); - function_args_eq('pgr_edgedisjointpaths', - $$VALUES - ('{"","","","directed","seq","path_id","path_seq","node","edge","cost","agg_cost"}'::TEXT[]), - ('{"","","","directed","seq","path_id","path_seq","end_vid","node","edge","cost","agg_cost"}'::TEXT[]), - ('{"","","","directed","seq","path_id","path_seq","start_vid","node","edge","cost","agg_cost"}'::TEXT[]), - ('{"","","","directed","seq","path_id","path_seq","start_vid","end_vid","node","edge","cost","agg_cost"}'::TEXT[]) - $$), - - function_types_eq('pgr_edgedisjointpaths', - $$VALUES - ('{text,int8,int8,bool,int4,int4,int4,int8,int8,float8,float8}'::TEXT[]), - ('{text,int8,anyarray,bool,int4,int4,int4,int8,int8,int8,float8,float8}'::TEXT[]), - ('{text,anyarray,int8,bool,int4,int4,int4,int8,int8,int8,float8,float8}'::TEXT[]), + RETURN QUERY SELECT function_types_eq('pgr_edgedisjointpaths', + $$VALUES + ('{text,text, bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[]), + ('{text,int8,int8, bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[]), + ('{text,int8,anyarray, bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[]), + ('{text,anyarray,int8, bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[]), ('{text,anyarray,anyarray,bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[]) - $$) - ) + $$); + END; +$BODY$ +language plpgsql; +SELECT types_check(); SELECT finish(); ROLLBACK; diff --git a/sql/ksp/_turnRestrictedPath.sql b/sql/ksp/_turnRestrictedPath.sql index 3a348105d15..b64aa834052 100644 --- a/sql/ksp/_turnRestrictedPath.sql +++ b/sql/ksp/_turnRestrictedPath.sql @@ -1,13 +1,11 @@ /*PGR-GNU***************************************************************** File: _turnRestrictedPath.sql -Generated with Template by: Copyright (c) 2015 pgRouting developers Mail: project@pgrouting.org -Function's developer: -Copyright (c) 2017 Vidhan Jain -Mail: vidhanj1307@gmail.com +Copyright (c) 2015 Celia Virginia Vergara Castillo +vicky at erosion.dev ------ @@ -27,33 +25,31 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ ---v3.0 -CREATE FUNCTION _pgr_turnRestrictedPath( - TEXT, -- edges_sql - TEXT, -- restrictions_sql - BIGINT, -- start_vertex - BIGINT, -- end_vertex - INTEGER,-- K cycles - - directed BOOLEAN, - heap_paths BOOLEAN, - stop_on_first BOOLEAN, - strict BOOLEAN, - - OUT seq INTEGER, - OUT path_id INTEGER, - OUT path_seq INTEGER, - OUT node BIGINT, - OUT edge BIGINT, - OUT cost FLOAT, - OUT agg_cost FLOAT) - +--v4.0 +CREATE FUNCTION _pgr_turnRestrictedPath_v4( + TEXT, -- edges_sql + TEXT, -- restrictions_sql + ANYARRAY, -- start_vertex + ANYARRAY, -- end_vertex + INTEGER, -- K cycles + + BOOLEAN, -- directed + BOOLEAN, -- heap_paths + BOOLEAN, + BOOLEAN, + + OUT seq INTEGER, + OUT path_id INTEGER, + OUT path_seq INTEGER, + OUT start_vid BIGINT, + OUT end_vid BIGINT, + OUT node BIGINT, + OUT edge BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT) RETURNS SETOF RECORD AS 'MODULE_PATHNAME' -LANGUAGE c IMMUTABLE STRICT; - - --- COMMENTS +LANGUAGE C VOLATILE STRICT; -COMMENT ON FUNCTION _pgr_turnRestrictedPath(TEXT, TEXT, BIGINT, BIGINT, INTEGER, BOOLEAN, BOOLEAN, BOOLEAN, BOOLEAN) +COMMENT ON FUNCTION _pgr_turnRestrictedPath_v4(TEXT, TEXT, ANYARRAY, ANYARRAY, INTEGER, BOOLEAN, BOOLEAN, BOOLEAN, BOOLEAN) IS 'pgRouting internal function'; diff --git a/sql/ksp/turnRestrictedPath.sql b/sql/ksp/turnRestrictedPath.sql index d479f6cb4ee..072df88a89d 100644 --- a/sql/ksp/turnRestrictedPath.sql +++ b/sql/ksp/turnRestrictedPath.sql @@ -1,13 +1,11 @@ /*PGR-GNU***************************************************************** File: turnRestrictedPath.sql -Generated with Template by: Copyright (c) 2015 pgRouting developers Mail: project@pgrouting.org -Function's developer: -Copyright (c) 2017 Vidhan Jain -Mail: vidhanj1307@gmail.com +Copyright (c) 2015 Celia Virginia Vergara Castillo +vicky at erosion.dev ------ @@ -27,52 +25,56 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ ---v3.0 +-- ONE to ONE +--v4.0 CREATE FUNCTION pgr_turnRestrictedPath( - TEXT, -- edges_sql (required) - TEXT, -- restrictions_sql (required) - BIGINT, -- start_vertex (required) - BIGINT, -- end_vertex (required) - INTEGER,-- K cycles (required) + TEXT, -- edges_sql (required) + TEXT, -- restrictions_sql (required) + BIGINT, -- start_vertex (required) + BIGINT, -- end_vertex (required) + INTEGER,-- K cycles (required) - directed BOOLEAN DEFAULT true, - heap_paths BOOLEAN DEFAULT false, - stop_on_first BOOLEAN DEFAULT true, - strict BOOLEAN DEFAULT false, + directed BOOLEAN DEFAULT true, + heap_paths BOOLEAN DEFAULT false, + stop_on_first BOOLEAN DEFAULT true, + strict BOOLEAN DEFAULT false, - OUT seq INTEGER, - OUT path_id INTEGER, - OUT path_seq INTEGER, - OUT node BIGINT, - OUT edge BIGINT, - OUT cost FLOAT, - OUT agg_cost FLOAT) + OUT seq INTEGER, + OUT path_id INTEGER, + OUT path_seq INTEGER, + OUT start_vid BIGINT, + OUT end_vid BIGINT, + OUT node BIGINT, + OUT edge BIGINT, + OUT cost FLOAT, + OUT agg_cost FLOAT) RETURNS SETOF RECORD AS $BODY$ - SELECT seq, path_id, path_seq, node, edge, cost, agg_cost - FROM _pgr_turnRestrictedPath(_pgr_get_statement($1), _pgr_get_statement($2), $3, $4, $5, $6, $7, $8, $9); + SELECT seq, path_id, path_seq, start_vid, end_vid, node, edge, cost, agg_cost + FROM _pgr_turnRestrictedPath_v4( + _pgr_get_statement($1), + _pgr_get_statement($2), + ARRAY[$3]::BIGINT[], ARRAY[$4]::BIGINT[], + $5, directed, heap_paths, stop_on_first, strict); $BODY$ LANGUAGE SQL VOLATILE STRICT COST 100 ROWS 1000; - --- COMMENTS - COMMENT ON FUNCTION pgr_turnRestrictedPath(TEXT, TEXT, BIGINT, BIGINT, INTEGER, BOOLEAN, BOOLEAN, BOOLEAN, BOOLEAN) IS 'pgr_turnRestrictedPath - EXPERIMENTAL - Parameters: - - Edges SQL with columns: id, source, target, cost [,reverse_cost] - - Restrictions SQL with columns: id, cost, path - - From vertex identifier - - To vertex identifier - - K + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - Restrictions SQL with columns: id, cost, path + - From vertex identifier + - To vertex identifier + - K - Optional Parameters - - directed := true - - heap paths := false - - stop on first := true - - strict := false + - directed := true + - heap_paths := false + - stop_on_first := true + - strict := false - Documentation: - ${PROJECT_DOC_LINK}/pgr_turnRestrictedPath.html '; diff --git a/sql/max_flow/edgeDisjointPaths.sql b/sql/max_flow/edgeDisjointPaths.sql index acdc67f593e..6f19a9da5bd 100644 --- a/sql/max_flow/edgeDisjointPaths.sql +++ b/sql/max_flow/edgeDisjointPaths.sql @@ -1,11 +1,11 @@ /*PGR-GNU***************************************************************** -FILE: edgeDisjointPaths.sql +File: edgeDisjointPaths.sql Copyright (c) 2015 pgRouting developers Mail: project@pgrouting.org Copyright (c) 2016 Andrea Nardelli -mail: nrd.nardelli@gmail.com +Mail: nrd.nardelli at gmail.com ------ @@ -26,7 +26,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -- ONE to ONE ---v3.0 +--v4.0 CREATE FUNCTION pgr_edgeDisjointPaths( TEXT, --edges_sql (required) BIGINT, -- From_vid (required) @@ -37,20 +37,22 @@ CREATE FUNCTION pgr_edgeDisjointPaths( OUT seq INTEGER, OUT path_id INTEGER, OUT path_seq INTEGER, + OUT start_vid BIGINT, + OUT end_vid BIGINT, OUT node BIGINT, OUT edge BIGINT, OUT cost FLOAT, OUT agg_cost FLOAT) - RETURNS SEtoF RECORD AS - $BODY$ - SELECT seq, path_id, path_seq, node, edge, cost, agg_cost - From _pgr_edgeDisjointPaths(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], ARRAY[$3]::BIGINT[], $4); - $BODY$ +RETURNS SETOF RECORD AS +$BODY$ + SELECT seq, path_id, path_seq, start_vid, end_vid, node, edge, cost, agg_cost + FROM _pgr_edgeDisjointPaths(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], ARRAY[$3]::BIGINT[], $4); +$BODY$ LANGUAGE SQL VOLATILE STRICT; -- ONE to MANY ---v3.0 +--v4.0 CREATE FUNCTION pgr_edgeDisjointPaths( TEXT, --edges_sql (required) BIGINT, -- From_vid (required) @@ -61,22 +63,22 @@ CREATE FUNCTION pgr_edgeDisjointPaths( OUT seq INTEGER, OUT path_id INTEGER, OUT path_seq INTEGER, + OUT start_vid BIGINT, OUT end_vid BIGINT, OUT node BIGINT, OUT edge BIGINT, OUT cost FLOAT, - OUT agg_cost FLOAT - ) - RETURNS SEtoF RECORD AS - $BODY$ - SELECT seq, path_id, path_seq, end_vid, node, edge, cost, agg_cost + OUT agg_cost FLOAT) +RETURNS SETOF RECORD AS +$BODY$ + SELECT seq, path_id, path_seq, start_vid, end_vid, node, edge, cost, agg_cost FROM _pgr_edgeDisjointPaths(_pgr_get_statement($1), ARRAY[$2]::BIGINT[], $3::BIGINT[], $4); - $BODY$ +$BODY$ LANGUAGE SQL VOLATILE STRICT; -- MANY to ONE ---v3.0 +--v4.0 CREATE FUNCTION pgr_edgeDisjointPaths( TEXT, --edges_sql (required) ANYARRAY, -- From_vids (required) @@ -88,16 +90,16 @@ CREATE FUNCTION pgr_edgeDisjointPaths( OUT path_id INTEGER, OUT path_seq INTEGER, OUT start_vid BIGINT, + OUT end_vid BIGINT, OUT node BIGINT, OUT edge BIGINT, OUT cost FLOAT, - OUT agg_cost FLOAT - ) - RETURNS SEtoF RECORD AS - $BODY$ - SELECT seq, path_id, path_seq, start_vid, node, edge, cost, agg_cost + OUT agg_cost FLOAT) +RETURNS SETOF RECORD AS +$BODY$ + SELECT seq, path_id, path_seq, end_vid, start_vid, node, edge, cost, agg_cost FROM _pgr_edgeDisjointPaths(_pgr_get_statement($1), $2::BIGINT[], ARRAY[$3]::BIGINT[], $4); - $BODY$ +$BODY$ LANGUAGE SQL VOLATILE STRICT; @@ -119,11 +121,11 @@ CREATE FUNCTION pgr_edgeDisjointPaths( OUT edge BIGINT, OUT cost FLOAT, OUT agg_cost FLOAT) - RETURNS SEtoF RECORD AS - $BODY$ - SELECT seq, path_id, path_seq, start_vid, end_vid, node, edge, cost, agg_cost +RETURNS SETOF RECORD AS +$BODY$ + SELECT seq, path_id, path_seq, start_vid, end_vid, node, edge, cost, agg_cost FROM _pgr_edgeDisjointPaths(_pgr_get_statement($1), $2::BIGINT[], $3::BIGINT[], $4); - $BODY$ +$BODY$ LANGUAGE SQL VOLATILE STRICT; @@ -144,73 +146,71 @@ CREATE FUNCTION pgr_edgeDisjointPaths( OUT edge BIGINT, OUT cost FLOAT, OUT agg_cost FLOAT) - RETURNS SEtoF RECORD AS - $BODY$ +RETURNS SETOF RECORD AS +$BODY$ SELECT seq, path_id, path_seq, start_vid, end_vid, node, edge, cost, agg_cost FROM _pgr_edgeDisjointPaths(_pgr_get_statement($1), _pgr_get_statement($2), $3) - $BODY$ +$BODY$ LANGUAGE SQL VOLATILE STRICT; --- COMMENTS - COMMENT ON FUNCTION pgr_edgeDisjointPaths(TEXT, BIGINT, BIGINT, BOOLEAN) IS 'pgr_edgeDisjointPaths(One to One) - Parameters: - Edges SQL with columns: id, source, target, cost [,reverse_cost] - From vertex identifier - - to vertex identifier + - To vertex identifier - Optional Parameters - - directed := true + - directed := true - Documentation: - - ${PROJECT_DOC_LINK}/pgr_edgeDisjointPaths.html + - ${PROJECT_DOC_LINK}/pgr_edgeDisjointPaths.html '; COMMENT ON FUNCTION pgr_edgeDisjointPaths(TEXT, BIGINT, ANYARRAY, BOOLEAN) IS 'pgr_edgeDisjointPaths(One to Many) - - Parameters: - - dges SQL with columns: id, source, target, cost [,reverse_cost] - - From vertex identifier - - to ARRAY[vertices identifiers] +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - From vertex identifier + - To ARRAY[vertices identifiers] - Optional Parameters - - directed := true + - directed := true - Documentation: - - ${PROJECT_DOC_LINK}/pgr_edgeDisjointPaths.html + - ${PROJECT_DOC_LINK}/pgr_edgeDisjointPaths.html '; COMMENT ON FUNCTION pgr_edgeDisjointPaths(TEXT, ANYARRAY, BIGINT, BOOLEAN) IS 'pgr_edgeDisjointPaths(Many to One) - - Parameters: - - edges SQL with columns: id, source, target, cost [,reverse_cost] - - From ARRAY[vertices identifiers] - - to vertex identifier +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - From ARRAY[vertices identifiers] + - To vertex identifier - Optional Parameters - - directed := true + - directed := true - Documentation: - - ${PROJECT_DOC_LINK}/pgr_edgeDisjointPaths.html + - ${PROJECT_DOC_LINK}/pgr_edgeDisjointPaths.html '; COMMENT ON FUNCTION pgr_edgeDisjointPaths(TEXT, ANYARRAY, ANYARRAY, BOOLEAN) IS 'pgr_edgeDisjointPaths(Many to Many) - - Parameters: - - edges SQL with columns: id, source, target, cost [,reverse_cost] - - From ARRAY[vertices identifiers] - - to ARRAY[vertices identifiers] +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - From ARRAY[vertices identifiers] + - To ARRAY[vertices identifiers] - Optional Parameters - - directed := true + - directed := true - Documentation: - - ${PROJECT_DOC_LINK}/pgr_edgeDisjointPaths.html + - ${PROJECT_DOC_LINK}/pgr_edgeDisjointPaths.html '; COMMENT ON FUNCTION pgr_edgeDisjointPaths(TEXT, TEXT, BOOLEAN) IS 'pgr_edgeDisjointPaths(Combinations) - - Parameters: - - Edges SQL with columns: id, source, target, cost [,reverse_cost] - - Combinations SQL with columns: source, target +- Parameters: + - Edges SQL with columns: id, source, target, cost [,reverse_cost] + - Combinations SQL with columns: source, target - Optional Parameters - - directed := true + - directed := true - Documentation: - - ${PROJECT_DOC_LINK}/pgr_edgeDisjointPaths.html + - ${PROJECT_DOC_LINK}/pgr_edgeDisjointPaths.html '; diff --git a/sql/scripts/build-extension-update-files.pl b/sql/scripts/build-extension-update-files.pl index 7361699e820..56c7e6cfe9c 100755 --- a/sql/scripts/build-extension-update-files.pl +++ b/sql/scripts/build-extension-update-files.pl @@ -293,6 +293,8 @@ sub generate_upgrade_script { # Row type defined by OUT parameters is different. # Out parameters changed names on v4.0.0 + push @commands, drop_special_case_function("pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean)"); + push @commands, drop_special_case_function("pgr_bellmanford(text,bigint,bigint,boolean)"); push @commands, drop_special_case_function("pgr_bellmanford(text,anyarray,bigint,boolean)"); push @commands, drop_special_case_function("pgr_bellmanford(text,bigint,anyarray,boolean)"); @@ -307,6 +309,10 @@ sub generate_upgrade_script { push @commands, drop_special_case_function("pgr_dagshortestpath(text,anyarray,bigint)"); push @commands, drop_special_case_function("pgr_dagshortestpath(text,anyarray,anyarray)"); + push @commands, drop_special_case_function("pgr_edgedisjointpaths(text,bigint,bigint,boolean)"); + push @commands, drop_special_case_function("pgr_edgedisjointpaths(text,anyarray,bigint,boolean)"); + push @commands, drop_special_case_function("pgr_edgedisjointpaths(text,bigint,anyarray,boolean)"); + push @commands, drop_special_case_function("pgr_edwardmoore(text,bigint,bigint,boolean)"); push @commands, drop_special_case_function("pgr_edwardmoore(text,anyarray,bigint,boolean)"); push @commands, drop_special_case_function("pgr_edwardmoore(text,bigint,anyarray,boolean)"); diff --git a/sql/sigs/pgrouting--4.0.sig b/sql/sigs/pgrouting--4.0.sig index 6df9fbfb4dd..4169adc6097 100644 --- a/sql/sigs/pgrouting--4.0.sig +++ b/sql/sigs/pgrouting--4.0.sig @@ -265,8 +265,8 @@ pgr_tspeuclidean(text,bigint,bigint) _pgr_tspeuclidean_v4(text,bigint,bigint) pgr_tsp(text,bigint,bigint) _pgr_tsp_v4(text,bigint,bigint) -_pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) pgr_turnrestrictedpath(text,text,bigint,bigint,integer,boolean,boolean,boolean,boolean) +_pgr_turnrestrictedpath_v4(text,text,anyarray,anyarray,integer,boolean,boolean,boolean,boolean) pgr_version() _pgr_vrponedepot(text,text,text,integer) pgr_vrponedepot(text,text,text,integer) diff --git a/src/ksp/turnRestrictedPath.c b/src/ksp/turnRestrictedPath.c index e0de7adbf86..6082ba25453 100644 --- a/src/ksp/turnRestrictedPath.c +++ b/src/ksp/turnRestrictedPath.c @@ -7,7 +7,7 @@ Mail: project@pgrouting.org Function's developer: Copyright (c) 2018 vicky Vergara -Mail: vicky@georepublic.de +Mail: vicky at erosion.dev ------ @@ -27,31 +27,26 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ********************************************************************PGR-GNU*/ -/** @file turnRestrictedPath.c */ - #include #include "c_common/postgres_connection.h" - #include "c_types/path_rt.h" -#include "c_common/debug_macro.h" -#include "c_common/e_report.h" #include "c_common/time_msg.h" - - +#include "c_common/e_report.h" #include "drivers/yen/turnRestrictedPath_driver.h" -PGDLLEXPORT Datum _pgr_turnrestrictedpath(PG_FUNCTION_ARGS); -PG_FUNCTION_INFO_V1(_pgr_turnrestrictedpath); +PGDLLEXPORT Datum _pgr_turnrestrictedpath_v4(PG_FUNCTION_ARGS); +PG_FUNCTION_INFO_V1(_pgr_turnrestrictedpath_v4); static void process( char* edges_sql, - char *restrictions_sql, - int64_t start_vid, - int64_t end_vid, + char* restrictions_sql, + char* combinations_sql, + ArrayType *starts, + ArrayType *ends, int p_k, bool directed, @@ -59,23 +54,17 @@ process( bool stop_on_first, bool strict, - Path_rt **path, + Path_rt **result_tuples, size_t *result_count) { - (*path) = NULL; + (*result_tuples) = NULL; (*result_count) = 0; if (p_k < 0) { - return; - } - - size_t k = (size_t)p_k; - - if (start_vid == end_vid) { - PGR_DBG("Source and target are the same"); - return; + pgr_throw_error("Invalid value of 'K'", "Valid value are greater than 0"); } pgr_SPI_connect(); + char* log_msg = NULL; char* notice_msg = NULL; char* err_msg = NULL; @@ -84,37 +73,39 @@ process( pgr_do_turnRestrictedPath( edges_sql, restrictions_sql, + combinations_sql, + starts, ends, + (size_t) p_k, - start_vid, - end_vid, - k, directed, heap_paths, stop_on_first, strict, - path, + result_tuples, result_count, &log_msg, ¬ice_msg, &err_msg); - time_msg(" processing pgr_turnRestrictedPath", start_t, clock()); - if (err_msg) { - if (*path) pfree(*path); + if (err_msg && (*result_tuples)) { + pfree(*result_tuples); + (*result_tuples) = NULL; + (*result_count) = 0; } + pgr_global_report(&log_msg, ¬ice_msg, &err_msg); pgr_SPI_finish(); } PGDLLEXPORT Datum -_pgr_turnrestrictedpath(PG_FUNCTION_ARGS) { +_pgr_turnrestrictedpath_v4(PG_FUNCTION_ARGS) { FuncCallContext *funcctx; - TupleDesc tuple_desc; + TupleDesc tuple_desc; - Path_rt *path = NULL; + Path_rt *result_tuples = 0; size_t result_count = 0; if (SRF_IS_FIRSTCALL()) { @@ -122,24 +113,23 @@ _pgr_turnrestrictedpath(PG_FUNCTION_ARGS) { funcctx = SRF_FIRSTCALL_INIT(); oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - - PGR_DBG("Calling process"); process( text_to_cstring(PG_GETARG_TEXT_P(0)), text_to_cstring(PG_GETARG_TEXT_P(1)), - PG_GETARG_INT64(2), - PG_GETARG_INT64(3), + NULL, + PG_GETARG_ARRAYTYPE_P(2), + PG_GETARG_ARRAYTYPE_P(3), PG_GETARG_INT32(4), PG_GETARG_BOOL(5), PG_GETARG_BOOL(6), PG_GETARG_BOOL(7), PG_GETARG_BOOL(8), - &path, + &result_tuples, &result_count); funcctx->max_calls = result_count; - funcctx->user_fctx = path; + funcctx->user_fctx = result_tuples; if (get_call_result_type(fcinfo, NULL, &tuple_desc) != TYPEFUNC_COMPOSITE) { ereport(ERROR, @@ -154,7 +144,7 @@ _pgr_turnrestrictedpath(PG_FUNCTION_ARGS) { funcctx = SRF_PERCALL_SETUP(); tuple_desc = funcctx->tuple_desc; - path = (Path_rt*) funcctx->user_fctx; + result_tuples = (Path_rt*) funcctx->user_fctx; if (funcctx->call_cntr < funcctx->max_calls) { HeapTuple tuple; @@ -162,28 +152,39 @@ _pgr_turnrestrictedpath(PG_FUNCTION_ARGS) { Datum *values; bool* nulls; - size_t v_count = 7; - - values = palloc(v_count * sizeof(Datum)); - nulls = palloc(v_count * sizeof(bool)); - + size_t n = 9; + values = palloc(n * sizeof(Datum)); + nulls = palloc(n * sizeof(bool)); size_t i; - for (i = 0; i < v_count; ++i) { + for (i = 0; i < n; ++i) { nulls[i] = false; } - int64_t seq = funcctx->call_cntr == 0? 1 : path[funcctx->call_cntr - 1].start_id; + Path_rt data = result_tuples[funcctx->call_cntr]; + + int64_t path_id = 1; + if (funcctx->call_cntr != 0) { + if (result_tuples[funcctx->call_cntr - 1].edge == -1) { + path_id = result_tuples[funcctx->call_cntr - 1].start_id + 1; + } else { + path_id = result_tuples[funcctx->call_cntr - 1].start_id; + } + } + int64_t seq = funcctx->call_cntr == 0? 1 : result_tuples[funcctx->call_cntr - 1].end_id; values[0] = Int32GetDatum((int32_t)funcctx->call_cntr + 1); - values[1] = Int32GetDatum((int32_t)path[funcctx->call_cntr].start_id + 1); + values[1] = Int32GetDatum((int32_t)path_id); values[2] = Int32GetDatum((int32_t)seq); - values[3] = Int64GetDatum(path[funcctx->call_cntr].node); - values[4] = Int64GetDatum(path[funcctx->call_cntr].edge); - values[5] = Float8GetDatum(path[funcctx->call_cntr].cost); - values[6] = Float8GetDatum(path[funcctx->call_cntr].agg_cost); - - path[funcctx->call_cntr].start_id = path[funcctx->call_cntr].edge < 0? 1 : seq + 1; + values[3] = Int64GetDatum(data.start_id); + values[4] = Int64GetDatum(data.end_id); + values[5] = Int64GetDatum(data.node); + values[6] = Int64GetDatum(data.edge); + values[7] = Float8GetDatum(data.cost); + values[8] = Float8GetDatum(data.agg_cost); + + result_tuples[funcctx->call_cntr].start_id = path_id; + result_tuples[funcctx->call_cntr].end_id = data.edge < 0? 1 : seq + 1; tuple = heap_form_tuple(tuple_desc, values, nulls); result = HeapTupleGetDatum(tuple); diff --git a/src/ksp/turnRestrictedPath_driver.cpp b/src/ksp/turnRestrictedPath_driver.cpp index a63cef2329c..bfaa53c29b8 100644 --- a/src/ksp/turnRestrictedPath_driver.cpp +++ b/src/ksp/turnRestrictedPath_driver.cpp @@ -6,8 +6,8 @@ Copyright (c) 2015 pgRouting developers Mail: project@pgrouting.org Function's developer: -Copyright (c) 2017 Vidhan Jain -Mail: vidhanj1307@gmail.com +Copyright (c) 2015 Celia Virginia Vergara Castillo +Mail: vicky at erosion.dev ------ @@ -35,16 +35,14 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. #include #include "cpp_common/pgdata_getters.hpp" -#include "cpp_common/alloc.hpp" -#include "cpp_common/assert.hpp" - #include "cpp_common/rule.hpp" - -#include "cpp_common/basePath_SSEC.hpp" +#include "cpp_common/assert.hpp" +#include "cpp_common/alloc.hpp" +#include "cpp_common/combinations.hpp" #include "cpp_common/restriction_t.hpp" +#include "cpp_common/basePath_SSEC.hpp" #include "yen/turnRestrictedPath.hpp" - namespace { template < class G > @@ -81,9 +79,9 @@ void pgr_do_turnRestrictedPath( const char *edges_sql, const char *restrictions_sql, - - int64_t start_vid, - int64_t end_vid, + const char *combinations_sql, + ArrayType *starts, + ArrayType *ends, size_t k, bool directed, @@ -93,7 +91,6 @@ pgr_do_turnRestrictedPath( Path_rt **return_tuples, size_t *return_count, - char ** log_msg, char ** notice_msg, char ** err_msg) { @@ -101,6 +98,7 @@ pgr_do_turnRestrictedPath( using pgrouting::pgr_alloc; using pgrouting::to_pg_msg; using pgrouting::pgr_free; + using pgrouting::utilities::get_combinations; using pgrouting::yen::Pgr_turnRestrictedPath; using pgrouting::trsp::Rule; using pgrouting::pgget::get_restrictions; @@ -110,6 +108,7 @@ pgr_do_turnRestrictedPath( std::ostringstream err; std::ostringstream notice; const char *hint = nullptr; + try { pgassert(!(*log_msg)); pgassert(!(*notice_msg)); @@ -119,6 +118,16 @@ pgr_do_turnRestrictedPath( + hint = combinations_sql; + auto combinations = get_combinations(combinations_sql, starts, ends, true); + hint = nullptr; + + if (combinations.empty() && combinations_sql) { + *notice_msg = to_pg_msg("No (source, target) pairs found"); + *log_msg = to_pg_msg(combinations_sql); + return; + } + hint = edges_sql; auto edges = get_edges(std::string(edges_sql), true, false); @@ -141,7 +150,6 @@ pgr_do_turnRestrictedPath( } std::deque paths; - std::string logstr; if (directed) { log << "Working with directed Graph\n"; @@ -152,8 +160,8 @@ pgr_do_turnRestrictedPath( paths = pgr_dijkstraTR(digraph, ruleList, - start_vid, - end_vid, + combinations.begin()->first, + *(combinations.begin()->second.begin()), logstr, k, @@ -168,8 +176,8 @@ pgr_do_turnRestrictedPath( paths = pgr_dijkstraTR(undigraph, ruleList, - start_vid, - end_vid, + combinations.begin()->first, + *(combinations.begin()->second.begin()), logstr, diff --git a/src/legacy/legacy.c b/src/legacy/legacy.c index 50308791aad..42232f9e322 100644 --- a/src/legacy/legacy.c +++ b/src/legacy/legacy.c @@ -56,3 +56,4 @@ PGROUTING_DEPRECATE("4.0.0", _v4trsp) PGROUTING_DEPRECATE("4.0.0", _trsp) PGROUTING_DEPRECATE("4.0.0", _pgr_alphashape) PGROUTING_DEPRECATE("4.0.0", _pgr_dagshortestpath) +PGROUTING_DEPRECATE("4.0.0", _pgr_turnrestrictedpath)